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.

2021W, VU, 2.0h, 3.0EC, to be held in blocked form
Lecture TubeTUWEL


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

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 (on-site 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 (on-site or online) to reflect on the work-sharing within the team (important for assessment)
  • take an oral exam (on-site or online)

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 8 programming assignments
  • 00.3 h - Discussion of programming assignments (interview)
  • 08.3 h - Lectures
  • 16.4 h - Working out the topics, question times, preparation for exam
  • 00.3 h - Oral exam (online)


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

Tue11:00 - 12:0005.10.2021 - 18.01.2022Informatikhörsaal - ARCH-INF Lecture
Fri14:00 - 15:0008.10.2021 - 21.01.2022 Zoom (access through TUWEL) (LIVE)question hour
Object-oriented Programming Techniques - Single appointments
Tue05.10.202111:00 - 12:00Informatikhörsaal - ARCH-INF Lecture
Fri08.10.202114:00 - 15:00 Zoom (access through TUWEL)question hour
Tue12.10.202111:00 - 12:00Informatikhörsaal - ARCH-INF Lecture
Fri15.10.202114:00 - 15:00 Zoom (access through TUWEL)question hour
Tue19.10.202111:00 - 12:00Informatikhörsaal - ARCH-INF Lecture
Fri22.10.202114:00 - 15:00 Zoom (access through TUWEL)question hour
Fri29.10.202114:00 - 15:00 Zoom (access through TUWEL)question hour
Fri05.11.202114:00 - 15:00 Zoom (access through TUWEL)question hour
Tue09.11.202111:00 - 12:00Informatikhörsaal - ARCH-INF Lecture
Fri12.11.202114:00 - 15:00 Zoom (access through TUWEL)question hour
Tue16.11.202111:00 - 12:00Informatikhörsaal - ARCH-INF Lecture
Fri19.11.202114:00 - 15:00 Zoom (access through TUWEL)question hour
Tue23.11.202111:00 - 12:00Informatikhörsaal - ARCH-INF Lecture
Fri26.11.202114:00 - 15:00 Zoom (access through TUWEL)question hour
Tue30.11.202111:00 - 12:00Informatikhörsaal - ARCH-INF Lecture
Fri03.12.202114:00 - 15:00 Zoom (access through TUWEL)question hour
Tue07.12.202111:00 - 12:00Informatikhörsaal - ARCH-INF Lecture
Fri10.12.202114:00 - 15:00 Zoom (access through TUWEL)question hour
Tue14.12.202111:00 - 12:00Informatikhörsaal - ARCH-INF Lecture
Fri17.12.202114:00 - 15:00 Zoom (access through TUWEL)question hour
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 five 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 600 points can be achieved over all. They correspond to the following grades:

  • 000 - 299 points -> 5 (negative)
  • 300 - 374 points -> 4
  • 375 - 449 points -> 3
  • 450 - 524 points -> 2
  • 525 - 600 points -> 1

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


For online exams we use BigBlueButton or Zoom, depending on the situation we offer oral on-site exams. Please consider the following conditions:

  • A registration for an exam has to occur at least 14 days before in TISS. It is possible to unregister until the exam starts.
  • 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).
  • 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.
  • Corresponding to Corona regulations it may be possible to offer on-site exams (usual oral exams in presence). Such exams must be arranged by e-mail. In the same way it is possible to continue an interrupted online exam as an on-site exam.
  • If the Corona situation allows us to offer unrestricted oral on-site exams, such exams become the normal case. This means, in TISS it is possible to register for on-site exams while online exams must be arranged by e-mail.

Course registration

Begin End Deregistration end
01.10.2021 00:00 11.10.2021 10:00 31.10.2021 23:59

Registration modalities

Please register also in a group as described above.

Group Registration

