19307701
Vorlesung
SoSe 20: ProInformatik III: Objektorientierte Programmierung
Victor Brekenfeld
Zusätzl. Angaben / Voraussetzungen
Organisatorisches:
- Eine Anmeldung zum Kurs kann nur über Onlineanmeldung erfolgen!
- Neben den Vorlesungen (täglich 9:00-11:45 Uhr) finden nachmittags Übungen (13:00-15:30 Uhr) und Fragestunden (ab 15:30 Uhr) statt.
- In den Übungen besteht Anwesenheitspflicht.
- Klausurtermine: 18.09. (Zwischenklausur) und 09.10. (finale Klausur), jeweils 9:00
- Die Gesamtnote setzt sich aus den Ergebnissen der beiden Klausuren (jeweils 40% und 60%) zusammen.
Kommentar
In dieser Veranstaltung lernen die Teilnehmenden objektorientierte Konzepte anhand der Programmiersprachen Python und Java. Vorkenntnisse sind nicht erforderlich. Zum Abschluss wird ein Programmierprojekt durchgeführt.
Es werden folgende Themen behandelt:
- Einführung in die imperative Programmierung mit Python (Datentyp, Operator, Ausdruck, Variable, Zuweisung, Verzweigung, Schleifen, Prozeduren, Rekursion, Ein- und Ausgabe, Fehlerbehandlung)
- Grundlegende Algorithmen (Sortieralgorithmen, Geometrie) und Algorithmen-Typen (Teile und Herrsche, Backtracking)
- Laufzeitanalyse von kleinen Programmen und Korrektheitsbeweise mit dem Hoare-Kalkül
- Maschinelle Modellierung des Berechenbarkeitsbegriffs (Registermaschinen)
- Objektorientierte Programmierkonzepte (Klassen, Objekte, Referenzen, Methoden, Vererbung, polymorphe Typsysteme, Abstrakte Klassen, Schnittstellen, generische Klassendefinitionen, Kapselung)
- Einfache Datenstrukturen (einfach und doppelt verkettete Listen, Heap) und deren Implementierung sowie abstrakte Datentypen (Stapel, Schlange)
- Objektorientierte Modellierungstechniken und grundlegende Entwurfsmuster (Iteratoren, Beobachtermuster, Model-View-Controller usw.)
- Anwendung der Programmierkenntnisse in einem Projekt
Literaturhinweise
Literatur
- Concepts of Programming Languages, Robert Sebesta, Pearson Education , 10th Edition, 2012, ISBN: 0131395319
- Data Structures & Problem Solving Using Java, Mark Allen Weiss, Addison Wesley, 4. Auflage, 2010, ISBN: 0-321-54140-5
- Cormen, Leiserson, Rivest: Introduction to Algorithms, 3. Auflage 2009,
- Bundle of algorithms in java, third edition, parts 1-5. Sedgewick Robert und Michael Schidlowsky. Addison-Wesley Longman, Amsterdam. 2003.
25 Termine
Regelmäßige Termine der Lehrveranstaltung
Mo, 07.09.2020 09:00 - 12:00
Di, 08.09.2020 09:00 - 12:00
Mi, 09.09.2020 09:00 - 12:00
Do, 10.09.2020 09:00 - 12:00
Fr, 11.09.2020 09:00 - 12:00
Mo, 14.09.2020 09:00 - 12:00
Di, 15.09.2020 09:00 - 12:00
Mi, 16.09.2020 09:00 - 12:00
Do, 17.09.2020 09:00 - 12:00
Fr, 18.09.2020 09:00 - 12:00
Mo, 21.09.2020 09:00 - 12:00
Di, 22.09.2020 09:00 - 12:00
Mi, 23.09.2020 09:00 - 12:00
Do, 24.09.2020 09:00 - 12:00
Fr, 25.09.2020 09:00 - 12:00
Mo, 28.09.2020 09:00 - 12:00
Di, 29.09.2020 09:00 - 12:00
Mi, 30.09.2020 09:00 - 12:00
Do, 01.10.2020 09:00 - 12:00
Fr, 02.10.2020 09:00 - 12:00
Mo, 05.10.2020 09:00 - 12:00
Di, 06.10.2020 09:00 - 12:00
Mi, 07.10.2020 09:00 - 12:00
Do, 08.10.2020 09:00 - 12:00
Fr, 09.10.2020 09:00 - 12:00