Links und Funktionen
Sprachumschaltung

Navigationspfad
Sie sind hier: Startseite / Lehre / SS 2018 / Programmierung und Modellierung


Inhaltsbereich

Programmierung und Modellierung

Vorlesung, 3-std., Mo 12-14 & Mi 16-18, Jost


Bitte beachten
Sie die aktuelle Hinweise & Termine am rechten Rand dieser Webseite, welche Sie auch per RSS-Feed beziehen können.


Inhalt

Die Vorlesung führt in grundlegende Prinzipien der Programmierung und der Datenmodellierung mit einer funktionalen Programmiersprache ein. Die wesentlichen Themen sind: Datentypen, Funktionen und Rekursion, Auswertung und Terminierung von Programmen, Typsysteme und Typinferenz, Polymorphie und Typklassen. Semantik von Programmiersprachen. Dabei wird auf begriffliche Klarheit und präzise mathematische Fundierung mit formalen Methoden Wert gelegt. 


Organisation

Übungsbetrieb

Das neue Übungsblatt wird anfangs immer am Donnerstag elektronisch herausgegeben. Achtung: Die Übungen am Donnerstag und Freitag beginnen gleich in der ersten Vorlesungswoche!

Die Abgabe der Hausübungen zur Korrektur erfolgt ebenfalls elektronisch. Weitere Details zur Abgabe werden in der ersten Vorlesung bekanntgegeben. Die Bearbeitungszeit beträgt meistens eine Woche und ist auf dem jeweiligen Übungsblatt angegeben.

Die Übungen werden primär nach dem Kleingruppenkonzept abgehalten, d.h. die neuen Übungsblätter müssen nicht vorbereitet werden - als Vorbereitung reicht es aus, vorausgegangenen Vorlesungen aufmerksam gefolgt zu sein. Zu Beginn der Übung werden die Hausaufgaben des letzten Übungsblattes besprochen; dazu werden vorab Musterlösung zur vorangegangenen Übung elektronisch zur Verfügung gestellt. Danach werden die A-Aufgaben in Gruppen zu 2-4 Studenten in eigenem Tempo bearbeitet. Jede Gruppe sollte mindestens einen Laptop mit GHCI dabei haben. Der Tutor beantwortet lediglich individuell aufkommende Fragen. Die Hausaufgaben sollten dann möglichst einen Tag zur Wiederholung des Stoffes individuell bearbeitet werden. Die Hausaufgaben sind meist vereinfachte Varianten der A-Aufgaben. Für den Klausurbonus können die Aufgaben alleine oder in Gruppen von bis zu 3 Studierenden eingereicht werden.


Zeit und Ort

VeranstaltungZeitOrtBeginn
Vorlesung Mo, 12-14 Uhr
B 101 (Hauptgebäude) 9.04.
Vorlesung Mi, 16-18 Uhr B 201 (Hauptgebäude) 11.04.
Übung Di 12-14 Uhr Theresienstr. 41, C 113 17.04.
Übung Di 14-16 Uhr Theresienstr. 41, C 113
Übung Di 16-18 Uhr Geschw.-Scholl-Pl. 1 (M), M 001
Übung Di 18-20 Uhr Geschw.-Scholl-Pl. 1 (D), D Z001
Übung Mi 10-12 Uhr Geschw.-Scholl-Pl. 1 (M), M 001 18.04.
Übung Do 10-12 Uhr Theresienstr. 39, B 046 12.04.
Übung Do 12-14 Uhr Theresienstr. 39, B 047
Übung Do 12-14 Uhr Geschw.-Scholl-Pl. 1 (D), D Z001 03.05.
Übung Do 16-18 Uhr Geschw.-Scholl-Pl. 1 (D), D Z001 12.04.
Übung Do 18-20 Uhr Geschw.-Scholl-Pl. 1 (D), D Z005
Übung Fr 10-12 Uhr Theresienstr. 39, B 047 13.04.
Übung Fr 12-14 Uhr Theresienstr. 39, B 134
Übung Fr 14-16 Uhr Geschw.-Scholl-Pl. 1 (D), D Z001
Übung für Teilnehmer ohne Laptop Mi 14-16 Uhr CIP-Pool "Kalahari", Oettingenstr. 67 18.04.

 


Planung


Die Vorlesung hat einen planmäßigen Umfang von 3 Semesterwochenstunden. Anstatt jede Woche 3 Stunden am Stück zu halten (14x3), werden wir stattdessen 2 mal 2 Stunden pro Woche abhalten. Daher entfallen einige Vorlesungstermine irregulär, damit der Umfang wieder dem Soll entspricht (21x2).

Die Übungen finden dagegen durchgehend jede Woche statt.

Hinweis: Die Terminplanung kann sich noch jederzeit ändern. Insbesondere die Themen können sich je nach Fortschritt der Vorlesung verschieben und ändern. Der aktuellste Stand ist immer direkt hier zu sehen.

