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.

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


  • Semester hours: 2.0
  • Credits: 3.0
  • Type: VU Lecture and Exercise
  • 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

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

Mode of examination


Additional information

Didactic Concept

Weekly lecture-like videos 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)
  • 09.0 h - Videos and question times
  • 15.7 h - Working out the topics and preparation for exam
  • 00.3 h - Oral exam (online)


You have to register for one of the many groups named oopXn, where X determines the mentoring tutor and n 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

Thu14:00 - 15:0008.10.2020 - 14.01.2021 online (access data in TUWEL) (LIVE)question time (on a specific topic)
Object-oriented Programming Techniques - Single appointments
Thu08.10.202014:00 - 15:00 online (access data in TUWEL)question time (on a specific topic)
Thu15.10.202014:00 - 15:00 online (access data in TUWEL)question time (on a specific topic)
Thu22.10.202014:00 - 15:00 online (access data in TUWEL)question time (on a specific topic)
Thu29.10.202014:00 - 15:00 online (access data in TUWEL)question time (on a specific topic)
Thu05.11.202014:00 - 15:00 online (access data in TUWEL)question time (on a specific topic)
Thu12.11.202014:00 - 15:00 online (access data in TUWEL)question time (on a specific topic)
Thu19.11.202014:00 - 15:00 online (access data in TUWEL)question time (on a specific topic)
Thu26.11.202014:00 - 15:00 online (access data in TUWEL)question time (on a specific topic)
Thu03.12.202014:00 - 15:00 online (access data in TUWEL)question time (on a specific topic)
Thu10.12.202014:00 - 15:00 online (access data in TUWEL)question time (on a specific topic)
Thu17.12.202014:00 - 15:00 online (access data in TUWEL)question time (on a specific topic)
Thu07.01.202114:00 - 15:00 online (access data in TUWEL)question time (on a specific topic)
Thu14.01.202114:00 - 15:00 online (access data in TUWEL)question time (on a specific topic)
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. Online 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 understand 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 - 350 points -> 5 (negative)
  • 351 - 437 points -> 4
  • 438 - 525 points -> 3
  • 526 - 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.

Online Exams

