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,
- 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
- 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 6 taschenrechner.cc
Übungsblatt 9 Vorlage.tar.gz beispiele.zip
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 OrdnerIPK 2018
und wählen die DateiIPK 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 istipk
, das Passwortipkcourse18
. -
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
undemacs
als Editoren installiert.
-