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ündigung: Ablauf der Nachklausur am 28.10.2020

Ort und Zeit

Die Klausur findet statt am 28.10.2020 im Hörsaalgebäude Chemie, Im Neuenheimer Feld 252. Beginn der Klausur ist um 9:15 Uhr und die Dauer beträgt 90 Minuten. Bitte finden sie sich pünktlich so ein dass wir ab 8:50 Uhr mit dem Einlass beginnen können.

Einteilung der Teilnehmer

Wir schreiben in drei Hörsäalen im Hörsaalgebäude Chemie. Die Zuordnung der Teilnehmer auf die Hörsäale erfolgt anhand des Anfangsbuchstaben des Nachnamens, und zwar:

  • Buchstaben A bis R: großer Hörsaal
  • Buchstabe S: Hörsaal Ost
  • Buchstaben T bis Z: Hörsaal West

Bitte bringen Sie mit

  • Ihren Studierendenausweis
  • Ihren Personalausweis (oder vergleichbares Dokument)
  • Mund-Nasen-Schutz, dieser ist aufgrund der aktuellen Fallzahlen während der Klausur auch am Platz zu tragen
  • Falls möglich: Bereits ausgefülltes Kontaktdatenformular für Ihren Hörsaal. Das beschleunigt den Einlass zu Beginn der Klausur.
  • Optional: Beidseitig handbeschriebener Notizzettel in A4 ist als Hilfsmittel erlaubt

Informationen in Bezug auf COVID-19

Alle Informationen der Uni Heidelberg zum Coronavirus entnehmen Sie bitte dem Link.

Beachten Sie den Aushang ZUTRITTS- UND TEILNAHMEREGELUNGEN FÜR ALLE MITGLIEDER UND BESUCHER*INNEN DER UNIVERSITÄT dabei insbesondere das Zutritts- und Teilnahmeverbot:

Dem §7 der CoronaVO folgend ist ein Betreten der Universität bzw. eine Teilnahme an einer Veranstaltung der Universität nicht zulässig,

  1. wenn jemand in Kontakt zu einer mit dem Coronavirus infizierten Person steht oder stand, wenn seit dem letzten Kontakt noch nicht 14 Tage vergangen sind, oder
  2. wenn man die typischen Symptome einer Infektion mit dem Coronavirus, namentlich Fieber, trockener Husten, Störung des Geschmacks-oder Geruchssinns, aufweist.

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

Übungsblatt 9 Vorlage.tar.gz beispiele.zip

Übungsblatt 10 vererbung.cc

Übungsblatt 11

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