185.A01 Object-oriented Programming Techniques
This course is in all assigned curricula part of the STEOP.
This course is in at least 1 assigned curriculum part of the STEOP.

2022W, VU, 2.0h, 3.0EC, to be held in blocked form


  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VU Lecture and Exercise
  • LectureTube course
  • Format: Hybrid

Learning outcomes

After successful completion of the course, students are able to

  • describe programming language concepts for modularization, substitutability, code reuse, paramtrization, concurrency as well as the static and dynamic usage of types,
  • cooperate in small teams to efficiently apply these programming language concepts,
  • cooperate in small teams to translate incompletely specified programming tasks into executable programs showing typical attributes of an object-oriented programming style,
  • critically assess programs developed by the own small team based on given criteria,
  • describe selected software design patterns using technical terminology.

Subject of course

  • overview of the object-oriented programming paradigm and typical concepts of object-oriented programmine languages
  • programming language concepts for modularity, substitutability, reuse, parameterization (including genericity), overloading, concurrency, and the static and dynamic use of types
  • techniques for the productive use of these concepts in an object-oriented style
  • some software design patterns

Teaching methods

  • lectures (in presence, as stream or as videos) to get an overview of the topics
  • autonomously work the topics out using the script and other sources
  • topic-oriented online question times to get questions answered
  • solve incompletely specified programming tasks in small teams to practice applications of specific language concepts and techniques in cooperation and to develop an own object-oriented programming style
  • solve a task aiming at a critical assessment of own program code based on given criteria
  • solve the first three tasks together with a tutor if needed to get tailored support
  • receive feedback to the solutions of tasks
  • take part in an interview meeting (in presence if possible, online if necessary) to reflect on the work-sharing within the team (important for assessment)
  • take an oral exam (in presence if possible, online if necessary)

Mode of examination


Additional information

Didactic Concept

Weekly lectures and corresponding online question times set the pace of working out the subject matter. Almost weekly programming tasks have to be solved in small teams (3 team members). To achieve the goals it is important that students find their own individual approaches; the way to the solution is more important than the solution itself.

ECTS Breakdown

(3 ECTS is 75 hours)

  • 49.7 h - Working on 9 programming assignments
  • 00.3 h - Discussion of programming assignments (interview)
  • 10.5 h - Lectures
  • 14.3 h - Working out the topics, question times, preparation for exam
  • 00.2 h - Oral exam


You have to register for the course and one of the many groups named oopXn, where X determines the mentoring tutor and n is a consecutive number.


The course is given in German. The German version of this page contains more detailed infomation than the English one. Please press the "Deutsch" button.



Course dates

Mon15:00 - 16:0003.10.2022 - 16.01.2023Informatikhörsaal - ARCH-INF Lecture
Thu14:00 - 15:0006.10.2022 - 12.01.2023 Zoom (acess through TUWEL) (LIVE)Themenspezifische Fragestunde
Mon15:00 - 16:0019.12.2022 Zoom (Access through TUWEL) (LIVE)Lecture via Zoon
Object-oriented Programming Techniques - Single appointments
Mon03.10.202215:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu06.10.202214:00 - 15:00 Zoom (acess through TUWEL)Themenspezifische Fragestunde
Mon10.10.202215:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu13.10.202214:00 - 15:00 Zoom (acess through TUWEL)Themenspezifische Fragestunde
Mon17.10.202215:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu20.10.202214:00 - 15:00 Zoom (acess through TUWEL)Themenspezifische Fragestunde
Mon24.10.202215:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu27.10.202214:00 - 15:00 Zoom (acess through TUWEL)Themenspezifische Fragestunde
Mon31.10.202215:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu03.11.202214:00 - 15:00 Zoom (acess through TUWEL)Themenspezifische Fragestunde
Mon07.11.202215:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu10.11.202214:00 - 15:00 Zoom (acess through TUWEL)Themenspezifische Fragestunde
Mon14.11.202215:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu17.11.202214:00 - 15:00 Zoom (acess through TUWEL)Themenspezifische Fragestunde
Mon21.11.202215:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu24.11.202214:00 - 15:00 Zoom (acess through TUWEL)Themenspezifische Fragestunde
Mon28.11.202215:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Thu01.12.202214:00 - 15:00 Zoom (acess through TUWEL)Themenspezifische Fragestunde
Mon05.12.202215:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Mon12.12.202215:00 - 16:00Informatikhörsaal - ARCH-INF Lecture
Course is held blocked

Examination modalities

