Syllabus

Title
0936 Dynamic Programming Techniques
Instructors
Assoz.Prof PD Dr. Stefan Sobernig
Contact details
Type
PI
Weekly hours
2
Language of instruction
Englisch
Registration
09/02/19 to 09/27/19
Registration via LPIS
Notes to the course
This class is only offered in winter semesters.
Dates
Day Date Time Room
Tuesday 10/01/19 09:00 AM - 01:00 PM D2.0.025 Workstation-Raum
Tuesday 10/08/19 09:00 AM - 01:00 PM D2.0.031 Workstation-Raum
Tuesday 10/15/19 02:00 PM - 06:00 PM D2.0.025 Workstation-Raum
Tuesday 10/29/19 02:00 PM - 04:00 PM D2.0.025 Workstation-Raum
Tuesday 11/12/19 02:00 PM - 04:00 PM D2.0.025 Workstation-Raum
Tuesday 11/19/19 10:00 AM - 02:00 PM D2.0.025 Workstation-Raum
Tuesday 11/26/19 02:00 PM - 06:00 PM D2.0.025 Workstation-Raum
Tuesday 12/10/19 01:30 PM - 03:30 PM D2.0.031 Workstation-Raum
Contents
  • Introduction to principles of software architecting (coupling, cohesion, interface abstraction)
  • Recap: Object-oriented designing and programming
  • Object-oriented programming in dynamic and scripting languages 
  • From object-oriented to feature-oriented programming
  • Designing and implementing embedded domain-specific languages (DSLs)
  • Implementing software patterns, in particular OO design patterns
Learning outcomes

Completing the course enables students to ...

  • ... describe the software architecture (as realised by an object-oriented programming) according to important architectural principles (coupling, cohesion). 
  • ... identify and discuss object-oriented programming techniques (e.g., forms of inheritance) independent from a concrete programming language.
  • ... describe types of variation in an object-oriented program. 
  • ... evaluate and select implementation techniques to implement variation in an object-oriented program. 
  • ... to apply these concepts exemplarily in four programming languages (JavaScript, Ruby, Python, and NX).
Attendance requirements

Attendance in class is mandatory

Teaching/learning method(s)
  • Topic lectures given by course instructor
  • Programming exercises during course sessions 
  • Programming assignments
Assessment
  • Programming assignment: 40 credits
  • Classroom participation, laboratory exercises: 10 credits
  • Final written exam: 50 credits
  • A positive grading requires a student to obtain more than 50% of the total credits (more than 50.5 credits).
Prerequisites for participation and waiting lists
  • Proficiency in the topics delivered by the CBK course on "Information Systems Development" (ISDev)
  • Applying UML: Students must be capable of creating and reading UML class and sequence diagrams.
  • Sufficient knowledge of at least one object-oriented programming language (e.g., Java)
  • Note: None of these topics will be covered in the course, they are considered pure prerequisites.
Last edited: 2020-01-23



Back