Fachbereich Informatik und Mathematik
Institut für Informatik
Professur für Datenbanken und Informationssysteme
Professur für Künstliche Intelligenz und Softwaretechnologie
Uni Frankfurt Institut für Informatik
KIST DBIS

Grundlagen der Programmierung 2 [PRG-2]

Sommersemester 2011

Aktuelles
Klausurergebnisse und Einsicht
Die Klausurergebnisse sind über den folgenden Button abrufbar: und sie hängen links neben Zimmer 216 aus.

Die Klausureinsicht findet am Dienstag, den 09.08. von 10:00-12:00h in Raum 205a (Robert-Mayer-Str. 11-15, Informatik) statt.
Übungsgruppen
Zur Teilnahme an den Übungen war eine Anmeldung bis Montag, den 18. April 2011 14h erforderlich. Die Verteilung der Teilnehmer und Teilnehmerinnen hat stattgefunden. Über den folgenden Button können Sie erfahren, welcher Übungsgruppe Sie zugeordnet wurden:
Inhalt
Die Veranstaltung findet als gemeinsame Veranstaltung der Professuren für Künstliche Intelligenz und Softwaretechnologie (KIST) und für Datenbanken und Informationssysteme (DBIS) statt. Die erste Hälfte wird von Herrn Prof. Dr. M. Schmidt-Schauß (KIST) gehalten. Die zweite Hälfte wird von Herrn Dr. K. Tolle (DBIS) gehalten. Hierbei sind folgende Inhalte vorgesehen.
Übersicht über Sprachparadigmen:
Funktionale Programmierung, Rekursion und Iteration, Typisierung, Operationale Semantik für funktionale Programmiersprachen, parallele Programmierkonzepte.
Einführung in den Compilerbau
Einführung in die objektorientierte Programmierung:
Klassen, Objekte, Kommunikation, Vererbung, Architekturen von OO-Programmen, Java, UML.
Einführung in Datenbanksysteme:
Architekturen, konzeptionelle und logische Modelle, Entity- Relationship-Modell, Relationenmodell, Normalformen, Datenbankdesign, Abfragesprachen (SQL).
Vorlesung
Mi. 9-12 H II
Übung
Zur Teilnahme an den Übungen war eine Anmeldung bis Montag, den 18. April 2011 14h erforderlich. Die Verteilung der Teilnehmer und Teilnehmerinnen hat stattgefunden. Über folgenden Button können Sie erfahren, welcher Übungsgruppe sie zugeordnet wurden:
Übungszuordnung
Übungsgruppen:
Zeit
Mo
Di
Mi
Do
Fr
8-10
Anja Gerbes
prg2-gerbes@ki.informatik.uni-frankfurt.de
NM 103




10-12

Christian Grunert
prg2-grunert@ki.informatik.uni-frankfurt.de
NM 123
Markus Wondrak
prg2-wondrak@ki.informatik.uni-frankfurt.de
SR 11, Robert-Mayer-Str.

Nicolas Torchalla
prg2-torchalla@ki.informatik.uni-frankfurt.de
Jügelhaus, H 2
Nicolas Torchalla prg2-torchalla@ki.informatik.uni-frankfurt.de
NM 116
Ralf Hauenschild
prg2-hauenschild@ki.informatik.uni-frankfurt.de
NM 119

Markus Palcer
prg2-palcer@ki.informatik.uni-frankfurt.de
NM 119
Roman Lossa
prg2-lossa@ki.informatik.uni-frankfurt.de
NM 123

12-14
Sadik Yel
prg2-yel@ki.informatik.uni-frankfurt.de
NM 103
Markus Palcer prg2-palcer@ki.informatik.uni-frankfurt.de
NM 116
Alexey Mosesov
prg2-mosesov@ki.informatik.uni-frankfurt.de
SR 11, Robert-Mayer-Str.


Frank Abromeit
prg2-abromeit@ki.informatik.uni-frankfurt.de
NM 123

Unterlagen Teil I: Funktionales Programmieren & Compilerbau
Skript
Folien
Unterlagen Teil II: Java & Datenbanken
Folien
Programme
Aufgaben
Die Abgabe der Aufgabenblätter ist jeweils bis zum Beginn der Vorlesung am Mittwoch möglich.
Verspätete Abgaben werden i.A. nicht angenommen. Im Hörsaal werden entsprechende Kästen bereit gestellt.
Wer mittwochs morgen nicht pünktlich zur Abgabe erscheinen kann, hat die Möglichkeit sein Übungsblatt bereits vorher (z.B. Dienstag Nachmittag) abzugeben:
Links neben Raum 216 (2.Stock, Robert-Mayer-Str. 11-15 (Informatikgebäude)) ist ein weißer Briefkasten, in den die Abgaben eingeworfen werden können.

Bei der Abgabe sollten Sie beachten:
  • Ihr Name und Ihre Übungsgruppe (erfahren Sie ca. 1 Woche nach Anmeldung) sollten lesbar auf der ersten Seite Ihrer Abgabe stehen
  • Bei Abgabe im Hörsaal: Bitte die Abgabe in den richtigen Kasten werfen.
  • Zu implementierende Programme sollten stets zusätzlich zur Abgabe auf Papier auch per Email an den entsprechenden Tutor geschickt werden.
Aufgabenblatt 1
Aufgabenblatt 1 ist bis zum 20.04.2011 zu lösen.
Aufgabenblatt 2
Aufgabenblatt 2 ist bis zum 27.04.2011 zu lösen.
Aufgabenblatt 3
Aufgabenblatt 3 ist bis zum 04.05.2011 zu lösen.

