WiSe 2014/15













Submodule number Course Type Name ECTS SWS / Exam duration
0087cA.2.2.1 Integrated course Object-oriented Programming for students with no knowledge of programming 0 1.0
0087cA.2.2.2 Lecture Object-oriented Programming for students with no knowledge of programming 0 3.0
0087cA.2.2.3 PC-based Seminar Objektorientierte Programmierung für Stud. ohne Programmierkenntnisse: Seminar am PC 0 2.0
0087cA.2.2.4 Module exam Object-oriented Programming for students with no knowledge of programming 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.