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

Constraint-basierte Programmierung (Sommersemester 2015)

Dozent: Prof. Dr. Robert Hirschfeld (Software-Architekturen)
Tutoren: Tim Felgentreff Jens Lincke

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, Ruby, Squeak, and Python. 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 benoteten Leistungspunkte sind die folgenden Anforderungen zu erfüllen:

  • Regelmäßige Anwesenheit beim Treffen mit den Projektbetreuern
  • Eigenständiges Studieren, Aufbereiten und Präsentieren wissenschaftlicher Arbeiten zum Thema
  • 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.

Termine

Topic Presentations

  • Tuesday, 14.4.2015, 9:15

Topic Assignments

  • Tuesday, 21.4.2015, 9:15

Intermediate Presentations

  • Tuesday, 19.5.2015, 9:15
  • Tuesday, 19.5.2015, 15:15

Final Presentations

  • Tuesday, 14.7.2015, 9:15
  • Tuesday, 14.7.2015, 15:15
  • Tuesday, 21.7.2015, 9:15

Allgemeine Information

  • Semesterwochenstunden : 4
  • ECTS : 6
  • Benotet : Ja
  • Einschreibefrist :
  • Programm : IT-Systems Engineering MA
  • Lehrform : S
  • Belegungsart : Wahlpflicht

Module

  • IT-Systems Engineering A
  • IT-Systems Engineering B
  • IT-Systems Engineering C
  • IT-Systems Engineering D
  • Operating Systems & Information Systems Technology
  • Software Architecture & Modeling Technology

Zurück