Hasso-Plattner-Institut
Hasso-Plattner-Institut
  
Login
  • de
 

History of Programming Languages (Sommersemester 2016)

Dozent: Prof. Dr. Robert Hirschfeld (Software-Architekturen) , Marcel Taeumel (Software-Architekturen) , Toni Mattis (Software-Architekturen) , Johannes Henning (Software-Architekturen)

Beschreibung

Bei der Entwicklung komplexer Systeme stoßen Programmierer regelmäßig an die Grenzen der gewählten Programmiersprache. Es mag sein, dass bestimmte Lösungen für eine gegebene Anwendung mit Hilfe jener Sprache nicht modular umgesetzt werden können, dass die Bibliotheken der Sprache bestimmte Funktionen nicht kompakt ausdrücken können oder sogar dass bewährte Konstrukte aus anderen Sprachen überhaupt nicht zur Verfügung stehen. Im Endeffekt beeinträchtigt dies die Wartbarkeit und Erweiterbarkeit der Systeme. Diese Beobachtungen führen häufig zu Entwurfsmustern, Richtlinien oder gar neuen Programmiersprachen.

Im Rahmen dieser Veranstaltung erfahren die Teilnehmer einen Querschnitt durch verschiedene Programmiersprachen, -konzepte und -umgebungen, um einen fundierten Kenntnisstand über die geschichtlichen Entwicklungen und Errungenschaften aufzubauen.
Dies beinhaltet Schlüsselkonzepte, Umsetzungsstrategien, Werkzeuge/Umgebungen und Anwendungen.
Des Weiteren werden die Teilnehmer in das Auffinden und Lesen wissenschaftlicher Arbeiten eingeführt und dürfen, unter Anleitung, selbständig eine solche Arbeit verfassen.

Programmiersprachkonzepte sind zum Beispiel Co-Routinen, Generatoren, Objekte, Klassen, Ereignisse, Prozeduren, Fakten, Regeln, Prototypen, Komponenten, Stapelspeicher, Bedingungen, Features, Aspekte, Kontexte, Funktionen, Datenströme, Module, Akteure, Nachrichten, ...
Programmierparadigmen beinhalten imperatives, deklaratives, logisches, funktionales, prozedurales, strukturelles, ... Programmieren.

Voraussetzungen

  • Vertiefte Programmierkenntnisse in mindestens einer Programmiersprache

Literatur

"50 in 50" - Keynote by Richard P. Gabriel and Guy L. Steele Jr.

Weitere Quellen werden je nach Thema in der Veranstaltung bekannt gegeben.

Leistungserfassung

Vortrag, Diskussion und schriftliche Ausarbeitung werden mit drei benoteten Leistungspunkten angerechnet. Jeder Seminarteilnehmer bearbeitet eines der gestellten Seminarthemen. Die Arbeit wird in einem Vortrag von 30-45 Minuten Dauer präsentiert, an den sich eine Diskussion anschließt. Der Vortrag soll technische Aspekte der durchgeführten Arbeit als Demonstration beinhalten. Ferner ist eine schriftliche Ausarbeitung auf Deutsch oder Englisch im Umfang von ca. acht bis zehn Seiten im LNCS-Format abzuliefern, welche das jeweilige Thema behandelt. Die Ausarbeitung muss eine Kurzzusammenfassung (engl. abstract) sowie ein Literaturverzeichnis enthalten. Auf die korrekte Angabe aller verwendeten Quellen sowie sprachliche Korrektheit ist besondere Sorgfalt zu legen. Eine Eigenleistung muss erkennbar sein. Die Entdeckung von Plagiaten führt zu jedem Zeitpunkt zum sofortigen Nichtbestehen der jeweiligen Leistung.

Spätestens eine Woche vor dem jeweiligen Vortragstermin bespricht jeder Teilnehmer eine Vorversion seiner Vortragsunterlagen mit einem der Betreuer. Um einen Termin für diese Vorbesprechung kümmern sich die Teilnehmer selbstständig. Die Vortragsunterlagen sind einen Tag vor dem Vortrag per Email einzureichen. Sie bestehen aus

  • den Dokumentquellen der im Vortrag verwendeten Folien,
  • einer PDF-Version derselben,
  • dem in der Demo verwendeten Quelltext,
  • ein Videoclip der Demo,
  • einer Installationsbeschreibung, und
  • einem Demo-Script.

Eine Vorversion der schriftlichen Ausarbeitung ist spätestens eine Woche nach dem Vortrag bei einem der Betreuer als PDF-Dokument einzureichen. Sie soll Elemente der sich an den Vortrag anschließenden Diskussion aufgreifen und behandeln. Die Vorversion wird innerhalb einer Woche begutachtet und zur Endausfertigung an den Teilnehmer zurückgegeben. Die Kommentare des Gutachters sind bei der Anfertigung der Endfassung zu berücksichtigen. Die Endfassung ist am Ende der Vorlesungszeit per Email abzugeben. Sie besteht aus

  • den Dokumentquellen der Ausarbeitung und
  • einer PDF-Version derselben.

Alle im Rahmen des Seminars erstellten Dokumente und Quelltexte sollten unter der MIT-Lizenz und, falls notwendig, mit einer den verwendeten Systemen kompatiblen Lizenz bereitgestellt werden. Wird das Einreichen verlangter Dokumente bis zum jeweils angegebenen Datum versäumt, so gelten diese als nicht eingereicht, was zur Abwertung der Gesamtleistung führt.

Termine

Donnerstags, 13.30-15.00 Uhr, Raum A-1.2

Mögliche Änderungen siehe Stundenplan.

Allgemeine Information

  • Semesterwochenstunden : 2
  • ECTS : 3
  • Benotet : Ja
  • Einschreibefrist : 22.04.2016
  • Programm : IT-Systems Engineering BA
  • Lehrform : S
  • Belegungsart : Wahlpflicht

Module

  • Software Architecture & Modeling Technology

Zurück