Programmierkurs

Programmierkurs
Term: Winter Term 2017/18
Lecturer: Dr. Stefan Lang, Dr. Ole Klein, Dr. Steffen Müthing, Kontakt: ipk-ws2017@conan.iwr.uni-heidelberg.de
Time and location: Vorlesung Fr 14-16, INF 252 Hörsaal Ost; Übung Mo 11-13, Fr 9-11 Computer Pool INF 205, 3. Stock
Exam: Dienstag, 20.02.2018, 14:00 - 16:00

Nachklausur

Die Nachklausur findet am Freitag, den 13.04.2018, 13:00 - 15:00 in Raum 1.200 im Mathematikon statt.

  • Melden Sie sich bitte im MÜSLI-System für die Nachklausur an, wenn Sie teilnehmen möchten.
  • Sie können im MÜSLI auch einsehen, ob Sie für die Nachklausur zugelassen sind.
  • Anmeldefrist: 11.04.2018. Nach diesem Termin sind weder An- noch Abmeldungen möglich.
  • Sie müssen für die Nachklausur angemeldet sein und teilgenommen haben oder erkrankt gefehlt haben, um an der Nachklausur teilnehmen zu können. Falls Sie erkrankt waren, stellen Sie bitte sicher, dass wir vor der Nachklausur ein ärztliches Attest erhalten, sofern nicht bereits geschehen.

Klausur

Wegen der zeitlichen Nähe des ursprünglichen Termins zur Klausur in linearer Algebra haben wir den Klaustermin verschoben:

Klausurtermin NEU: Dienstag, 20.02.2018, 14:00 - 16:00

  • Für die Klausurzulassung benötigen Sie 11 Votierpunkte.
  • Melden Sie sich bitte im MÜSLI-System für die Klausur an, wenn Sie teilnehmen möchten.
  • Anmeldefrist: 12.02.2018. Nach diesem Termin sind weder An- noch Abmeldungen möglich.
  • Sie müssen für die Klausur angemeldet sein und teilgenommen haben, um an der Nachprüfung teilnehmen zu können. Sollten Sie am Klausurtermin krank sein, schicken Sie uns bitte eine kurze Email und reichen baldmöglichst ein ärztliches Attest nach.
  • Die Klausureinsicht findet am 23.02.2018 von 14:00 bis 15:00 Uhr im Mathematikon in Raum 1.414 statt.
  • Eventuelle Nachprüfungen werden in der Woche vom 09.04.2018 stattfinden.
  • Beispiel-Aufgaben

Ankündigungen

Bei Fragen: Email an ipk-ws2017@conan.iwr.uni-heidelberg.de. Senden Sie bitte keine Emails an die einzelnen Dozenten!

Vorlesungsmaterial

An dieser Stelle werden Foliensätze von Vorlesungen und Vorträgen zur Verfügung gestellt.

Folien der Einführungsveranstaltung

Folien der Unix-Einführung

Folien Standardbibliothek, Referenzen, Headers, CMake

Folien Git, Klassen

Folien Vererbung, Polymorphie, Templates

Übungsmaterial

Die Anmeldung zur Vorlesung erfolgt über das MÜSLI System. Bitte folgen Sie diesem Link hier.

Programmierumgebung

Die Übungen sind dafür konzipiert, in einer UNIX-Umgebung (z.B. unter Linux oder macOS) bearbeitet zu werden. Für jeden Teilnehmer steht ein Computer im Computer-Pool zur Verfügung, auf dem alle benötigten Programme installiert sind.

Alternativ können Sie die Übungen auch auf Ihrem eigenen Laptop bearbeiten. Für Windows-Nutzer stellen wir eine virtuelle Maschine mit Linux zur Verfügung. Um diese virtuelle Maschine unter Windows zu verwenden, folgen Sie bitte folgender Anleitung:

  • Stellen Sie sicher, dass Sie genügend freien Speicher haben. Sie benötigen insgesamt ca. 15 GB Festplattenplatz, und Ihr Computer sollte mindestens 4, besser 6 GB Arbeitsspeicher haben.

  • Installieren Sie die kostenlose Software VirtualBox. VirtualBox stellt die virtuelle Hardware zur Verfügung, auf der die virtuelle Maschine ausgeführt wird.

  • Nach dem ersten Start von VirtualBox laden Sie bitte das VirtualBox Extension Pack herunter und installieren es per Doppelklick.

  • Laden Sie die virtuelle Maschine von unserem Server: https://conan.iwr.uni-heidelberg.de/files/teaching/ipk-2017/IPK2017.zip. Achtung: Die Datei ist gepackt 2.3 GB gross, das Herunterladen kann also etwas dauern.

  • Entpacken Sie die heruntergeladene Datei. Danach können Sie die ZIP-Datei löschen.

  • Starten Sie VirtualBox und wählen den Menüpunkt Maschine -> Hinzufügen. Gehen Sie zu dem Ordner IPK2017 und wählen die Datei IPK2017 in dem Ordner aus.

  • In der Liste links im Programmfenster sollte nun ein neuer Eintrag IPK2017 erscheinen. Klicken Sie auf den Eintrag und auf den grünen Knopf Starten in der Symbolleiste. Die virtuelle Maschine sollte nun in einem Fenster starten. Der Benutzername zum Login in der virtuellen Maschine ist ipk, das Passwort ipkhd2017.

  • In der virtuellen Maschine sind alle nötigen Programme und Firefox als Browser installiert. Die wichtigsten Programme sind über die Symbole unten links neben dem Start-Knopf zu erreichen.

  • Sollten Sie Probleme beim Starten der virtuellen Maschine haben:

    • Falls der Start mit einer Fehlermeldung abgebrochen wird, müssen Sie im BIOS Ihres Computers “Virtualization Support”, “VT-x” oder eine ähnliche Option aktivieren. Hier können wir Ihnen in der ersten Übung helfen.

    • Falls Ihr Computer oder die virtuelle Maschine sehr langsam oder instabil laufen, müssen Sie vielleicht den Arbeitsspeicher der virtuellen Maschine reduzieren. Beenden Sie hierzu die virtuelle Maschine und klicken im VirtualBox-Fenster auf Ändern. Im Abschnitt System finden Sie einen Regler für den Hauptspeicher. Stellen Sie hier eine kleinere Zahl ein (aber nicht weniger als 1536 MB).

  • Ein paar Infos für Fortgeschrittene:

    • Die virtuelle Maschine basiert auf dem LXQt-Spin von Fedora 26.

    • Das Passwort für root ist nicht gesetzt.

    • Der Standard-Benutzer ipk hat Administrator-Rechte (sudo).