Planung 2018
NrDatumThemaFolienkapitel
1. Mo 9.4. Einführung 01
2. Mi 11.4. Funktionsbegriff, Basistypen 01 + 02
3. Mo 16.4. Funktionsdefinition, Grundlegende Ausdrücke 02 
4. Mi 18.4. Rekursion & Termination 03
5. Mo 23.4. Rekursion & Induktion 03
6. Mi 25.4. Benutzerdefinierte Datentypen 04
Mo 30.4. (entfällt)
7. Mi 2.5. Polymorphie, Typklassen & Module 05
8. Mo 7.5. Funktionen höherer Ordnung 06
Mi 9.5. (entfällt)
9. Mo 14.5. Algorithmen auf Baumstrukturen 07
10. Mi 16.5. Laufzeitbetrachtungen 07
Mo 21.5. (entfällt, Pfingsten)
11. Mi 23.5. Binäre Suchbäume, Funktionale Datenstrukturen 08
12. Mo 28.5. Typsysteme 08
Mi 30.5. (entfällt)
13. Mo 4.6 Typinferenz 08
14. Mi 6.6. I/O, Applikative Funktoren, Monaden 09
15. Mo 11.6. I/O, Applikative Funktoren, Monaden 09
16. Mi 13.6. Parallele Auswertung 10
17. Mo 18.6. Verzögerte Auswertung 11
18. Mi 20.6. Striktheit 11
Mo 25.6. (entfällt eventuell)
19. Mi 27.6. Semantik 12
Mo 2.7. (entfällt eventuell)
20. Mi 4.7. Semantik 12
21. Mo 9.7. Ausblicke / Wiederholung / Fragen
Mi 11.7. (entfällt sicher)

 


Materialien


Klausuren


Erstklausur

  • Termin: Mittwoch 25.7.18 von 14-17 Uhr
  • Anmeldezeitraum: von So 17.06.2018 bis 17.07.2018
  • Ort & Raumeinteilung: wird hier 1-2 Tage vor der Klausur bekanntgegeben
  • Klausureinsicht: wird hier noch bekanntgegeben

Nachklausur

  • Termin: Mittwoch 26.9. von 10-13 Uhr
  • Anmeldezeitraum:  von Mo 13.08.2018 bis Mo 17.09.2018, 23:59
  • Ort & Raumeinteilung: wird hier 1-2 Tage vor der Klausur bekanntgegeben
  • Klausureinsicht: wird hier noch bekanntgegeben

 

Hinweise zur Klausur

  • Alle behandelten Themen dieser Veranstaltung können in der Klausur abgefragt werden.
  • Eine rechtzeitige elektronische Klausuranmeldung ist zur Teilnahme zwingend erforderlich; eine Abmeldung ist bis eine Woche vor der Klausur ebenfalls möglich. Siehe dazu auch die Regelungen des Instituts für Informatik.
  • Man darf sich auch zur Nachklausur anmelden, ohne zuvor an der Erstklausur teilgenommen zu haben. Wer dies tut, verzichtet damit aber automatisch auf die Möglichkeit zur zügigen Klausurwiederholung, d.h. es wird von uns keine dritte Klausur mehr angeboten. Wer bei der Nachklausur durchfällt, kann diese Prüfung also erst wieder regulär im nächsten Sommersemester versuchen.
    Hinweis: Es kann sein, dass die für Sie gültige Prüfungsordnung die Wiederholunsgsversuche einschränkt. Dies wird durch Ihr Prüfungsamt kontrolliert, nicht durch uns. Wir melden die Noten lediglich ans Prüfungsamt weiter. Wenden Sie sich bei Fragen zur Ihrer Studienordnung an den für Sie zuständigen Studiengangskoordinator.

  • Jeder Teilnehmer muss einen gültigen Lichtbildausweis und seinen Studienausweis mitbringen.
  • Gehen Sie rechtzeitig vor Beginn in den Ihnen zugewiesenen Raum! (Raumeinteilung siehe weiter oben.)
  • Es sind keine Hilfsmittel zugelassen. Am Platz darf sich nur Schreibzeug, Ausweise und eventuell ein paar Nahrungsmittel befinden. Papier wird von uns gestellt und darf nicht mitgebracht werden. Taschen und Jacken müssen vorne an der Tafel abgelegt werden. Sollte jemand ein Telefon, mp3-Player, oder Ähnliches am Platz haben, ist das ein Täuschungsversuch, der dem Prüfungsausschuss gemeldet wird. Sollte ein Telefon klingeln, ist das eine Störung des Prüfungsablaufs und hat den Ausschluss von der weiteren Teilnahme zur Folge.
  • Wörterbücher sind nur zulässig, wenn diese mindestens 2 Tage vorher beim Lerhstuhl TCS abgegeben worden sind. Wir kontrollieren die Wörterbücher und bringen diese dann zur Klausur mit. Bitte außen am Wörterbcuh deutlich den Besitzer kennzeichnen.
  • Teilnehmer mit Nachteilsausgleichbescheinigung müssen uns vor Ablauf der Anmeldefrist formlos per eMail darüber informieren, so dass wir die entsprechenden Anforderungen gewähren können.
  • Hausaufgabenbonus 
    Durch sinnvolle Bearbeitung und Abgabe der Hausübungen per UniworX kann ein Bonus auf die Klausurnote erzielt werden. Dieser Bonus hilft nicht zum Bestehen, sondern nur zur Verbesserung. Der Bonus wird für Erstklausur und/oder Nachklausur im aktuellen Semester angerechnet, nicht jedoch bei späteren Wiederholungen dieser Veranstaltung. Weitere Details folgen auf dem ersten Übungsblatt.


Literatur

  • Miran Lipovača, "Learn You a Haskell for Great Good!", No Starch Press, 2011, ISBN 1-59327-283-9, kostenlose online-version verfügbar.
  • Graham Hutton, "Programming in Haskell", Cambridge University Press, 2007, ISBN 0-52169269-5.
  • Bryan O'Sullivan, Don Stewart, John Goerzen, "Real World Haskell", O'Reilly, November 2008, ISBN: 0-59651498-0, kostenlose online-version verfügbar.
  • Simon Thompson, "Haskell: The Craft of Functional Programming", Second Edition, Addison-Wesley, 1999. ISBN 0-201-34275-8.
  • Speziell für Induktion: Hans Jürgen Ohlbach und Norbert Eisinger, "Design Patterns für mathematische Beweise" — Ein Leitfaden insbesondere für Informatiker

Webseiten

Artikelaktionen


Funktionsleiste