Letztes Semester

Wintersemester 2018/19

 

Einführung in die Softwareentwicklung - Digitale Methodik

Univ.-Prof. Dr. Michael Wand

Kurzname: 08.079.015-DM
Kursnummer: 08.079.015-DM

Voraussetzungen / Organisatorisches

Benötigte Vorkenntnisse
Einführung in die Programmierung

Empfohlene Literatur

Heide Balzert Lehrbuch der Objektmodellierung, Analyse und Entwurf mit der UML 2, 2. Auflage, München 2005
Ulrich Breymann: C++: eine Einführung, Hanser, 2016.
Scott Meyesr: Effective C++: 55 Specific Ways to Improve Your Programs and Designs, Addison-Wesley 2005 (für Fortgeschrittene).
Bjarne Stroustrup: The C++ Programming Language, Pearson 2013 (sehr komplex; eher als Referenz).
Robert Sedgewick, Kevin Wayne, Robert Dondero: Introduction to Programming in Python: An Interdisciplinary Approach, Addison-Wesley, 2015.

Inhalt

Die Veranstaltung EiS hat zwei Schwerpunkte: Zum einen werden allgemeine Programmiertechniken vertieft, in Ergänzung zur vorherigen Veranstaltung EiP (Einführung in die Programmierung). Zum zweiten wird der Entwurf komplexerer Softwaresysteme behandelt.

In der Vertiefung wird vor allem die Programmierung mit statisch typisierten "low-level" Sprachen, hier am Beispiel von C++, behandelt (in EiP wurden mit Python eine dynamisch typisierte "high-level" Sprache eingeführt). Hinzu kommt die Diskussion von Bibliotheken für Standarddatentypen, graphische Benutzerschnittstellen und andere I/O Operationen und nebenläufige Programmierung.

Zum zweiten Aspekt: Komplexe Softwaresysteme kann man nur realisieren, wenn man die Anforderungen an diese Systeme und deren Struktur ("Architektur") genau durchdenkt und plant. Diese Vorlesung führt in die Grundlagen der Entwicklung komplexerer Systeme ein und betrachtet hier vor allem Methoden des objektorientierten Entwurfs. Hierzu wird sowohl die Programmiersprache Python wie auch C++ betrachtet, die beide objektorientierte Programmierung (mit leicht unterschiedlichen Schwerpunkten) unterstützen. Weiterhin wird der Einsatz objektorientierter Modellierungsmethoden zur Beschreibung von Softwaresystemen (UML) und Realisierung, Dokumentation, Versonsverwaltung (SVN/GIT/HG) und der Test des von Softwaresystemen vermittelt.

Alternativen zu objektorientierten Entwurfsmustern (z.B. funktionale Ansätze) werden kurz angesprochen, und es werden Beispiele für Anwendungsarchitekturen (grobstruktur ganzer, realer Softwaresysteme) diskutiert.
 

Termine:

Datum (Wochentag)UhrzeitOrt
16.10.2018 (Dienstag)14.00 - 16.00 Uhr03-428
23.10.2018 (Dienstag)14.00 - 16.00 Uhr03-428
30.10.2018 (Dienstag)14.00 - 16.00 Uhr03-428
06.11.2018 (Dienstag)14.00 - 16.00 Uhr03-428
13.11.2018 (Dienstag)14.00 - 16.00 Uhr03-428
20.11.2018 (Dienstag)14.00 - 16.00 Uhr03-428
27.11.2018 (Dienstag)14.00 - 16.00 Uhr03-428
04.12.2018 (Dienstag)14.00 - 16.00 Uhr03-428
11.12.2018 (Dienstag)14.00 - 16.00 Uhr03-428
18.12.2018 (Dienstag)14.00 - 16.00 Uhr03-428
08.01.2019 (Dienstag)14.00 - 16.00 Uhr03-428
15.01.2019 (Dienstag)14.00 - 16.00 Uhr03-428
22.01.2019 (Dienstag)14.00 - 16.00 Uhr03-428
29.01.2019 (Dienstag)14.00 - 16.00 Uhr03-428
05.02.2019 (Dienstag)14.00 - 16.00 Uhr03-428
12.02.2019 (Dienstag)14.00 - 16.00 Uhr03-428

Semester: WiSe 2018/19