The goal of this lecture is to teach you fundamental software design principles that will foster your understanding of the intricacy when designing and developing software. It will help you to become a better software engineer.
After successfully completing this lecture you should be able to develop software that is well designed and which uses (advanced) programming language features to support the design.
The exam will take 90 minutes and will be an open book exam; i.e., you are allowed to use any written material, but no electronic devices.
To get an idea how an exam could look like take a look at this Old Exam. Please note, that we are currently moving the whole lecture towards Scala and, therefore, this year's exam may have a stronger Scala focus. Furthermore, material that was included in the old exam, but which is not taught as part of this year's lecture will not be part of the exam.
We will have one exercise per week (starting with the second week) and doing the exercises is highly recommended. The exercises are considered to be an essential part of this lecture and will help you to foster your understanding of software design (principles).
The programming languages that are used for the exercises and for the lecture is Java 7 and Scala 2.10 (http://www.scala-lang.org).
The content of the exercise is relevant for the final exam.
The exercises are organized by Sven Amann and Dr. Ingo Maier and are supported by tutors.
By successfully completing the exercise, you can get a maximum bonus that is equal to one full grade. You need to get at least 30% of all possible exercise points to get some bonus. I.e., just completing one exercise is not sufficient. To get the full bonus, you just need to get at least 90% of all possible exercise points. The maximum bonus is equivalent to one full grade.
The bonus cannot be used to pass the exam.
This bonus system complies with the regulations defined in the "4. Novelle der APB §25(2) vom 2.10.2012".