Lecture: Objektorientierte Softwareentwicklung / Object-Oriented Software Engineering
Overview
This lecture devides into two parts: A (bigger) object-oriented programming and modeling part and a (smaller) software engineering part. We will roughly cover the following topics:
- Development tools, practices and processes.
- Programming languages and paradigms.
- Object-oriented programming, modeling and design.
- Frameworks and Libraries.
- Best practices and modern development.
- Implementation of object-oriented languages.
- Software development based on OO: requirements, system design, implementation, testing, deployment.
This course has a strong technical focus and includes many programming exercises and homework. The students gain experience with modern software engineering tools and programming patterns. The course has strong emphasize on theoretical and technical aspects of programming languages and paradigms and will thus deal with several modern OOP languages. It is not a sole programming course!
Organization
The lecture and exercise session take place on Tuesdays and Friday from 2:00 pm to 3:30 pm in HS3 in the Physik building (321 Hörsaal III (130 Sitzpl.) (321/EG/203)).
There are no additional dedicated exercise sessions.
Contact Persons
Schedule
Date | Topic of the lecture | Topic of Homework |
---|---|---|
09.04.2024 | Organization, Introduction | HW0: Set-up and Git |
12.04.2024 | Object-Based and Class-Based Programming | |
16.04.2024 | Types, Subtypes, Interfaces | |
19.04.2024 | Exercise 1: Object-Oriented Programming | |
23.04.2024 | Memory Management | HW1: Object-Oriented Programming |
26.04.2024 | Modularization and Generic Programming | |
30.04.2024 | Modern Programming | |
03.05.2024 | Exercise 2: Advanced Programming | |
07.05.2024 | Requirements and Architecture | HW2: Advanced Programming |
10.05.2024 | System Design | |
14.05.2024 | Testing | |
17.05.2024 | Exercise 3: Software Engineering | |
21.05.2024 | Pentecost Holidays | HW3: Software Engineering |
24.05.2024 | Pentecost Holidays | |
28.05.2024 | Processes and Tools | |
31.05.2024 | Object-Oriented Modeling I | |
04.06.2024 | Object-Oriented Modeling II | |
07.06.2024 | Exercise 4: OOM + Getting Started on Project | |
11.06.2024 | Design Patterns I | HW4: Object-Oriented Modeling |
14.06.2024 | Design Patterns II | |
18.06.2024 | Design Patterns III + Optimization | |
21.06.2024 | Exercise 5: Design Patterns | |
25.06.2024 | HW5: Design Patterns | |
28.06.2024 | ||
02.07.2024 | ||
05.07.2024 | ||
09.07.2024 | ||
12.07.2024 | ||
16.07.2024 | ||
19.07.2024 | Outlook and Q&A | |
Wednesday, 31.07.2024, 13:00-14:00 | First Exam | |
Monday, 23.09.2024, 10:00-11:00 | Second Exam |
Rules and Agreements
The lecture has an ILIAS course where you will find a link to our Discord server and a link to the Sciebo folder that contains slides, supplementary documents and home work sheets.
We'll be using Discord for announcements, communication, and group work.
Waiting list: The lecture is not limited in size.
Prerequisites: No formal prerequisites but we recommend that you have completed the programming course, programming lab and software engieering.
Textbook: We do not have a single textbook, but rather compile lectures from various sources. Direct references are announced in the lecture and in Sciebo.
Homework: Every Friday evening, we publish a homework sheet. Homework sheets must be submitted 2 weeks after on friday before 14:00.
Grading: The grading is based on the results of the exam. If you achieved >= 80% of points from homework sheets you get a 5% bonus on your exam points. If you achieved >= 95% of points from homework sheets you get a 10% bonus on your exam points.
Delayed submissions: Delays are not tolerated and are considered as 0 points.
Time management: This is a course with 6 ECTS points. We therefore expect that you will spend up to 8 hours per week on the course. Typically 4 hours per week are spent on lectures and exercises and 4 hours on homework sheets.
Group work: You are expected to work on home work sheets in groups of up to 5 people. It is part of your responsibility to organize yourselves.