08.079.015 Einführung in die Softwareentwicklung

Veranstaltungsdetails

Lehrende/r: Univ.-Prof. Dr. Michael Wand

Veranstaltungsart: Vorlesung/Übung

Anzeige im Stundenplan: Einf. Softwareentw.

Semesterwochenstunden: 4

Credits: 6,0

Unterrichtssprache: Deutsch

Min. | Max. Teilnehmerzahl: - | -

Voraussetzungen / Organisatorisches:
Benötigte Vorkenntnisse
Einführung in die Programmierung

Inhalt:
In dieser Veranstaltung bauen wir auf die erlenten Grundkenntnisse aus "Einführung in die Programmierung" auf und übertragen diese auf komplexere Softwaresysteme. Dabei steht die sinnvolle Zerlegung komplexer Software in Komponenten, Schnittstellen und Bibliotheken im Vordergrund. Dabei werden vor allem Ideen zum objektorientierten und funktionalen Entwurf von Systemen diskutiert und gegenübergestellt. Konkreter teilen sich die Themen ein in Programmiertechniken, die in "Einführung in die Progrmmierung" noch nicht oder nur am Rande angesprochen wurden, sowie Techniken für den Entwurf komplexerer Systeme, bei denen es stärker um die Organisation von Systemen geht.

Programmiertechniken


  • Statische Typisierung
  • Hardwarenahe Programmierung und Techniken für effiziente Abstraktionen,
  • Funktionsvariablen und Funktionen höherer Ordnung,
  • Bibliotheksfunktionen der Systemumgebung: Eingabe- / Ausgabe, Netzwerkzugriff
  • Graphische Benutzerschnittstellen
  • Programmiersprachen jenseits von Python (Scala, ggf. Beispiele von hardwarenahen Sprachen)

Softwareentwurf

  • Modularisierung
  • Objekte, Klassen und Schnittstellen
  • Vererbung, abstrakte Klassen und dynamischer Dispatch
  • Abstraktion und Geheimnisprinzip
  • Generische Datentypen
  • Visualisierung mit Hilfe von Diagrammen (z.B. Klassendiagramme)
  • Einfache/grundlegende Entwurfs- und Architekturmuster

Die Konzepte werden dabei in der aus EIP bekannten Programmiersprache Python erklärt; zusätzlich wird Scala als Programmiersprache eingeführt, in der sich einige der Programmiertechniken eleganter umsetzen lassen. Hardwarenahe Programmiersprachen werden kurz am Rande diskutiert, wenn es um hardwarenahe Programmierung geht.
 

Zusätzliche Informationen:
Weitere, aktualisierte Informationen finden Sie auf der WWW-Seite der Veranstaltung:

https://luna.informatik.uni-mainz.de/eis24/
(Verfügbar ab April 2024)

Anmeldefristen
Phase Block Start Ende Anmeldung Ende Abmeldung Ende Hörer
Allgemeine Hauptanmeldephase Vorlesungszeit 22.01.2024 13:00 08.02.2024 13:00 08.02.2024 13:00 08.02.2024 13:00
2. Anmeldephase Vorlesungszeit 08.04.2024 13:00 11.04.2024 13:00 11.04.2024 13:00 11.04.2024 13:00
3. Anmeldephase (Restplatzvergabe) Vorlesungszeit 15.04.2024 13:00 19.04.2024 21:00 19.04.2024 21:00 19.04.2024 21:00
Termine
Datum Von Bis Raum Lehrende/r
1 Di, 16. Apr. 2024 12:15 13:45 00 151 Audi Max Univ.-Prof. Dr. Michael Wand
2 Di, 23. Apr. 2024 12:15 13:45 00 151 Audi Max Univ.-Prof. Dr. Michael Wand
3 Di, 30. Apr. 2024 12:15 13:45 00 151 Audi Max Univ.-Prof. Dr. Michael Wand
4 Di, 7. Mai 2024 12:15 13:45 00 151 Audi Max Univ.-Prof. Dr. Michael Wand
5 Di, 14. Mai 2024 12:15 13:45 00 151 Audi Max Univ.-Prof. Dr. Michael Wand
6 Di, 21. Mai 2024 12:15 13:45 00 151 Audi Max Univ.-Prof. Dr. Michael Wand
7 Di, 28. Mai 2024 12:15 13:45 00 151 Audi Max Univ.-Prof. Dr. Michael Wand
8 Di, 4. Jun. 2024 12:15 13:45 00 151 Audi Max Univ.-Prof. Dr. Michael Wand
9 Di, 11. Jun. 2024 12:15 13:45 00 151 Audi Max Univ.-Prof. Dr. Michael Wand
10 Di, 18. Jun. 2024 12:15 13:45 00 151 Audi Max Univ.-Prof. Dr. Michael Wand
11 Di, 25. Jun. 2024 12:15 13:45 00 151 Audi Max Univ.-Prof. Dr. Michael Wand
12 Di, 2. Jul. 2024 12:15 13:45 00 151 Audi Max Univ.-Prof. Dr. Michael Wand
13 Di, 9. Jul. 2024 12:15 13:45 00 151 Audi Max Univ.-Prof. Dr. Michael Wand
14 Di, 16. Jul. 2024 12:15 13:45 00 151 Audi Max Univ.-Prof. Dr. Michael Wand
Veranstaltungseigene Prüfungen
Beschreibung Datum Lehrende/r Pflicht
1. Klausur Fr, 2. Aug. 2024 09:00-12:00 Univ.-Prof. Dr. Michael Wand; Ann-Christin Wörl Ja
Übersicht der Kurstermine
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
Lehrende/r
Univ.-Prof. Dr. Michael Wand