Fachbereich Informatik und Mathematik Modul: Programmierung B-PRG Grundlagen der Programmierung 2 SS 2008
Überblick PRG-2 2
Personen Teil 1: - Prof. Dott. Ing. Roberto V. Zicari - Dr. Karsten Tolle - Natascha Hoebel [Zi. 504, R.M. 10] - Clemens Schefels [Zi. 503, R.M. 10] (Datenbanken und Informationssysteme) Teil 2: - Prof. Dr. Manfred Schmidt-Schauß - David Sabel [Zi. 216, R.M. 11-15] (Künstliche Intelligenz und Softwaretechnologie) 3
Personen (Forts.) 9 Tutoren für Teil 1 und Teil 2 - Frank Abromeit - Tim Föller - Igor Geier - Anja Gerbes - Desilava Ilieva - Markus Palcer - Conrad Rau - Muhammed Sayar - Claudia Stockhausen 4
Struktur 3 SWS Vorlesung für alle Studenten 2 SWS Übung aufgeteilt in 10 Gruppen 5
Raum und Zeiten Vorlesung: Wann? - Mittwochs, 9.30-11.45 Uhr (ohne Pause) bzw. 9.30 12.00 Uhr mit Pause für Teil 2 Vorlesung: Wo? - Magnus Hörsaal Übung: Wann / Wo / Wer? - Übungen beginnen ab: 9.4.2008-10 verschiedene Gruppen, von den Tutoren geleitet zu folgenden alternativen Zeiten und Räume: Di, Mi, Fr, 12:00-14:00, NM 116 Mo, 10:00-12:00, 711 (klein) Mo, 14:00-16:00, NM 110 Di, 16:00-18:00, NM 116 Do, 10:00-12:00, 14:00-16:00, NM 117 Fr, 8:00-10:00, NM 116 Fr, 12:00-14:00, NM 118 6
Die Übung ist ein wichtiger Baustein für die Note Insgesamt 12 Aufgabenblätter 100 Punkte pro Aufgabenblatt, somit 1200 Punkte insgesamt. Anmeldung zur Übung über unsere Webseite bis Montag, den 7. April 14:00h: www.informatik.uni-frankfurt.de/~prg2 Passwort: XXXXX Falls Sie das Passwort vergessen: Das Passwort hängt aus am Brett neben Zimmer 216, Robert-Mayer-Str.11-15 7
Übungsblätter-Prozess Ausgabe: mittwochs, vor der Vorlesung Abgabe: 1 Woche später, vor der Vorlesung und Ausgabe des nächsten Blattes 8
LINKS Alle heute genannten Links finden Sie auf der PRG2 Webseite www.informatik.uni-frankfurt.de/~prg2 9
Wie bekomme ich eine Studienleistung in PRG 2? Klausur (zwingend notwendig) + Übung aus beidem Berechnung der Note 10
Klausur Am Montag, 7. Juli um 9.00 Uhr Dauer: 160 Minuten Anmeldung für die Klausur - Informationen dazu in den letzen 4 Wochen auf der Webseite (www.informatik.uni-frankfurt.de/~prg2) Raum: Magnus, GV1, GV2, GV3 (bitte kurz vorher noch mal auf der Webseite nachschauen) Bitte prüfen Sie ob Ihr Studiengang eine ordentlich (d.h. fristgerechte) Anmeldung bei Ihrem Prüfungsamt erfordert. Z.B. bei Bachelor Physik, ist PRG2 eine Prüfungsklausur. 11
Übersicht Punkte 12
Studienleistung-Benotung Noten Bachelor: 1,0 1,3 1,7 2,0 2,3 2,7 3,0 3,3 3,7 4,0 5,0 Punkte 86,0 82,0 78,0 74,0 70,0 66,0 62,0 58,0 54,0 50,0 0,0 (Erhaltene Punkte für Klausur + Bonuspunkte für Übung) Ab 45 Punkten gibt es die Möglichkeit zur Nachprüfung! Eine Studienleistung zu PRG-1 oder PRG-2 ist Voraussetzung für die Modulabschlussprüfung zu B-PRG. Die Modul-Note geht in die Bachelor Gesamtnote ein als Teil der Basismodule, gewichtet nach CP. (siehe Ordnung 25, Absatz 7) 13
Auf einen Blick: Übung + Klausur 6 6 25 Bonuspunkte sind erreichbar, davon je 12,5 pro Teil. Für die 12,5 benötigt man jeweils 450 der 600 Übungspunkte pro Teil. mind. einmal pro Teil vorrechnen, um Bonuspunkte für Klausur angerechnet zu bekommen 14
Nochmal: Wie Übungen angerechnet werden Anrechnung von maximal 25 Bonuspunkten für die Klausur Anrechnung erfordert mind. einmal vorrechnen pro Vorlesungsteil! Pro Teil: Anrechnung von max. 450ÜP (=12,5KP) der 600 ÜP 15
Übungspunkte - Beispiel für Anrechnung Teil 1 Übungspunkte für Teil 1 50 100 150 200 250 300 350 400 450 500 550 600 Ergibt Punkte für Klausur 1,4 2,8 4,2 5,6 6,9 8,3 9,7 11,1 12,5 12,5 12,5 12,5 16
Ressourcen Web - Aktuelle Informationen - Unterlagen zur Vorlesung: Skript, Folien, Programme, - Übungsaufgaben, - Informationen zu den Programmiersprachen www.informatik.uni-frankfurt.de/~prg2 Email - bei organisatorischen Fragen, Anmerkungen - oder sonstigen allgemeinen Problemen prg2@informatik.uni-frankfurt.de 17
Fragen? 18
Einordnung in Bachelor Module 19
PRG1 - Inhalte Grundlegende Elemente Was ist Informatik - Grundlegende Elemente und Konzepte imperativer und objektorientierter Sprachen: Datenstrukturen, Kontrollstrukturen, Datentypen (Prof. Krömker) Softwaretechnik Elemente der Softwaretechnik, vom Problem zum Algorithmus, Algorithmenentwurf, Entwicklungszyklen, Modularisierung, Anforderungen, Spezifikation, Korrektheit, Testen, Dokumentation (Prof. Drobnik) Betriebssysteme Grundlagen von Betriebssystemen, Aufgaben und Struktur, Prozesse, Nebenläufigkeit, Synchronisation und Kommunikation, Dateien und Dateisysteme, Sicherheit und Schutzmechanismen, Systemaufrufe (Prof. Brause) Rechnernetze Rechnernetze und Verteilte Systeme, Dienste und Protokolle, Kommunikationssysteme, Internet, Netzarchitekturen und Netzsicherheit. (Prof. Drobnik) 20
PRG2: Inhalt Teil 1 (Zicari) Einführung in relationale Datenbanksysteme - Entity-Relationship-Model (ER) - Relationales Datenmodell - ER-Mapping - SQL (Transaktionen, Basics) - Normalisierung Einführung in Java - Datentypen, Kontrollstrukturen - Vererbung, Ausnahmen - Java im Detail 21
Zeitplan Teil 1 Datum 02.04.2008 Vorlesung Einführung (~1h) / ER-Diagramm (~2h) Übung ER-Diagramm / MySQL Basics (Installation) 09.04.2008 16.04.2008 23.04.2008 30.04.2008 07.05.2008 14.05.2008 07.07.2008 Relational-Model / ER-Diagramm Mapping ER-Mapping / SQL (Transaktionen basics) Normalisierung JAVA und Objektorientierung: Grundlagen, Überblick, erste Schritte Kontrollstrukturen und wichtige Pakete Datentypen, Kommentare, Java im Detail, Ausnahmen Klausur Theorie / MySQL (Tabellen erstellen etc.) Theorie / MySQL (Daten eingeben, etc.) Theorie / Normalisierung in MySQL 22
Software für Datenbanken - Installation, Doku und Beispiele für die freie Datenbank MySQL: www.dbis.informatik.unifrankfurt.de/teaching/?mode=art&l=e&aid=277 &tmid=4&smid=10 für Java - Entwicklungsumgebung: Eclipse www.eclipse.org/downloads/ - Java Compiler JDK 6 und Virtuelle Maschine JRE 6: java.sun.com/javase/downloads/index.jsp Die Software können Sie frei unter den genannten Links herunterladen und auf Ihrem eigenen PC installieren oder Sie nutzen die RBI-PCs in den Fischerräumen! 23
Literatur zu Datenbanken Deutsch - A. Kemper, A. Eickler: 'Datenbanksysteme - Eine Einführung', 6. Auflage Oldenburg Verlag, 2006 - Ramez Elmasri und Shamkant B. Navathe, 'Grundlagen von Datenbanksystemen', Pearson Studium, 2002 - Gottfried Vossen, 'Datenbankmodelle, Datenbanksprachen, Datenbankmanagement-Systeme', Oldenbourg, 2000 Englisch - Batini, Ceri, Navathe, 'Database Design: An Entity Relationship Approach', Addison Wesley, 1991 - Bernstein, Hadzilacos, Goodman, 'Concurrency Control and Recovery in Database Systems', Addison-Wesley, 1987 24
Literatur zu Java Java API Spezifikation: http://java.sun.com/javase/6/docs/api/ Horstmann, Cornell: "Core Java 2, Band 1", Addison-Wesley Reading als Vorbereitung: Thinking in Java 3 von Bruce Eckel Kapitel 1: Introduction to Objects http://www.smart2help.com/e-books/tij- 3rd-edition/TIJ3.htm (oder http://mindview.net/books/tij4) 25
Weitere Literatur zu Java Java Homepage Sun: http://java.sun.com Java Tutorial: http://java.sun.com/new2java/ Java News: http://www.onjava.com/ siehe diverse Java-Bücher in der Informatik-Bibliothek 26
PRG2: Inhalt Teil 2 (Schmidt-Schauß) Programmiersprachen: Paradigmen rekursives Programmieren in Haskell Ströme als unendliche Listen in Haskell Operationale Semantik: Haskell Sortieren, Suchen und Bäume Polymorphe Typen und Typklassen Compilerbau; Einführung 27
Literatur zu Haskell Haskell-Website: www.haskell.org Manuel Chakravarty und Gabriele Keller: Einführung in die Programmierung mit Haskell Richard Bird: Introduction to Functional Programming Using Haskell Simon Thompson: Haskell: The Craft of Functional Programming Graham Hutton Programming in Haskell (2007) SOFTWARE http://www.informatik.unifrankfurt.de/~prg2/ 28
LINKS Alle heute genannten Links finden Sie auf der PRG2 Webseite www.informatik.uni-frankfurt.de/~prg2 29