For online exams we use GoToMeeting, BigBlueButton or ZOOM. 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.
  • Some days before the exam you will get access data to GoToMeeting, BigBlueButton or ZOOM (essentially a link) by mail. You need a computer (e.g., laptop) with microphone and video cam. Please take care that your browser (Chrome only) or the GoToMeeting or ZOOM App have the right to access microphone and cam. Enter the GoToMeeting or ZOOM session at the time the exam is scheduled for (see https://colab.tuwien.ac.at/pages/viewpage.action?pageId=11634937).
  • Use a room for the 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 exam, you can give your access data for the GoToMeeting or ZOOM session 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 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 GoToMeeting or ZOOM session 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.
  • If circumstances indicate that online exams are inappropriate to check learning outcomes, you can take a usual oral presence exam instead provided that this is possible under Corona constraints. In the same way it is possible to continue an interrupted online exam as an oral presence exam.

Course registration

Use Group Registration to register.

Group Registration

GroupRegistration FromTo
Gruppe noch offen14.09.2020 00:0013.10.2020 23:59
oopC114.09.2020 00:0013.10.2020 23:59
oopC214.09.2020 00:0013.10.2020 23:59
oopC314.09.2020 00:0013.10.2020 23:59
oopC414.09.2020 00:0013.10.2020 23:59
oopC514.09.2020 00:0013.10.2020 23:59
oopC614.09.2020 00:0013.10.2020 23:59
oopC714.09.2020 00:0013.10.2020 23:59
oopC814.09.2020 00:0013.10.2020 23:59
oopC914.09.2020 00:0013.10.2020 23:59
oopC1014.09.2020 00:0013.10.2020 23:59
oopC1114.09.2020 00:0013.10.2020 23:59
oopC1214.09.2020 00:0013.10.2020 23:59
oopC1314.09.2020 00:0013.10.2020 23:59
oopC1414.09.2020 00:0013.10.2020 23:59
oopC1506.10.2020 00:0013.10.2020 23:59
oopC1613.10.2020 00:0013.10.2020 23:59
oopC1713.10.2020 00:0013.10.2020 23:59
oopE114.09.2020 00:0013.10.2020 23:59
oopE214.09.2020 00:0013.10.2020 23:59
oopE314.09.2020 00:0013.10.2020 23:59
oopE414.09.2020 00:0013.10.2020 23:59
oopE514.09.2020 00:0013.10.2020 23:59
oopE614.09.2020 00:0013.10.2020 23:59
oopE714.09.2020 00:0013.10.2020 23:59
oopE814.09.2020 00:0013.10.2020 23:59
oopE914.09.2020 00:0013.10.2020 23:59
oopE1014.09.2020 00:0013.10.2020 23:59
oopE1114.09.2020 00:0013.10.2020 23:59
oopE1214.09.2020 00:0013.10.2020 23:59
oopE1314.09.2020 00:0013.10.2020 23:59
oopE1414.09.2020 00:0013.10.2020 23:59
oopE1514.09.2020 00:0013.10.2020 23:59
oopE1614.09.2020 00:0013.10.2020 23:59
oopE1714.09.2020 00:0013.10.2020 23:59
oopE1814.09.2020 00:0013.10.2020 23:59
oopE1914.09.2020 00:0013.10.2020 23:59
oopE2014.09.2020 00:0013.10.2020 23:59
oopE2114.09.2020 00:0013.10.2020 23:59
oopE2214.09.2020 00:0013.10.2020 23:59
oopE2314.09.2020 00:0013.10.2020 23:59
oopE2414.09.2020 00:0013.10.2020 23:59
oopE2514.09.2020 00:0013.10.2020 23:59
oopE2614.09.2020 00:0013.10.2020 23:59
oopE2714.09.2020 00:0013.10.2020 23:59
oopE2814.09.2020 00:0013.10.2020 23:59
oopE2906.10.2020 00:0013.10.2020 23:59
oopE3006.10.2020 00:0013.10.2020 23:59
oopE3113.10.2020 00:0013.10.2020 23:59
oopE3213.10.2020 00:0013.10.2020 23:59
oopF114.09.2020 00:0013.10.2020 23:59
oopF214.09.2020 00:0013.10.2020 23:59
oopF314.09.2020 00:0013.10.2020 23:59
oopF414.09.2020 00:0013.10.2020 23:59
oopF514.09.2020 00:0013.10.2020 23:59
oopF614.09.2020 00:0013.10.2020 23:59
oopF714.09.2020 00:0013.10.2020 23:59
oopF814.09.2020 00:0013.10.2020 23:59
oopF914.09.2020 00:0013.10.2020 23:59
oopF1014.09.2020 00:0013.10.2020 23:59
oopF1114.09.2020 00:0013.10.2020 23:59
oopF1214.09.2020 00:0013.10.2020 23:59
oopF1314.09.2020 00:0013.10.2020 23:59
oopF1414.09.2020 00:0013.10.2020 23:59
oopF1514.09.2020 00:0013.10.2020 23:59
oopF1614.09.2020 00:0013.10.2020 23:59
oopF1714.09.2020 00:0013.10.2020 23:59
oopF1814.09.2020 00:0013.10.2020 23:59
oopF1914.09.2020 00:0013.10.2020 23:59
oopF2014.09.2020 00:0013.10.2020 23:59
oopF2114.09.2020 00:0013.10.2020 23:59
oopF2206.10.2020 00:0013.10.2020 23:59
oopF2313.10.2020 00:0013.10.2020 23:59
oopF2413.10.2020 00:0013.10.2020 23:59
oopL114.09.2020 00:0013.10.2020 23:59
oopL214.09.2020 00:0013.10.2020 23:59
oopL314.09.2020 00:0013.10.2020 23:59
oopL414.09.2020 00:0013.10.2020 23:59
oopL514.09.2020 00:0013.10.2020 23:59
oopL614.09.2020 00:0013.10.2020 23:59
oopL714.09.2020 00:0013.10.2020 23:59
oopL814.09.2020 00:0013.10.2020 23:59
oopL914.09.2020 00:0013.10.2020 23:59
oopL1014.09.2020 00:0013.10.2020 23:59
oopL1114.09.2020 00:0013.10.2020 23:59
oopL1214.09.2020 00:0013.10.2020 23:59
oopL1314.09.2020 00:0013.10.2020 23:59
oopL1414.09.2020 00:0013.10.2020 23:59
oopL1514.09.2020 00:0013.10.2020 23:59
oopL1614.09.2020 00:0013.10.2020 23:59
oopL1714.09.2020 00:0013.10.2020 23:59
oopL1814.09.2020 00:0013.10.2020 23:59
oopL1914.09.2020 00:0013.10.2020 23:59
oopL2014.09.2020 00:0013.10.2020 23:59
oopL2114.09.2020 00:0013.10.2020 23:59
oopL2206.10.2020 00:0013.10.2020 23:59
oopL2313.10.2020 00:0013.10.2020 23:59
oopL2413.10.2020 00:0013.10.2020 23:59
oopO114.09.2020 00:0013.10.2020 23:59
oopO214.09.2020 00:0013.10.2020 23:59
oopO314.09.2020 00:0013.10.2020 23:59
oopO414.09.2020 00:0013.10.2020 23:59
oopO514.09.2020 00:0013.10.2020 23:59
oopO614.09.2020 00:0013.10.2020 23:59
oopO714.09.2020 00:0013.10.2020 23:59
oopO814.09.2020 00:0013.10.2020 23:59
oopO914.09.2020 00:0013.10.2020 23:59
oopO1014.09.2020 00:0013.10.2020 23:59
oopO1114.09.2020 00:0013.10.2020 23:59
oopO1214.09.2020 00:0013.10.2020 23:59
oopO1314.09.2020 00:0013.10.2020 23:59
oopO1414.09.2020 00:0013.10.2020 23:59
oopO1514.09.2020 00:0013.10.2020 23:59
oopO1614.09.2020 00:0013.10.2020 23:59
oopO1714.09.2020 00:0013.10.2020 23:59
oopO1814.09.2020 00:0013.10.2020 23:59
oopO1914.09.2020 00:0013.10.2020 23:59
oopO2014.09.2020 00:0013.10.2020 23:59
oopO2114.09.2020 00:0013.10.2020 23:59
oopO2206.10.2020 00:0013.10.2020 23:59
oopO2313.10.2020 00:0013.10.2020 23:59
oopO2413.10.2020 00:0013.10.2020 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