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.