Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
 

Constraint-basierte Programmierung (Sommersemester 2014)

Dozent: Prof. Dr. Robert Hirschfeld (Software-Architekturen) , Tim Felgentreff (Software-Architekturen)

Allgemeine Information

  • Semesterwochenstunden: 2
  • ECTS: 3
  • Benotet: Ja
  • Einschreibefrist: 1.4.2014 - 28.4.2014
  • Lehrform: Seminar
  • Belegungsart: Wahlpflichtmodul

Studiengänge, Modulgruppen & Module

IT-Systems Engineering MA
  • IT-Systems Engineering A
  • IT-Systems Engineering B
  • IT-Systems Engineering C
  • IT-Systems Engineering D
IT-Systems Engineering BA

Beschreibung

A constraint is a relation that should be satisfied -- for example, that a line remains horizontal, that a resistor in an electrical circuit simulation obeys Ohm's Law, or that one column in a web page table is at least twice as wide as another. Constraints have been used in a variety of languages and systems, particularly in user interface toolkits, in planning and scheduling, in simulation, and in input rectification.

Constraints are declarative -- they specify what should be done rather than how. They thus offer flexibility in how they are applied, a property that can enable loosely coupled systems and modularization of specific concerns.

Our constraints research has been focused on the design and implementation of object-constraint languages, integrating constraints into standard object-oriented languages such as JavaScript and Ruby. In this seminar, we will explore applications of such languages, possible designs for integrating constraints into other languages, as well as the design and implementation of solvers specifically for integration with imperative languages.

Voraussetzungen

  • vertiefte Kenntnisse in einer dynamischen Programmiersprache
  • von Vorteil sind Kenntnisse in:
    • Constraint-basierter Programmierung
    • Implementierung von Constraint Solvern
    • Implementierung von Programmiersprachen

Leistungserfassung

Die Leistung wird durch die erfolgreiche Bearbeitung eines gewählten Themas in Gruppen von 3-4 Personen erbracht. Zur Erlangung der drei benoteten Leistungspunkte sind die folgenden Anforderungen zu erfüllen:

  • Regelmäßige Anwesenheit im Seminar bzw. beim Treffen mit den Projektbetreuern
  • Eigenständiges Studieren, Aufbereiten und Präsentieren wissenschaftlicher Arbeiten
  • Bearbeitung einer gewählten Problemstellung
  • Abschlusspräsentation der Projektergebnisse

Eine Woche vor der jeweiligen Abschlusspräsentation bespricht jede Gruppe die Vorversion der Vortragsunterlagen mit einem der Betreuer. 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,
  • einer Installationsbeschreibung und
  • einem Demo-Script

Alle im Rahmen der Veranstaltung erstellten Quelltexte sollten nach Möglichkeit unter der MIT-Lizenz und, falls notwendig, mit einer den verwendeten Systemen kompatiblen Lizenz bereitgestellt werden.

Zurück