Musterlösung zu Aufgabe 3: Berechnung von freien und gebundenen Variablen
Aufgabenblatt 4
Aufgabenblatt 4 ist bis zum 11.05.2011 zu lösen.
Aufgabenblatt 5
Aufgabenblatt 5 ist bis zum 18.05.2011 zu lösen.
Aufgabenblatt 6
Aufgabenblatt 6 ist bis zum 25.05.2011 zu lösen.
CombParser.hs Parser-Kombinatoren die in Aufgabe 2 benötigt werden.
Bsp. zu Parser-Kombinatoren und kommentierter Quellcode
Aufgabenblatt 7
Aufgabenblatt 7 ist bis zum 08.06.2011 zu lösen.
Aufgabenblatt 8
Aufgabenblatt 8 ist bis zum 15.06.2011 zu lösen.
Aufgabenblatt 9
Aufgabenblatt 9 ist bis zum 22.06.2011 zu lösen.
Das Greenfoot Scenario "fahrzeuge" für Aufgabe 1 von Blatt 9.
Aufgabenblatt 10
Aufgabenblatt 10 ist bis zum 29.06.2011 zu lösen.
Die GeoObj.zip Datei für Aufgabe 2 Blatt 10.
Aufgabenblatt 11
Aufgabenblatt 11 ist bis zum 06.07.2011 zu lösen.
Aufgabenblatt 12
Aufgabenblatt 12 ist bis zum 13.07.2011 zu lösen.
Videos
Unter PRG-2 Videos sind die Aufzeichnungen der PRG-2 Vorlesung zu finden. Benutzername und Passwort sind das Selbe, wie zur Übungsanmeldung.
Weiteres Material

Zur Programmiersprache Haskell:

Einführung in die Programmierung mit Haskell
Webseite des Vorsemesterkurses Informatik zum Sommersemester 2011 mit Skript (einführenden Informationen zur Programmierung in Haskell).
Offizielle Homepage zu Haskell
http://haskell.org
Haskell 98 Report (Offizielle Sprachdefinition von Haskell 98)
http://www.haskell.org/onlinereport (Online-Version)
http://haskell.org/definition/haskell98-report.pdf (PDF)
Dokumentation der 'Haskell Hierarchical Libraries' (Standard-Programmbibliotheken zu Haskell)
http://www.haskell.org/ghc/docs/latest/html/libraries/
Implementierungen
Haskell Platform: http://hackage.haskell.org/platform
Glasgow Haskell Compiler (GHC): http://haskell.org/ghc
Haskell User Gofer System (HUGS): http://haskell.org/hugs
Bücher
Manuel M. T. Chakravarty / Gabriele C. Keller: Einführung in die Programmierung mit Haskell
Simon Thompson: Haskell: The Craft of Functional Programming
Weitere Bücher: http://www.haskell.org/haskellwiki/Books
Tutorials
A Gentle Introduction to Haskell: http://www.haskell.org/tutorial/
Weitere Tutorials: http://www.haskell.org/haskellwiki/Tutorials

Zu Datenbanken:

Bücher
Batini, Navathe, Ceri: "Conceptual Database Design: An Entity-Relationship Approach", Benjamin-Cummings
Kemper, Eickler: "Datenbanksysteme. Eine Einführung", Oldenbourg
Ramez Elmasri und Shamkant B. Navathe, 'Grundlagen von Datenbanksystemen', Pearson Studium, 2002
Gottfried Vossen, 'Datenbankmodelle, Datenbanksprachen, Datenbankmanagement-Systeme', Oldenbourg, 2000
Bernstein, Hadzilacos, Goodman, 'Concurrency Control and Recovery in Database Systems', Addison-Wesley, 1987
SQL:
SQL Reference: http://www.sqltutorial.de/
SQL Tutorial: http://www.w3schools.com/sql/default.asp
SQL Course: http://sqlcourse.com/
SQL Tutorial: http://www.intermedia.net/support/sql/sqltut.asp

Zur Programmiersprache Java:

Entwicklungsumgebung: Eclipse: "www.eclipse.org/downloads/",
Entwicklungsumgebung: NetBeans: "www.netbeans.org/",
Java Compiler JDK 6 und Virtuelle Maschine JRE 6: "java.sun.com/javase/downloads/index.jsp",
Java Homepage Sun
http://java.sun.com
Java API Specification (Doku)
http://java.sun.com/javase/6/docs/api/
Weiterführendes
Java Tutorial: http://java.sun.com/new2java/
Horstmann, Cornell: "Core Java 2, Band 1", Addison-Wesley
Java News: http://www.onjava.com/
Java Buch: http://www.boku.ac.at/javaeinf/jein.html
Reading: Bruce Eckel Thinking in Java
Online Buch: Objektorientierte Programmierung von Bernhard Lahres, Gregor Rayman
Kontakt
Für allgemeine bzw. organisatorische Fragen können Sie sich per Email an prg2.2011@ki.informatik.uni-frankfurt.de
Weitere Informationen
Studienfächer / Studienrichtungen:
  • BSc Informatik: Pflichtveranstaltung im Basismodul B-PRG: Programmierung
  • L3 Informatik: Pflichtveranstaltung im Modul L3-CS-PRG Grundlagen der Programmierung
  • BSc Bioinformatik: Pflichtveranstaltung im Bioinf. Modul 2 Grundlagen der Programmierung (B-PRG)
  • BSc Physik der Informationstechnik: Pflichtveranstaltung im Modul 9: Informatik A
(c) 2011 KIST, DBIS, Impressum