WiSe 2014/15













Submodulnummer Veranstaltungsform Name LP SWS / Prüfungsdauer
0087cA.2.2.1 Integrierte Veranstaltung Objektorientierte Programmierung für Stud. ohne Programmierkenntnisse 0 1.0
0087cA.2.2.2 Vorlesung Objektorientierte Programmierung für Stud. ohne Programmierkenntnisse 0 3.0
0087cA.2.2.3 Seminar am PC Objektorientierte Programmierung für Stud. ohne Programmierkenntnisse: Seminar am PC 0 2.0
0087cA.2.2.4 Modulprüfung Objektorientierte Programmierung für Stud. ohne Programmierkenntnisse 8 0 min
Qualifikationsziele: Die Studentinnen und Studenten beherrschen am Ende des Moduls imperative und objektorientierte Programmierkonzepte und deren Anwendbarkeit, eine oder mehrere objektorientierte Programmiersprachen und können objektorientierte Modelle erstellen. Sie kennen grundlegende Datenstrukturen und Algorithmen und sind in der Lage, abstrakte Datentypen zu spezifizieren und zu implementieren. Sie kennen grundlegende Datenstrukturen und Algorithmen und können die Eigenschaften von kleinen Programmen formal und informell beweisen.

Inhalte: Dieses Modul richtet sich an Studentinnen und Studenten, deren Einstufungstest geringe Vorkenntnisse in einer objektorientierten Programmiersprache nachweist. Im Einführungskurs werden diese Kenntnisse konzentriert vermittelt und grundlegenden Kompetenzen der Programmierung erworben. Es werden folgende Themen behandelt: • Maschinelle Modellierung des Berechenbarkeitsbegriffs, (Registermaschinen) und zentrale Imperative Programmierkonzepte. • Nachweis der Eigenschaften von kleinen Programmen (Hoare-Kalkül und/oder wp-Kalkül). • Objektorientierte Programmierkonzepte (wie Klassen, Objekte, Referenzen, Methoden, Vererbung, polymorphe Typsysteme, Abstrakte Klassen, Schnittstellen, generische Klassendefinitionen, Kapselung, Fehlerbehandlung usw.). • Einfache Datenstrukturen und deren Implementierung unter Verwendung objektorientierter Programmiertechniken sowie grundlegende Konzepte der Datenabstraktion. • Vertiefte objektorientierte Modellierungstechniken und grundlegende Entwurfsmuster (Iteratoren, Beobachtermuster, Strukturmuster, MVC, usw.) • Die Realisierung/Umsetzung der Konzepte werden anhand von modernen, gegenwärtig verwendeten, objektorientierten Programmiersprachen vorgestellt.