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.
Schließen

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
Schließen

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.
Schließen

25 Termine

Regelmäßige Termine der Lehrveranstaltung

Mo, 07.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Di, 08.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Mi, 09.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Do, 10.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Fr, 11.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Mo, 14.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Di, 15.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Mi, 16.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Do, 17.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Fr, 18.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Mo, 21.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Di, 22.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Mi, 23.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Do, 24.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Fr, 25.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Mo, 28.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Di, 29.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Mi, 30.09.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Do, 01.10.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Fr, 02.10.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Mo, 05.10.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Di, 06.10.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Mi, 07.10.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Do, 08.10.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Fr, 09.10.2020 09:00 - 12:00

Dozenten:
Victor Brekenfeld

Studienfächer A-Z