Prof. Dr. Manfred Schmidt-Schauß Künstliche Intelligenz/Softwaretechnologie Fachbereich Biologie und Informatik/ Institut für Informatik Johann Wolfgang Goethe-Universität Frankfurt am Main Praktische Informatik 1 Wintersemester 2004/2005 Informationsblatt Organisation Vorlesung Die Vorlesung findet mittwochs von 10-12h in Hörsaal H und freitags von 10-12h in Hörsaal I statt. Informationsquellen Die WWW-Seite der Professur ist http://www.ki.informatik.uni-frankfurt.de, und alle die Veranstaltung Praktische Informatik 1“ betreffenden Informationen sind auch direkt über ” http://www.ki.informatik.uni-frankfurt.de/lehre/WS2004/Praktische-Informatik-I/main.html zu finden. Aktuelles wird auch durch Aushang im zweiten Stock des Informatik-Gebäudes bekannt gegeben. Eine Kopiervorlage von den Unterlagen zur Vorlesung können Sie aus der Institutsbibliothek ausleihen. Diese wird während des laufenden Semesters erweitert. Sie können die Unterlagen auch über die o.g. WWW-Seite ansehen oder herunterladen. Hinweise auf begleitende oder weiterführende Literatur zur Vorlesung, die teilweise als Buch oder im WWW zur Verfügung steht, entnehme man bitte dem Literaturverzeichnis am Ende. Scheinvergabe Der Leistungsschein wird vergeben, wenn die Klausur mit mindestens 50 Klausurpunkten (KP) von 100 erreichbaren KP bestanden wird. Durch erfolgreiche Teilnahme an den Übungen, die begleitend zur Vorlesung stattfinden, können jedoch bis zu 25 KP in die Klausur eingebracht werden, sofern Sie mindestens einmal in der Übung eine Lösung vorgerechnet haben. Hierbei findet die Umrechnung der Übungspunkte (ÜP) in Klausurpunkte nach folgender Formel statt: durch Übung erworbene KP = 25 × min(ÜP, 900) 900 Die Klausur wird am Freitag, den 11.02.2005 von 09:00-13:00 voraussichtlich in Hörsaal V im Hörsaalgebäude stattfinden. Um an der Klausur teilnehmen zu können, wird eine verbindliche Anmeldung erforderlich sein. Diese erfolgt über eine WWW-Seite, die in Kürze freigeschaltet wird. Weiterhin wird es eine Nachklausur geben. Diese findet am Freitag, den 11.03.2005 von 10:00-14:00 in Hörsaal V statt. Übung Für die Übung stehen zwölf Übungsgruppen zur Verfügung. Die entsprechenden Termine und Tutoren sind: Montag Dienstag 12-14h 14-16h 16-18h Donnerstag Freitag NM 103 NM 103 Y. Lorion S. Schäfer NM 103 NM 103 NM 123 NM 103 B. Schmidt D. Groh H. Lokau M. Poloczek NM 103 NM 125 NM 103 NM 123 NM 103 NM 113 D. Hauser E. Schmidt S. Derksen S. Fulle S. Radestock C. Wendel Um an der Übung teilnehmen zu können, ist eine Anmeldung bis zum 26. Oktober 2004 erforderlich. Die Anmeldung erfolgt über die Webseite zur Veranstaltung, bei der Sie drei Termine angeben müssen, zu denen Sie bevorzugt eine Übung besuchen möchten. Das entsprechende Formular wurde bereits freigeschaltet. Der zum Zugriff auf das Anmeldeformular benötigte Benutzername und das Passwort werden in der ersten Vorlesung bekannt gegeben. Die Zuordnung der Teilnehmer auf die verschiedenen Übungsgruppen wird nach dem Ende der o.g. Anmeldefrist auf der Webseite zur Veranstaltung bekannt gegeben. Es wird zwölf Aufgabenblätter gegeben, die wöchentlich i.A. mittwochs ausgegeben werden. Die Abgabe der Beantwortungen erfolgt in der darauf folgenden Woche mittwochs vor der Vorlesung. Die Beantwortungen sind grundsätzlich schriftlich abzugeben; Programme sind zusätzlich per E-Mail an den entsprechenden Tutor zu senden. Falls eine Aufgabe fordert Programme zu schreiben, so sind zum Erreichen der vollen Punktzahl die Quelltexte mit Kommentaren zu versehen und Testläufe der Programme durchzuführen und zu dokumentieren, auch wenn dies nicht explizit in der Aufgabenstellung gefordert wird. Das erste Aufgabenblatt wird am 27. Oktober ausgegeben. Die erste Übung findet Donnerstag den 4. November statt. Pro Aufgabenblatt gibt es 100 ÜP; von den insgesamt 1200 ÜP können 900 ÜP, wie im Abschnitt Scheinvergabe“ beschrieben, auf die Klausur angerechnet werden, sofern der Teilnehmer mindestens ” einmal vorgerechnet hat. Rechnerzugang Um die Rechner am Institut (diese stehen in den sog. Fischerräumen“) benutzen zu können, müssen Sie ” bei der Rechnerbetriebsgruppe Informatik (RBI) eine Zugangsberechtigung beantragen. Programmiersprachen Weder Vorlesung noch Übung sind als Programmierkurs gedacht, sondern werden wichtige Programmierkonzepte anhand der Programmiersprachen Haskell und Python vorstellen und anwenden. Um der Vorlesung folgen und die vermittelten Inhalte verstehen zu können, ist es daher notwendig, sich mit diesen Programmiersprachen zu beschäftigen, mehrere Programme zu schreiben, testen und laufen zu lassen. Für beide Sprachen sind Interpreter auf den Rechnern der RBI installiert die Sie benutzen können, sobald Sie Ihre Zugangsberechtigung erhalten haben. Außerdem sind sie für eine Vielzahl von Rechnern frei verfügbar und können problemlos geladen und installiert werden. Der Vorlesung liegt die Sprachversion Haskell 98“ zugrunde, deren Definition über die Homepage ” http://www.haskell.org, von Haskell genauso zu finden ist wie der Compiler GHC und die Interpreter GHCi (als Teil des GHC) und Hugs. Der GHC wird in der Version 6.2.1, Hugs in der Version vom November 2003 verwendet. Die Homepage von Python ist http://www.python.org. Python 2.3.4“ ist die der Vorlesung zugrunde ” liegende Sprachversion. Auf diesen Webseiten sind ebenfalls die gesamte Dokumentation und einführende Tutorials zu finden. Hilfestellungen bei Fragen Um bei eventuell auftretenden Schwierigkeiten optimale Unterstützung zu erhalten, ist es wichtig, sich stets einige Punkte vor Augen zu halten. Bevor man eine Frage stellt, sollte man folgendes getan haben: 1. Eine Antwort über das WWW gesucht (z.B. http://www.google.de) 2. Eine Antwort im Skript oder Handbuch gesucht 3. Eine Antwort durch Ausprobieren gesucht 4. Sich bei Kommilitonen nach ähnlichen Problemen erkundigt Sollte all dies keinen Erfolg gebracht haben, so ist es notwendig, die Schwierigkeiten möglichst präzise einzugrenzen bzw. zu spezifizieren. Erst mit Hilfe dieser Information können die richtigen Ansprechpartner gefunden werden, zum Beispiel: • Fragen zu den Übungsaufgaben sollten grundsätzlich im Tutorium geklärt werden. Bei Unklarheiten hält der Tutor gegebenenfalls Rücksprache. • Bei allgemeinen Problemen mit den Rechnern in den Fischerräumen oder dem Internetzugriff auf die Informatik insgesamt bitte an die RBI wenden. • Spezifische Schwierigkeiten in unmittelbarem Zusammenhang — mit z.B. der Anmeldung zu den Übungen — an den E-Mail-Verteiler [email protected] melden. Wichtige Zusatzinformationen ergeben sich dabei aus den Ergebnissen der Versuche zu (1) bis (4), daher sollten diese sinnvollerweise auch dargestellt werden. Dies hat zudem den angenehmen Effekt, die eigenen Bemühungen, selbst eine Lösung für das Problem zu finden, zu dokumentieren. Außerdem braucht man neben dem richtigen Adressaten auch noch die richtige Ansprache, d.h. besonders bei E-Mail ist auf eine aussagekräftige Betreffzeile zu achten, aber auch der Tutor wird für eine knappe, treffende Schilderung dankbar sein. Stichworte wie z.B. Hugs funktioniert nicht“, GHCi meldet Fehler“ ” ” oder Übungsanmeldung nicht möglich“ sind dafür schlecht geeignet. Als besser könnte sich stattdessen ” Exception xyz bei Hugs auf Windows ME“, Unresolved Overloading in GHCi“ o.ä. erweisen. ” ” Die vorigen Ausführungen sind an die Webseite How To Ask Questions The Smart Way“ von Eric ” Steven Raymond angelehnt, die Lektüre von http://www.catb.org/~esr/faqs/smart-questions.html ist daher empfehlenswert. Literatur [AL92] Appelrath, Hans-Jürgen und Jochen Ludewig: Skriptum Informatik - eine konventionelle Einführung. Teubner Verlag, 1992. [AS85a] Abelson, Harold und Geral Jay Sussman: Structure and interpretation of Computer Programs. MIT Press, 1985. [AS85b] Abelson, Harold und Geral Jay Sussman: Struktur und interpretation von Computer Programmen. Springer-Verlag, 1985. [AU92] Aho, Alfred V. und Jeffrey D. Ullman: Foundations of Computer Science. Computer Science Press, 1992. [BG91] Bauer, Friedrich L. und Gerhard Goos: Informatik 1. Teubner Verlag, 1991. 4.te Auflage. [Bir98] Bird, Richard: Introduction to Functional Programming using Haskell. Prentice-Hall International, London, 1998. [Bro00] Brookshear, J.Glenn: Computer Science, an overview. Addison-Wesley, 2000. [BW88] Bird, Richard und Philip Wadler: Introduction to Functional Programming. Prentice-Hall International, London, 1988. [CK04] Chakravarty, Manuel M. T. und Gabriele C. Keller: Einführung in die Programmierung mit Haskell. Pearson Studium, 2004. [Coy92] Coy: Sichtweisen der Informatik. Vieweg, 1992. [GL90] Goldschlager, Les und Andrew Lister: Informatik – Eine moderne Einführung. Hanser Verlag, 1990. [GS98] Gumm, H.-P. und M. Sommer: Einführung in die Informatik, 1998. Oldenbourg Verlag. [Man89] Manber, Udi: Introduction to algorithms. Addison Wesley, 1989. [Pep92] Pepper, Peter: Grundlagen der Informatik. Oldenbourg, 1992.