The grade depends (one half each) on the achievements when solving programming tasks in a team (this is the exercise part) and the result of an oral exam (this is the lecture part). To get a positive grade for this course it is necessary to get positive grades for both, the exercise part and the lecture part. It is recommended to take the oral exam soon after finishing the exercise part. Exams must be positively taken until June, otherwise a negative certificate will be issued. A negative certificate will also be issued if the lecture part or two trials to take the exam result in a negative grade.

A negative exam can be retried at most once within the given time frame (until June) before a certificate is issued.

Grade of the exercise part

Teams get e-mails with feedback on the quality of their solutions of programming tasks about one or two weeks after the deadlines. However, such feedback is not a final assessment of a programming task. The grade of the exercise part is determined at an interview meeting in January. Beside the quality of work delivered by the team the grade also considers efforts and achievements as an individual team member. To find out the performance as a team member it is necessary to show the understanding of own solutions and justify own decisions during the interview.

A point system is used to assess solutions of programming tasks. To assess the entrance phase (constisting of the first three programming tasks) tutors suggest between 0 and 100 points depending on timeliness, completeness and correctness (especially for  reactions on requests to eliminate specific problems in the program code). For each of the remaining six tasks the supervisors award up to 100 points depending on the quality (based on quality criteria specified in the tasks). However, if students need additional time to solve a task and supervisors agree to extend the deadline by one week (Fristerstreckung), the points are reduced to 2/3 of the points that would have been awarded otherwise. Up to 700 points can be achieved over all. They correspond to the following grades:

  • 000 - 349 points -> 5 (negative)
  • 350 - 437 points -> 4
  • 438 - 524 points -> 3
  • 525 - 612 points -> 2
  • 613 - 700 points -> 1

As described above, these points and grades are only preliminary until the interview meeting and can be changed during the interview meeting.


A registration for an exam has to occur at least 14 days before in TISS. It is possible to unregister until the exam starts. Exams are oral exams in presence if general rules allow us to take exams in this form. If oral exams in presence are not possible, we use BigBlueButton or Zoom for online exams under the following conditions:

  • Access data for online exams (links) can be found in TUWEL. You need a computer (e.g., laptop) with microphone and video cam. Please take care that your browser (for Zoom only Chrome) or the Zoom app have the right to access microphone and cam. Enter the meeting at the time the exam is scheduled for.
  • Use a room for the online exam where you are undisturbed. Close to your working place there can only be objects that are allowed to be in front of you also in usual oral exams (e.g., ID card, white paper, pen, water glas) as well as technical equipment used for the exam, but nothing else (especially no cell phone and text book). Further away from you there can be anything. However, there must not be other persons in the room.
  • If you want to invite another person as a witness to the online exam, you can give your access data for the meeting to them. This person shall enter the session at about the same time as you. Please inform the lecturer at the begin of the exam about the invitation of a witness in order to ensure that nobody enters the session during the exam. Examinee and lecturer can each invite at most one witness to avoid unnecessary complexity. Microphones and cams of witnesses shall be switched off.
  • At the begin of the exam you are asked to show your ID card (preferably Studierendenausweis) and your room (by moving around your cam or laptop as requested).
  • You have to answer questions. However, we have to expect that the online audio and video quality is far away from being perfect. The gesture may not be identifiable. Therefore, it may be necessary to repeat questions and answers as well as to ask additional questions. Please be prepared that the exam may last longer than expected for such reasons.
  • If a question was not understandable because of bad audio or video quality, please ask to repeat it. If the connection is lost, please enter the meeting again using the same access data as before. If that does not work, please contact the lecturer by mail. In that case the exam will be continued at a later time according to new arrangements.
  • There are no recordings of video or audio. If you want to record the exam, it is necessary to have a written bilateral commitment about that in advance (by mail). Otherwise recordings are prohibited.

Course registration

Begin End Deregistration end
19.09.2022 00:00 07.10.2022 14:00 31.10.2022 23:59

Registration modalities

Please register also in a group as described above.

Group Registration

