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 2010

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

Die Bestehensgrenze wurde auf 45 Punkte herabgesetzt.

Die Klausureinsicht findet am Mittwoch, den 28.07. von 11:30-12:30h in Raum 205a (Robert-Mayer-Str. 11-15, Informatik) statt.
Klausur
Die PRG-2 Klausur fand statt am Freitag den 23. Juli um 9:00 Uhr.
Haskell Compiler - GHC
Hinweise zum Benutzen und zur Selbstinstallation des GHC / GHCi sind auf dieser Seite zu finden.
Übungsgruppen
Zur Teilnahme an den Übungen war eine Anmeldung bis Montag, den 19. April 2010 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 Magnus-Hörsaal
Übung
Zur Teilnahme an den Übungen war eine Anmeldung bis Montag, den 19. April 2010 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 Montag Dienstag Mittwoch Donnerstag Freitag
8-10 Kai Ackermann
prg2.kai@ki.informatik.uni-frankfurt.de
Riedberg, Phys 02.210
10-12 Nicolas Torchalla
prg2.nicolas@ki.informatik.uni-frankfurt.de
NM 117
Viktor Gesiarz
prg2.viktor@ki.informatik.uni-frankfurt.de
Rob.Mayer-Str. 10 - 711 (klein)
12-14 Frank Abromeit
prg2.frank@ki.informatik.uni-frankfurt.de
NM 133
Anja Gerbes
prg2.anja@ki.informatik.uni-frankfurt.de
NM 116
Daniel Biedermann
prg2.daniel@ki.informatik.uni-frankfurt.de
NM 117
Manuel Penschuck
prg2.manuel@ki.informatik.uni-frankfurt.de
NM 123
Unterlagen Teil I: Funktionales Programmieren & Compilerbau
Skript
Folien
Programme
Unterlagen Teil II: Objektorientiertes Programmieren & Datenbanken
Folien
Programme
  • Java-Programme aus der Vorlesung:
    HW.java - Das finale HalloWelt-Programm aus der Vorlesung (mit JavaDoc).
    MySpeech.java - Das Programm für die Sprachausgabe. Für erfahrene Programmierer, wobei zusätzliche Bibliotheken aus dem Netz ( http://freetts.sourceforge.net/docs/index.php) heruntergeladen werden müssen.
    PRG2DB.zip - Programm (Eclipse-Projekt) mit welches eine Einfach Verbindung zur lokal vorhandenen MySQL-DB vornimmt, eine Anfrage ausführt und das Ergebnis ausgibt.
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 sind 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.
Aufgabenbatt 1
Aufgabenblatt 1 ist bis zum 21.04.2010 zu lösen.
Aufgabenbatt 2
Aufgabenblatt 2 ist bis zum 28.04.2010 zu lösen.
Aufgabenbatt 3
Aufgabenblatt 3 ist bis zum 05.05.2010 zu lösen.
Aufgabenbatt 4
Aufgabenblatt 4 ist bis zum 12.05.2010 zu lösen.
Aufgabenbatt 5
Aufgabenblatt 5 ist bis zum 19.05.2010 zu lösen.
Aufgabenbatt 6
Aufgabenblatt 6 ist bis zum 26.05.2010 zu lösen.
CombParser.hs Parser-Kombinatoren die in Aufgabe 2 benötigt werden.
Bsp. zu Parser-Kombinatoren und kommentierter Quellcode
Aufgabenbatt 7
Aufgabenblatt 7 ist bis zum 9. Juni 2010 zu lösen.
Aufgabenbatt 8
Aufgabenblatt 8 ist bis zum 16. Juni 2010 zu lösen.
Aufgabenbatt 9
Aufgabenblatt 9 ist bis zum 23. Juni 2010 zu lösen.
Aufgabenbatt 10
Aktualisiert am 23. Juni 12:40! Aufgabenblatt 10 ist bis zum 30. Juni 2010 zu lösen.
Dazu benoetigen Sie auch die folgende ZIP-Datei: MeineUni.zip.
Aufgabenbatt 11
Aufgabenblatt 11 ist bis zum 07. Juli 2010 zu lösen.
Aufgabenbatt 12 (last but not least)
Aufgabenblatt 12 ist bis zum 14. Juli 2010 zu lösen.
Weiteres Material

Zur Programmiersprache 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
Weitere Implementierungen: http://www.haskell.org/implementations.html
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#Textbooks
Tutorials
A Gentle Introduction to Haskell: http://www.haskell.org/tutorial/
Weitere Tutorials: http://www.haskell.org/haskellwiki/Books#Papers_available_on_the_Web

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.2010@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) 2010 KIST, DBIS, Impressum