Einführung in die Praktische Informatik

Einführung in die Praktische Informatik
Term: Winter Term 2019/20
Lecturer: Peter Bastian
Time and location: Di 14-16, INF 252 gHs; Do 14-16, INF 252 gHs
Exam: Donnerstag, 6.02.2020, 14:00 - 16:00

Ankündigungen

Die Klausur findet am Donnerstag, den 6.02.2020, von 14:00 - 16:00 Uhr statt. Weitere Informationen folgen im Laufe des Semesters.

Wer glaubt eine Zulassung aus dem vergangenen Jahr zu besitzen, soll uns bitte so schnell wie möglich kontaktieren: ipi-ws2019@dune-project.org, damit wir dies rechtzeitig abklären können.

Die Einteilung in die Übungsgruppen ist erfolgt. Die Zuteilung ist bindend. Die einzige Möglichkeit eines nachträglichen Wechsels ist, dass Sie einen Tauschpartner finden und eine Mail an ipi-ws2019@dune-project.org schreiben. Bitte geben Sie dabei Ihren Namen, den Namen Ihres Tauschpartners und die betroffenen Übungszeiten an.

Inhalt

Die Lehrveranstaltung führt in die Entwicklung von Software im Kleinen ein.

  • Überblick über die Praktische Informatik
  • Technische und formale Grundlagen der Programmierung
  • Sprachliche Grundzüge (Syntax und Semantik von Programmiersprachen)
  • Einführung in die Programmierung (Wert, elementare Datentypen, Funktion, Bezeichnerbindung, Sichtbarkeit von Bindungen, Variable, Zustand, Algorithmus, Kontrollstrukturen, Anweisung, Prozedur)
  • Weitere Grundelemente der Programmierung (Typisierung, Parametrisierung, Rekursion, strukturierte Datentypen, insbesondere z.B. Felder, Listen, Bäume)
  • Grundelemente der objektorientierten Programmierung (Objekt, Referenz, Klasse, Vererbung, Subtypbildung)
  • Abstraktion und Spezialisierung (insbesondere Funktions-, Prozedurabstraktion, Abstraktion und Spezialisierung von Klassen)
  • Spezifikation und Verifikation von Algorithmen, insbesondere einfache Testtechniken
  • Terminierung
  • Einfache Komplexitätsanalysen
  • Einfache Algorithmen (Sortierung)

Vorlesungsskript

Hier gibt es das Vorlesungsskript zum Download.

Und ebenfalls die Folien der ersten Vorlesung

Überarbeitete Folie zur Negation einer Zahl in Zweierkomplementdarstellung

C++ Beispielprogramme

Hier können Sie die in der Vorlesung und im Skript behandelten Programme herunterladen.

Und zwar als .zip Datei c++-programs.zip oder als komprimiertes tar archive c++-programs.tgz.

Entpacken der zip Datei gelingt mit

unzip c++-programs.zip

oder

gunzip c++-programs.zip

Entpacken des tar Archives unter LINUX/MacOS geht mit

tar zxvf c++-programs.tgz

UNIX-Einführung

Hier gibt es die Folien zur Einführung mit kurzen Erklärungen und Befehlsreferenzen.

Übungen

Der Übungsbetrieb beginnt am Donnerstag, den 24.10.2019, mit den Tutorien ab 9:00 Uhr.

Ausgabe des ersten Übungsblattes erfolgt ebenfalls am 24.10.2019, nach der Vorlesung.

Anmeldung

Die Anmeldung zu den Übungen ist nun freigeschaltet (Link). Bitte tragen Sie dort Ihre Präferenzen bis Sonntag, den 20.10.2019, ein. Danach wird die Anmeldung geschlossen und wir nehmen daraufhin die Einteilung in die Übungsgruppen vor.

Übungsblätter

Kurzübung UNIX (Übungsblatt 0) mit Archiv examplefiles.tar.gz, wird in der ersten Übungsgruppe besprochen.

Übungsblatt 1

Übungsblatt 2

Übungsblatt 3

Übungsblatt 4

Übungsblatt 5

Übungsblatt 6 taschenrechner.cc

Übungsblatt 7

Übungsblatt 8 defmet.cc

Programmierumgebung

Die Übungen sind dafür konzipiert, in einer UNIX-Umgebung (z.B. unter Linux oder macOS) bearbeitet zu werden.

Für Windows-Nutzer empfehlen wir eine virtuelle Maschine mit Linux zu verwenden. Um eine virtuelle Maschine unter Windows aufzusetzen, stellen wir Ihnen die folgende Anleitung aus dem vergangenen Semester bereit:

  • 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-2018/ipk-vm-2018.zip. Achtung: Die Datei ist gepackt 2.4 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 IPK 2018 und wählen die Datei IPK 2018 in dem Ordner aus.

  • In der Liste links im Programmfenster sollte nun ein neuer Eintrag IPK 2018 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 ipkcourse18.

  • 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.

    • Ganz links ist ein Terminal-Programm für die Kommandozeile (shell).
    • Daneben finden Sie Firefox.
    • Darauf folgt Qt Creator, eine integrierte Entwicklungsumgebung, die Sie zum C++-Programmieren verwenden können.
    • Ganz rechts findes Sie geany, einen weiteren Code-Editor, der weniger Funktionen enthält, aber dadurch auch etwas einfacher zugänglich ist.
  • 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 28.

    • Das Passwort für root ist nicht gesetzt.

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

    • Es sind natürlich auch vim und emacs als Editoren installiert.

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