Lehrveranstaltungen

im Sommersemester 2019

 

Einführung in die Softwareentwicklung

David Hartmann; Univ.-Prof. Dr. Michael Wand

Kurzname: Einf. Softwareentw.
Kursnummer: 08.079.015

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.

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.

Voraussetzungen / Organisatorisches

Benötigte Vorkenntnisse
Einführung in die Programmierung

Termine:

Datum (Wochentag)UhrzeitOrt
15.04.2019 (Montag)14.00 - 16.00 Uhr00 312 P1
1141 - Philosophisches Seminargebäude
29.04.2019 (Montag)14.00 - 16.00 Uhr00 312 P1
1141 - Philosophisches Seminargebäude
06.05.2019 (Montag)14.00 - 16.00 Uhr00 312 P1
1141 - Philosophisches Seminargebäude
13.05.2019 (Montag)14.00 - 16.00 Uhr00 312 P1
1141 - Philosophisches Seminargebäude
20.05.2019 (Montag)14.00 - 16.00 Uhr00 312 P1
1141 - Philosophisches Seminargebäude
27.05.2019 (Montag)14.00 - 16.00 Uhr00 312 P1
1141 - Philosophisches Seminargebäude
03.06.2019 (Montag)14.00 - 16.00 Uhr00 312 P1
1141 - Philosophisches Seminargebäude
17.06.2019 (Montag)14.00 - 16.00 Uhr00 312 P1
1141 - Philosophisches Seminargebäude
24.06.2019 (Montag)14.00 - 16.00 Uhr00 312 P1
1141 - Philosophisches Seminargebäude
01.07.2019 (Montag)14.00 - 16.00 Uhr00 312 P1
1141 - Philosophisches Seminargebäude
08.07.2019 (Montag)14.00 - 16.00 Uhr00 312 P1
1141 - Philosophisches Seminargebäude

Semester: SoSe 2019