252-0021-00L  Einführung in die Programmierung

SemesterHerbstsemester 2015
DozierendeB. Meyer
Periodizitätjährlich wiederkehrende Veranstaltung
LehrspracheDeutsch


KurzbeschreibungEinführung in grundlegende Konzepte der modernen Programmierung. Vermittlung der Fähigkeit, Programme von höchster Qualität zu entwickeln. Einführung in Prinzipien des Software Engineering mit objekt-orientiertem Ansatz basierend auf Design by Contract, wie es in Eiffel präsent ist. Zum zweiten Mal bieten wir eine MOOC (online) Version des Kurses an, mit mehr Übungen und einem Hilfssystem.
LernzielViele Menschen können Programme schreiben. Die Ziele der Vorlesung "Einführung in die Programmierung" gehen aber darüber hinaus: sie lehrt die fundamentalen Konzepte und Fertigkeiten, die nötig sind, um professionelle Programme zu erstellen. Nach erfolgreichem Abschluss der Vorlesung beherrschen Studenten die fundamentalen Kontrollstrukturen, Datenstrukturen, die Verfahren zur Problemlösung und Mechanismen von Programmiersprachen, die die moderne Programmierung auszeichnen. Sie kennen die Grundregeln für die Produktion von Software in hoher Qualität. Sie haben die nötigen Vorkenntnisse für weiterführende Vorlesungen, die das Programmieren in spezialisierten Anwendungsgebieten vorstellen.
InhaltGrundlagen der objekt-orientierten Programmierung. Objekte und Klassen. Vor- und Nachbedingungen, Invarianten, Design by Contract. Elementare Kontrollstrukturen. Zuweisungen und Referenzierung. Grundbegriffe aus der Hardware. Elementare Datenstrukturen und Algorithmen. Rekursion. Vererbung und "deferred classes", Einführung in Event-driven Design und Concurrent Programming. Grundkonzepte aus Software Engineering wie dem Softwareprozess, Spezifikation und Dokumentation, Reuse und Quality Assurance.
SkriptBuch: "Touch of Class" (siehe unter "Literatur")
Zusätzlich werden die Vorlesungsfolien auf der Vorlesungswebseite zum Download zur Verfügung gestellt.
LiteraturBertrand Meyer: Touch of Class: Learning to Program Well Using Objects and Contracts, Springer Verlag, 2009; Neuauflage, 2012. Dies ist das offizielle Lehrbuch für die Vorlesung. Siehen http://www.polybuchhandlung.ch/100/con_liste.asp.
Voraussetzungen / BesonderesDie Vorlesung benutzt den Ansatz des "Outside-In", der es den Studenten ermöglicht, von Anfang an grafische Bibliotheken zu benutzen und grosse Programme zu entwickeln. Die Studenten lernen Schritt für Schritt, wie die Bibliothek aufgebaut ist, und benutzen sie als eine Quelle der Inspiration and Imitation.

Die Vorlesung behandelt nicht nur grundlegende Begriffe der Programmierung, sondern auch fortgeschrittene Themen wie die Rekursion, mehrfache Vererbung, Unentscheidbarkeit, Ereignis-orientierte Programmierung usw.