Constraint-basierte Programmierung (Sommersemester 2014)
Lecturer:
Prof. Dr. Robert Hirschfeld
(Software-Architekturen)
,
Tim Felgentreff
(Software-Architekturen)
General Information
- Weekly Hours: 2
- Credits: 3
- Graded:
yes
- Enrolment Deadline: 1.4.2014 - 28.4.2014
- Teaching Form: Seminar
- Enrolment Type: Compulsory Elective Module
Programs, Module Groups & Modules
- 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
Description
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.
Requirements
- vertiefte Kenntnisse in einer dynamischen Programmiersprache
- von Vorteil sind Kenntnisse in:
- Constraint-basierter Programmierung
- Implementierung von Constraint Solvern
- Implementierung von Programmiersprachen
Examination
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