LehreLehrveranstaltungen (Bachelor)
Systematisches Programmieren

Systematisches Programmieren

  • Moduldetails

    Dozent: Dr. Maurice Chandoo

    Frequenz: unregelmäßig, empf. 4. Semester

    Veranstaltungsart: Laborübung (4 L, 5 CP)

    Prüfung: -

    Infoveranstaltung: 09.04.2020, 10 Uhr, Raum F128 (Hauptgebäude)

  • Vorlesungsinhalte

    Die Studierenden lernen eine Methode kennen (siehe [2] unter Literatur), mit der ein Algorithmus systematisch implementiert werden kann. Der Kontrollflussgraph wird dabei schrittweise aus einer Menge von Beispielrechnungen abgeleitet. Die Methode ist kompatibel mit imperativen und funktionalen Sprachen (z. B. Assembler, C, Java, Haskell, Python). Zudem üben die Studierenden, Algorithmen zu entwickeln und deren Korrektheit zu begründen.

    Inhalt:

    Zuerst wird die Methode vorgestellt und mit anderen Methoden der Softwareentwicklung (Stepwise Refinement, Invariant-Based Programming, Test-Driven Development) verglichen. Danach werden algorithmischer Probleme aus verschiedenen Bereichen (Zeichenketten, Graphentheorie, Computergraphik, Streaming/Sublinear-Space Algorithmen, etc.) vorgestellt und die Studierenden erarbeiten selbstständig einen Algorithmus zur Lösung des Problems oder lernen einen Algorithmus aus der Literatur kennen. Anschließend wird der Algorithmus implementiert; bei selbst entwickelten Algorithmen muss zusätzlich die Korrektheit begründet werden.

     

    Literatur:

    [1] Niklaus Wirth: Systematic Programming: An Introduction; Prentice-Hall, 1973

    [2] Maurice Chandoo: A Systematic Approach to Programming; arXiv:1808.08989, 2018

  • Informationen zur Prüfung

    Diese Veranstaltung ist eine zweiwöchige Blockveranstaltung, die nach Ende der Vorlesungszeit stattfindet.

MATERIALIEN

Alle Materialien finden Sie im Stud.IP.

PRÜFUNGSANMELDUNG

Aktuelle Prüfungstermine
Online-Prüfungsanmeldung