Letztes Semester

Wintersemester 2018/19

 

Einführung in die Softwareentwicklung

Univ.-Prof. Dr. Michael Wand

Kurzname: Einf. Softwareentw.
Kursnummer: 08.079.015

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 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
23.10.2018 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
30.10.2018 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
06.11.2018 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
13.11.2018 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
20.11.2018 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
27.11.2018 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
04.12.2018 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
11.12.2018 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
18.12.2018 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
08.01.2019 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
15.01.2019 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
22.01.2019 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
29.01.2019 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
05.02.2019 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude
12.02.2019 (Dienstag)14.00 - 16.00 Uhr00 319 C 01
2321 - Schulz-Horner-Gebäude

Semester: WiSe 2018/19