Informatik 1

Freut euch auf einen spannenden Einstieg in die Informatik und die systematische Konstruktion von Programmen.

Das Erstellen von Programmen ist absolut essentiell in der “Informatik 1” —daher werden wir ca. 50% der Vorlesungszeit genau damit (nämlich am Rechner bzw. im Editor) verbringen. In der übrigen Zeit werden wir an der Tafel grundlegende Konzepte der Programmierung disktutieren.

Programmkonstruktion kann man mittels vieler Sprachen erlernen. In der kommenden “Informatik 1” werden wir die funktionale Programmiersprache Racket sprechen (ein Dialekt von Scheme). Racket ist gleichzeitig wunderbar einfach — wer den Zusammenhang zwischen 2 + 4 × 10 und (+ 2 (* 4 10)) sehen kann, ist auf der richtigen Spur 😉— und reich an Konzepten, die ihr im späteren Studium immer wieder antreffen und benutzen könnt.

Forum

Das zentrale Kommunikationsmedium der Vorlesung ist das Forum. Dort werden Verständnishilfen zur Vorlesung sowie Hilfestellungen zu Aufgaben gegeben und alle zur Vorlesung gehörigen Diskussionen geführt. Aufkommende Fragen sollten am Besten dort diskutiert werden, da die Kommilitonen davon ebenfalls profitieren können. Daher solltet Ihr diese Diskussionsplattform aktiv nutzen. Die Dozenten und Tutoren der “Informatik 1” werden dort ebenfalls durchweg präsent sein.

Darüberhinaus läuft die gesamte Vorlesungs-Infrastruktur über das Forum. Das bedeutet: euer Foren Account wird sowohl für die Einreichung eurer Lösungen der Übungen und Präsenzübungen (= Programmierübungen live in der Uni) genutzt, aber auch zum Einsehen eurer bisheriger Leistungen und zur Zuteilung zu Übungsgruppen / Präsenzübungsgruppen.

Meldet euch daher am besten sofort an: https://forum-db.informatik.uni-tuebingen.de/.

Übungen

Neben der Vorlesung dienen die wöchentlichen Übungsgruppen zur Unterstützung eures Lernerfolges. Dort besteht Gelegenheit, in kleinen Gruppen das Vorlesungsmaterial zu diskutieren, zu hinterfragen und zu durchdringen, sowie die Übungsaufgaben vor- und nachzubereiten. Jede Woche freitags, beginnend mit der ersten Semesterwoche (Kalenderwoche 42), wird ein Übungsblatt im Forum zum Download angeboten. Die Übungsblätter werden in Teams von zwei Personen aus derselben Übungsgruppe bearbeitet. Einzelabgaben sind nicht möglich (ausgenommen beim ersten Blatt). Die Tutoren werden die Teams gemeinsam mit euch in der ersten Übungsstunde einteilen.

Die Bearbeitungszeit für die Übungsblätter beträgt jeweils eine Woche. Die Ausgabe der Übungsblätter erfolgt freitags um 14:00 Uhr, die Abgabe der Lösungen ist bis Freitag, 14:00 Uhr, der folgenden Woche möglich. Eure Lösungen reicht ihr in elektronischer Form (auf einem sog. Hand-In-Server) ein. Bereits erbrachte Leistungen können hier eingesehen werden, sobald ein Foren-Account besteht.

Präsenzübungen

In den Präsenzübungen wird die praktische Fähigkeit des Programmierens, die ihr im Rahmen dieser Vorlesung erwerben sollt, in besonders intensiver Weise geübt. Jede Woche (beginnend mit der Kalenderwoche 44, d.h. ab dem 31. Oktober 2016) wird ein Präsenzübungsblatt mit Programmierübungen bereitgestellt. Die Lösungen sind in den Präsenzübungsstunden unter Anleitung und Aufsicht der Tutoren in Einzelarbeit zu erstellen.

Die Präsenzübungsstunden finden wöchentlich in den Informatik-Poolräumen auf der Morgenstelle (C-Bau, Ebene 2, Morgenstelle) an mehreren Terminen pro Woche statt. Für einen Termin könnt ihr euch in Kürze anmelden. Bitte beachtet, dass ihr zuerst einen Foren-Account benötigt.

Klausur und Benotung

Die 90-minütige Klausur zu dieser Vorlesung wird am Dienstag, den 7. Februar 2017, von 14:00–16:00 Uhr in den Hörsälen N5/N6/N7 (HSZ Morgenstelle) stattfinden.

Voraussetzung zur Klausurzulassung ist das Erlangen von mindestens 50% der Punkte in der Übung und der Präsenzübung.

Die Modulnote ergibt sich ausschließlich aus der Klausurnote. Durch die Übungen/Präsenzübungen können jedoch Bonuspunkte für die Klausur erlangt werden, wenn mehr als 50% der Übungspunkte erzielt wurden. Diese entsprechen — je nach Übungsleistung/Präsenzübungsleistung — bis zu 25% der Klausurpunkte. Die Übungspunkte werden allerdings nur verrechnet, wenn die Klausur bereits ohne Bonus bestanden wurde!

Am Dienstag, den 11.April 2017, wird eine Wiederholungsprüfung für diejenigen angeboten, die an der Hauptklausur teilgenommen und diese nicht bestanden haben oder dieser entschuldigt fern geblieben sind. Insbesondere ist es nicht möglich sich ohne Angabe von Gründen von der Hauptklausur abzumelden, anschließend aber die Nachklausur zu schreiben!

Racket (Software)

In der Vorlesung wird die funktionale Programmierung mit Racket betrachtet.

  • Die Programmierumgebung dafür steht online kostenlos zur Verfügung. Diese stellt eine komplette IDE inklusive Debugging-Funktionalitäten bereit.

  • Zusätzlich benötigt ihr für die Abgabe eurer Lösungen der Übungsaufgaben, ein Plug-in, dass ihr in Racket installieren müsst. Ladet dieses bitte ebenfalls herunter und installiert es.

Literatur

  • Klaeren, Sperber: Die Macht der Abstraktion

    (1. Auflage)

    Vieweg+Teubner, 2007

    ISBN 978-3-8351-0155-5

    Website zum Buch

  • Felleisen, Findler, Flatt, Krishnamurthi: How To Design Programs

    MIT Press, 2001

    ISBN 0-262-06218-6

    Website zum Buch

  • Haiperlin, Kaiser, Knight: Concrete Abstractions

    Thomson Learning, 1998

    ISBN 978-0534952112

    Website zum Buch

  • Ehrig, Mahr, Cornelius, Große-Rhode, Zeitz: Mathematisch-Strukturelle Grundlagen der Informatik

    (2. Auflage)

    Springer Verlag, 2013

    ISBN 978-3540419235

    Website zum Buch