GroupRegistration FromTo
Vorlesungsteilnahme in Präsenz am 5.10.202101.10.2021 00:0005.10.2021 11:00
oopC101.10.2021 00:0011.10.2021 23:59
oopC201.10.2021 00:0011.10.2021 23:59
oopC301.10.2021 00:0011.10.2021 23:59
oopC401.10.2021 00:0011.10.2021 23:59
oopC501.10.2021 00:0011.10.2021 23:59
oopC601.10.2021 00:0011.10.2021 23:59
oopC701.10.2021 00:0011.10.2021 23:59
oopC801.10.2021 00:0011.10.2021 23:59
oopC901.10.2021 00:0011.10.2021 23:59
oopC1001.10.2021 00:0011.10.2021 23:59
oopC1101.10.2021 00:0011.10.2021 23:59
oopC1201.10.2021 00:0011.10.2021 23:59
oopC1301.10.2021 00:0011.10.2021 23:59
oopC1401.10.2021 00:0011.10.2021 23:59
oopC1501.10.2021 00:0011.10.2021 23:59
oopC1601.10.2021 00:0011.10.2021 23:59
oopC1701.10.2021 00:0011.10.2021 23:59
oopC1801.10.2021 00:0011.10.2021 23:59
oopC1901.10.2021 00:0011.10.2021 23:59
oopC2001.10.2021 00:0011.10.2021 23:59
oopC2101.10.2021 00:0011.10.2021 23:59
oopC2201.10.2021 00:0011.10.2021 23:59
oopC2301.10.2021 00:0011.10.2021 23:59
oopC2401.10.2021 00:0011.10.2021 23:59
oopE101.10.2021 00:0011.10.2021 23:59
oopE201.10.2021 00:0011.10.2021 23:59
oopE301.10.2021 00:0011.10.2021 23:59
oopE401.10.2021 00:0011.10.2021 23:59
oopE501.10.2021 00:0011.10.2021 23:59
oopE601.10.2021 00:0011.10.2021 23:59
oopE701.10.2021 00:0011.10.2021 23:59
oopE801.10.2021 00:0011.10.2021 23:59
oopF101.10.2021 00:0011.10.2021 23:59
oopF201.10.2021 00:0011.10.2021 23:59
oopF301.10.2021 00:0011.10.2021 23:59
oopF401.10.2021 00:0011.10.2021 23:59
oopF501.10.2021 00:0011.10.2021 23:59
oopF601.10.2021 00:0011.10.2021 23:59
oopF701.10.2021 00:0011.10.2021 23:59
oopF801.10.2021 00:0011.10.2021 23:59
oopF901.10.2021 00:0011.10.2021 23:59
oopF1001.10.2021 00:0011.10.2021 23:59
oopF1101.10.2021 00:0011.10.2021 23:59
oopF1201.10.2021 00:0011.10.2021 23:59
oopF1301.10.2021 00:0011.10.2021 23:59
oopF1401.10.2021 00:0011.10.2021 23:59
oopF1501.10.2021 00:0011.10.2021 23:59
oopF1601.10.2021 00:0011.10.2021 23:59
oopF1701.10.2021 00:0011.10.2021 23:59
oopF1801.10.2021 00:0011.10.2021 23:59
oopF1901.10.2021 00:0011.10.2021 23:59
oopF2001.10.2021 00:0011.10.2021 23:59
oopF2101.10.2021 00:0011.10.2021 23:59
oopF2201.10.2021 00:0011.10.2021 23:59
oopF2301.10.2021 00:0011.10.2021 23:59
oopF2401.10.2021 00:0011.10.2021 23:59
oopK101.10.2021 00:0011.10.2021 23:59
oopK201.10.2021 00:0011.10.2021 23:59
oopK301.10.2021 00:0011.10.2021 23:59
oopK401.10.2021 00:0011.10.2021 23:59
oopK501.10.2021 00:0011.10.2021 23:59
oopK601.10.2021 00:0011.10.2021 23:59
oopK701.10.2021 00:0011.10.2021 23:59
oopK801.10.2021 00:0011.10.2021 23:59
oopK901.10.2021 00:0011.10.2021 23:59
oopK1001.10.2021 00:0011.10.2021 23:59
oopK1101.10.2021 00:0011.10.2021 23:59
oopK1201.10.2021 00:0011.10.2021 23:59
oopK1301.10.2021 00:0011.10.2021 23:59
oopK1401.10.2021 00:0011.10.2021 23:59
oopK1501.10.2021 00:0011.10.2021 23:59
oopK1601.10.2021 00:0011.10.2021 23:59
oopL101.10.2021 00:0011.10.2021 23:59
oopL201.10.2021 00:0011.10.2021 23:59
oopL301.10.2021 00:0011.10.2021 23:59
oopL401.10.2021 00:0011.10.2021 23:59
oopL501.10.2021 00:0011.10.2021 23:59
oopL601.10.2021 00:0011.10.2021 23:59
oopL701.10.2021 00:0011.10.2021 23:59
oopL801.10.2021 00:0011.10.2021 23:59
oopL901.10.2021 00:0011.10.2021 23:59
oopL1001.10.2021 00:0011.10.2021 23:59
oopL1101.10.2021 00:0011.10.2021 23:59
oopL1201.10.2021 00:0011.10.2021 23:59
oopL1301.10.2021 00:0011.10.2021 23:59
oopL1401.10.2021 00:0011.10.2021 23:59
oopL1501.10.2021 00:0011.10.2021 23:59
oopL1601.10.2021 00:0011.10.2021 23:59
oopL1701.10.2021 00:0011.10.2021 23:59
oopL1801.10.2021 00:0011.10.2021 23:59
oopL1901.10.2021 00:0011.10.2021 23:59
oopL2001.10.2021 00:0011.10.2021 23:59
oopL2101.10.2021 00:0011.10.2021 23:59
oopL2201.10.2021 00:0011.10.2021 23:59
oopL2301.10.2021 00:0011.10.2021 23:59
oopL2401.10.2021 00:0011.10.2021 23:59
oopN101.10.2021 00:0011.10.2021 23:59
oopN201.10.2021 00:0011.10.2021 23:59
oopN301.10.2021 00:0011.10.2021 23:59
oopN401.10.2021 00:0011.10.2021 23:59
oopN501.10.2021 00:0011.10.2021 23:59
oopN601.10.2021 00:0011.10.2021 23:59
oopN701.10.2021 00:0011.10.2021 23:59
oopN801.10.2021 00:0011.10.2021 23:59
oopN901.10.2021 00:0011.10.2021 23:59
oopN1001.10.2021 00:0011.10.2021 23:59
oopN1101.10.2021 00:0011.10.2021 23:59
oopN1201.10.2021 00:0011.10.2021 23:59
oopN1301.10.2021 00:0011.10.2021 23:59
oopN1401.10.2021 00:0011.10.2021 23:59
oopN1501.10.2021 00:0011.10.2021 23:59
oopN1601.10.2021 00:0011.10.2021 23:59
oopN1701.10.2021 00:0011.10.2021 23:59
oopN1801.10.2021 00:0011.10.2021 23:59
oopN1901.10.2021 00:0011.10.2021 23:59
oopN2001.10.2021 00:0011.10.2021 23:59
oopN2101.10.2021 00:0011.10.2021 23:59
oopN2201.10.2021 00:0011.10.2021 23:59
oopN2301.10.2021 00:0011.10.2021 23:59
oopN2401.10.2021 00:0011.10.2021 23:59
oopP101.10.2021 00:0011.10.2021 23:59
oopP201.10.2021 00:0011.10.2021 23:59
oopP301.10.2021 00:0011.10.2021 23:59
oopP401.10.2021 00:0011.10.2021 23:59
oopP501.10.2021 00:0011.10.2021 23:59
oopP601.10.2021 00:0011.10.2021 23:59
oopP701.10.2021 00:0011.10.2021 23:59
oopP801.10.2021 00:0011.10.2021 23:59
oopP901.10.2021 00:0011.10.2021 23:59
oopP1001.10.2021 00:0011.10.2021 23:59
oopP1101.10.2021 00:0011.10.2021 23:59
oopP1201.10.2021 00:0011.10.2021 23:59
oopP1301.10.2021 00:0011.10.2021 23:59
oopP1401.10.2021 00:0011.10.2021 23:59
oopP1501.10.2021 00:0011.10.2021 23:59
oopP1601.10.2021 00:0011.10.2021 23:59
oopP1701.10.2021 00:0011.10.2021 23:59
oopP1801.10.2021 00:0011.10.2021 23:59
oopP1901.10.2021 00:0011.10.2021 23:59
oopP2001.10.2021 00:0011.10.2021 23:59
oopP2101.10.2021 00:0011.10.2021 23:59
oopP2201.10.2021 00:0011.10.2021 23:59
oopP2301.10.2021 00:0011.10.2021 23:59
oopP2401.10.2021 00:0011.10.2021 23:59


Study CodeSemesterPrecon.Info
033 526 Business Informatics STEOP
Course requires the completion of the introductory and orientation phase
033 532 Media Informatics and Visual Computing 3. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 533 Medical Informatics STEOP
Course requires the completion of the introductory and orientation phase
033 534 Software & Information Engineering 3. SemesterSTEOP
Course requires the completion of the introductory and orientation phase
033 535 Computer Engineering STEOP
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