Syllabus

Title
1003 Dynamic Programming Techniques
Instructors
Assoz.Prof PD Dr. Stefan Sobernig
Contact details
Type
PI
Weekly hours
2
Language of instruction
Englisch
Registration
08/31/18 to 10/01/18
Registration via LPIS
Notes to the course
This class is only offered in winter semesters.
Dates
Day Date Time Room
Tuesday 10/02/18 09:00 AM - 01:00 PM D2.0.025 Workstation-Raum
Tuesday 10/09/18 09:00 AM - 01:00 PM D2.0.025 Workstation-Raum
Tuesday 10/16/18 02:00 PM - 06:00 PM D2.0.025 Workstation-Raum
Tuesday 10/30/18 02:00 PM - 04:00 PM D2.0.025 Workstation-Raum
Tuesday 11/13/18 04:00 PM - 06:00 PM D2.0.025 Workstation-Raum
Tuesday 11/20/18 09:00 AM - 01:00 PM D2.0.025 Workstation-Raum
Tuesday 11/27/18 02:00 PM - 06:00 PM D2.0.025 Workstation-Raum
Tuesday 12/04/18 02:00 PM - 06:00 PM D2.0.025 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: 2018-06-22



Back