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 2009

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 46 Punkte herabgesetzt.
Die Klausureinsicht findet am Freitag, den 24.07. von 10-12h in Raum 205a (Robert-Mayer-Str. 11-15, Informatik) statt.
Klausur
Die Klausur fand am Montag den 20.Juli statt.
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 20. April 2009 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 vonHerrn Prof. Dott. Ing. R. Zicari (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 20. April 2009 14h erforderlich. Die Verteilung der Teilnehmer und Teilnehmerinnen hat stattgefunden. Über den folgenden Button können Sie erfahren, welcher Übungsgruppe sie zugeordnet wurden:
Übungszuordnung
Übungsgruppen:
Zeit Montag Dienstag Mittwoch Donnerstag Freitag
8-10 Stephan Matthias Grein
prg2-stephan@ki.informatik.uni-frankfurt.de
NM 116
Marc Vogel
prg2-marc@ki.informatik.uni-frankfurt.de
NM 116
10-12

12-14 Anja Gerbes
prg2-anja@ki.informatik.uni-frankfurt.de
NM 116
Anja Gerbes
prg2-anja@ki.informatik.uni-frankfurt.de
NM 118
Sandra Kiefer
prg2-sandra@ki.informatik.uni-frankfurt.de
NM 116
Igor Geier
prg2-igor@ki.informatik.uni-frankfurt.de
NM 119
Frank Abromeit
prg2-frank@ki.informatik.uni-frankfurt.de
SR 9
Asmaa Edres
prg2-asmaa@ki.informatik.uni-frankfurt.de
Rob.Mayer-Str. 10 - 711 (groß)
am Brett links neben Zimmer 216, 2.Stock, Informatikgebäude (Robert-Mayer-Str. 11-15) aus.
Unterlagen Teil I: Funktionales Programmieren & Compilerbau
Skript
Folien
Programme
Unterlagen Teil II: Datenbanken & Java
Einführung in Datenbanken
Einführung in Java
Klausur
Die Klausur findet am Montag, 20.Juli um 9 Uhr in den Räumen: Magnus Hörsaal, sowie in der Georg-Voigt-Straße: Räume G I, G II, und G III statt.
PRG2-Klausuranmeldung ist ab dem 25.06.2009 bis zum 09.07.2009 unter folgendem Link möglich:
http://www.dbis.cs.uni-frankfurt.de/anmeldung/prg2/klausur/
Aufgaben
Die Abgabe der Aufgabenblätter ist jeweils bis zum Beginn der Vorlesung am Mittwoch möglich.
Verpä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 22.04.2009 zu lösen.
Aufgabenbatt 2
Aufgabenblatt 2 ist bis zum 29.04.2009 zu lösen.
Aufgabenbatt 3
Aufgabenblatt 3 ist bis zum 06.05.2009 zu lösen.
Aufgabenbatt 4
Aufgabenblatt 4 ist bis zum 13.05.2009 zu lösen.
Aufgabenbatt 5
Aufgabenblatt 5 ist bis zum 20.05.2009 zu lösen.
zu Aufgabe 2: Ist keine Herleitung möglich, da das angebene Wort nicht in der Sprache liegt, dann ist dies auch eine Lösung. Hierbei wäre eine Begründung, warum das Wort nicht herleitbar ist, wünschenswert.
Aufgabenbatt 6
Aufgabenblatt 6 ist bis zum 27.05.2009 zu lösen.
Aufgabenbatt 7
Aufgabenblatt 7 ist bis zum 10.06.2009 zu lösen.
Aufgabenbatt 8
Aufgabenblatt 8 ist bis zum 17.06.2009 zu lösen.
Aufgabenbatt 9
Aufgabenblatt 9 ist bis zum 24.06.2009 zu lösen.
Aufgabenbatt 10
Aufgabenblatt 10 ist bis zum 01.07.2009 zu lösen.
Aufgabenbatt 11
Aufgabenblatt 11 ist bis zum 08.07.2009 zu lösen.
Matrix-Klassen
Aufgabenbatt 12
Aufgabenblatt 12 ist bis zum 15.07.2009 zu lösen.
unsortiert.txt für Aufgabe 2.
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
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:
Installation, Doku und Beispiele für die freie Datenbank MySQL: http://www.dbis.informatik.uni-frankfurt.de/
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-Vorkurs für das PRG-Praktikum von 2007: Java-Intensivkurs (mit Unterlagen und vielen nützlichen Links)
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@informatik.uni-frankfurt.de wenden.
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) 2007 KIST, DBIS, Impressum