Übungen

Die Übungen finden im Computerpool im 3. Stock des Mathematikons statt. Falls Sie die Übungen auf Ihrem eigenen Laptop machen möchten, können Sie diesen mitbringen.

Um möglichst vielen Studenten trotz der begrenzten Kapazität im Computerpool die Teilnahme zu ermöglichen, gibt es zwei Arten von Übungsgruppen:

  • normale Übungsgruppen: Für Studierende, die noch keine grosse Erfahrung im Programmieren oder mit C++ haben. Wenn Sie in MUESLI in einer Gruppe mit einer Kapazität von 50 Studenten eingetragen sind, sind Sie in einer normalen Übungsgruppe.

  • Helfergruppen: Für Studierende, die bereits Programmieren können und sich bereit erklären, während der Übungen den Programmier-Neulingen zu helfen. Wenn Sie in MUESLI in einer Gruppe mit einer Kapazität von 15 Studenten eingetragen sind, sind Sie in einer Helfergruppe. Als Helfer sollten Sie unbedingt einen eigenen Laptop mitbringen.

Übungsblätter

Scheinvergabe und Klausur

Zulassung

Für diese Veranstaltung müssen keine Übungsblätter abgegeben werden. Für die Klausurzulassung verwenden wir ein Votiersystem, abgestimmt auf die zwei Arten von Übungsgruppen (normal und Helfer):

  • Neue Übungsblätter werden jeweils freitags online gestellt.
  • In der Woche, nachdem ein Blatt online gestellt wurde, haben Sie die Möglichkeit, die Aufgaben auf dem Blatt in der Übung zu bearbeiten, Fragen zu stellen und sich Hilfe von den Übungsleitern, Tutoren oder Helfern zu holen.
  • In der darauf folgenden Woche lassen wir einen Zettel herumgehen, auf dem Sie ankreuzen, mit welchen Aufgaben Sie sich ernsthaft auseinander gesetzt und für die Sie etwas programmiert haben. Während der Übung kommen die Übungsleiter zu einigen von Ihnen und lassen sich Ihre Lösung (oder Ihren Lösungsansatz) für eine der angekreuzten Aufgaben von Ihnen erklären. Zur Erinnerung: Wir verlangen von Ihnen keine perfekte oder vollständige Lösung, aber zumindest einen erkennbaren Lösungsansatz.
  • Sollten wir zum Schluss kommen, dass Sie die Lösung nur kopiert haben und nicht wissen, was das Programm eigentlich macht, werden wir Ihnen alle angekreuzten Aufgaben für das Übungsblatt streichen.
  • Sie benötigen 50% angekreuzte Aufgaben und müssen mindestens eine Aufgabe einem Übungsleiter vorstellen, um zur Klausur zugelassen zu werden.

Da das Vorwissen in dieser Veranstaltung sehr breit gestreut ist, sind alle Übungsaufgaben entweder mit “Grundlagen” oder “Fortgeschritten” markiert.

  • Wenn Sie in einer normalen Übungsgruppe sind, benötigen Sie nur 50% der angekreuzten Grundlagen-Aufgaben (Sie dürfen sich natürlich trotzdem gerne an den schwierigeren Aufgaben versuchen und so Bonus-Punkte sammeln).
  • Wenn Sie in einer Helfer-Gruppe sind, benötigen Sie 50% der Fortgeschrittenen-Aufgaben und können auch nur diese Aufgaben ankreuzen.

Klausur

Die Klausur findet am Montag, 19.02.2018 von 14:00 bis 16:00 statt.

Impressum  |  Haftungsausschluss  |  Datenschutzerklärung  |  generated with Hugo v0.80.0