GroupRegistration FromTo
oopA119.09.2022 00:0007.10.2022 23:59
oopA219.09.2022 00:0007.10.2022 23:59
oopA319.09.2022 00:0007.10.2022 23:59
oopA419.09.2022 00:0007.10.2022 23:59
oopA519.09.2022 00:0007.10.2022 23:59
oopA619.09.2022 00:0007.10.2022 23:59
oopA719.09.2022 00:0007.10.2022 23:59
oopA819.09.2022 00:0007.10.2022 23:59
oopA919.09.2022 00:0007.10.2022 23:59
oopA1019.09.2022 00:0007.10.2022 23:59
oopA1119.09.2022 00:0007.10.2022 23:59
oopA1219.09.2022 00:0007.10.2022 23:59
oopA1319.09.2022 00:0007.10.2022 23:59
oopA1419.09.2022 00:0007.10.2022 23:59
oopA1519.09.2022 00:0007.10.2022 23:59
oopA1619.09.2022 00:0007.10.2022 23:59
oopA1719.09.2022 00:0007.10.2022 23:59
oopA1819.09.2022 00:0007.10.2022 23:59
oopA1919.09.2022 00:0007.10.2022 23:59
oopA2019.09.2022 00:0007.10.2022 23:59
oopA2119.09.2022 00:0007.10.2022 23:59
oopA2219.09.2022 00:0007.10.2022 23:59
oopA2319.09.2022 00:0007.10.2022 23:59
oopA2419.09.2022 00:0007.10.2022 23:59
oopB119.09.2022 00:0007.10.2022 23:59
oopB219.09.2022 00:0007.10.2022 23:59
oopB319.09.2022 00:0007.10.2022 23:59
oopB419.09.2022 00:0007.10.2022 23:59
oopB519.09.2022 00:0007.10.2022 23:59
oopB619.09.2022 00:0007.10.2022 23:59
oopB719.09.2022 00:0007.10.2022 23:59
oopB819.09.2022 00:0007.10.2022 23:59
oopB919.09.2022 00:0007.10.2022 23:59
oopB1019.09.2022 00:0007.10.2022 23:59
oopB1119.09.2022 00:0007.10.2022 23:59
oopB1219.09.2022 00:0007.10.2022 23:59
oopB1319.09.2022 00:0007.10.2022 23:59
oopB1419.09.2022 00:0007.10.2022 23:59
oopB1519.09.2022 00:0007.10.2022 23:59
oopB1619.09.2022 00:0007.10.2022 23:59
oopB1719.09.2022 00:0007.10.2022 23:59
oopB1819.09.2022 00:0007.10.2022 23:59
oopB1919.09.2022 00:0007.10.2022 23:59
oopB2019.09.2022 00:0007.10.2022 23:59
oopB2119.09.2022 00:0007.10.2022 23:59
oopB2219.09.2022 00:0007.10.2022 23:59
oopB2319.09.2022 00:0007.10.2022 23:59
oopB2419.09.2022 00:0007.10.2022 23:59
oopC119.09.2022 00:0007.10.2022 23:59
oopC219.09.2022 00:0007.10.2022 23:59
oopC319.09.2022 00:0007.10.2022 23:59
oopC419.09.2022 00:0007.10.2022 23:59
oopC519.09.2022 00:0007.10.2022 23:59
oopC619.09.2022 00:0007.10.2022 23:59
oopC719.09.2022 00:0007.10.2022 23:59
oopC819.09.2022 00:0007.10.2022 23:59
oopC919.09.2022 00:0007.10.2022 23:59
oopC1019.09.2022 00:0007.10.2022 23:59
oopC1119.09.2022 00:0007.10.2022 23:59
oopC1219.09.2022 00:0007.10.2022 23:59
oopC1319.09.2022 00:0007.10.2022 23:59
oopC1419.09.2022 00:0007.10.2022 23:59
oopC1519.09.2022 00:0007.10.2022 23:59
oopC1619.09.2022 00:0007.10.2022 23:59
oopC1719.09.2022 00:0007.10.2022 23:59
oopC1819.09.2022 00:0007.10.2022 23:59
oopC1919.09.2022 00:0007.10.2022 23:59
oopC2019.09.2022 00:0007.10.2022 23:59
oopC2119.09.2022 00:0007.10.2022 23:59
oopC2219.09.2022 00:0007.10.2022 23:59
oopC2319.09.2022 00:0007.10.2022 23:59
oopC2419.09.2022 00:0007.10.2022 23:59
oopD119.09.2022 00:0007.10.2022 23:59
oopD219.09.2022 00:0007.10.2022 23:59
oopD319.09.2022 00:0007.10.2022 23:59
oopD419.09.2022 00:0007.10.2022 23:59
oopD519.09.2022 00:0007.10.2022 23:59
oopD619.09.2022 00:0007.10.2022 23:59
oopD719.09.2022 00:0007.10.2022 23:59
oopD819.09.2022 00:0007.10.2022 23:59
oopD919.09.2022 00:0007.10.2022 23:59
oopD1019.09.2022 00:0007.10.2022 23:59
oopD1119.09.2022 00:0007.10.2022 23:59
oopD1219.09.2022 00:0007.10.2022 23:59
oopD1319.09.2022 00:0007.10.2022 23:59
oopD1419.09.2022 00:0007.10.2022 23:59
oopD1519.09.2022 00:0007.10.2022 23:59
oopD1619.09.2022 00:0007.10.2022 23:59
oopD1719.09.2022 00:0007.10.2022 23:59
oopD1819.09.2022 00:0007.10.2022 23:59
oopD1919.09.2022 00:0007.10.2022 23:59
oopD2019.09.2022 00:0007.10.2022 23:59
oopD2119.09.2022 00:0007.10.2022 23:59
oopD2219.09.2022 00:0007.10.2022 23:59
oopD2319.09.2022 00:0007.10.2022 23:59
oopD2419.09.2022 00:0007.10.2022 23:59
oopE119.09.2022 00:0007.10.2022 23:59
oopE219.09.2022 00:0007.10.2022 23:59
oopE319.09.2022 00:0007.10.2022 23:59
oopE419.09.2022 00:0007.10.2022 23:59
oopE519.09.2022 00:0007.10.2022 23:59
oopE619.09.2022 00:0007.10.2022 23:59
oopE719.09.2022 00:0007.10.2022 23:59
oopE819.09.2022 00:0007.10.2022 23:59
oopE919.09.2022 00:0007.10.2022 23:59
oopE1019.09.2022 00:0007.10.2022 23:59
oopE1119.09.2022 00:0007.10.2022 23:59
oopE1219.09.2022 00:0007.10.2022 23:59
oopE1319.09.2022 00:0007.10.2022 23:59
oopE1419.09.2022 00:0007.10.2022 23:59
oopE1519.09.2022 00:0007.10.2022 23:59
oopE1619.09.2022 00:0007.10.2022 23:59
oopE1719.09.2022 00:0007.10.2022 23:59
oopE1819.09.2022 00:0007.10.2022 23:59
oopE1919.09.2022 00:0007.10.2022 23:59
oopE2019.09.2022 00:0007.10.2022 23:59
oopE2119.09.2022 00:0007.10.2022 23:59
oopE2219.09.2022 00:0007.10.2022 23:59
oopE2319.09.2022 00:0007.10.2022 23:59
oopE2419.09.2022 00:0007.10.2022 23:59
oopF119.09.2022 00:0007.10.2022 23:59
oopF219.09.2022 00:0007.10.2022 23:59
oopF319.09.2022 00:0007.10.2022 23:59
oopF419.09.2022 00:0007.10.2022 23:59
oopF519.09.2022 00:0007.10.2022 23:59
oopF619.09.2022 00:0007.10.2022 23:59
oopF719.09.2022 00:0007.10.2022 23:59
oopF819.09.2022 00:0007.10.2022 23:59
oopF919.09.2022 00:0007.10.2022 23:59
oopF1019.09.2022 00:0007.10.2022 23:59
oopF1119.09.2022 00:0007.10.2022 23:59
oopF1219.09.2022 00:0007.10.2022 23:59
oopF1319.09.2022 00:0007.10.2022 23:59
oopF1419.09.2022 00:0007.10.2022 23:59
oopF1519.09.2022 00:0007.10.2022 23:59
oopF1619.09.2022 00:0007.10.2022 23:59


Study CodeObligationSemesterPrecon.Info
033 526 Business Informatics Mandatory electiveSTEOP
Course requires the completion of the introductory and orientation phase
033 532 Media Informatics and Visual Computing Mandatory3. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 533 Medical Informatics Not specifiedSTEOP
Course requires the completion of the introductory and orientation phase
033 534 Software & Information Engineering Mandatory3. SemesterSTEOP
Course requires the completion of the introductory and orientation phase


All documents and access data will be available in TUWEL.


Previous knowledge

Before taking part in the course students are expected to be able to

  • describe systematic approaches in programming and important concepts of an up-to-date and adequate programming language (preferably Java),
  • implement programming tasks given in natural language as executable programs,
  • systematically apply practices and tools in programming,
  • implement specified data abstractions, algorithms, and data structures in program code,
  • apply techniques of object-oriented modeling,
  • work independently of other people when solving programming tasks and cooperate with other people in pairs.

Preceding courses