Einführung in die Computergrafik und Bildverarbeitung
Wintersemester 2021/22
Konzept
Anstelle einer klassischen Vorlesung mit Übung gibt es:
- eine Sammlung an Lehrmaterial
- einen Abhängigkeitsgraph, der zeigt, welche Themen man in welcher Reihenfolge lernen sollte
- einen interaktiven Präsenztermin (Di, 14:15 - 16:00 Uhr, H9)
- eine Online-Übung in Gather.town (Mi, 18:15 - 20:00 Uhr)
- vier Milestones/Studienleistungen (2D-Bitmapgrafik, 2D-Vektorgrafik, 3D-Grafik, Computer Vision), zu denen Sie eine kleine Übungsaufgabe bearbeiten müssen/sollten.
- eine Klausur (Präsenz), in der Sie am Rechner mehrere Programmieraufgaben bearbeiten
- Peer-Feedback
Dieser Kurs ist ein Experiment. Manches wird gut klappen, manches weniger gut. Feedback nehme ich gerne an. Viele Details passe ich während des Semesters an.
Organisatorisches
- Anfangs gibt es einige Präsenz-Termine, in denen ich die Grundlagen frontal-interaktiv bespreche
- Dann kriegen Sie eine Art Lernlandkarte / Abhängigkeitsgraph / Mindmap der Themen des Kurses inkl. Material und Aufgaben. Ca. 70% der Themen sind Kerninhalte. Diese können Sie in ihrer eigenen Geschwindigkeit bearbeiten. Aus den restlichen Themen wählen Sie dann diejenigen, die Sie am meisten interessieren und vertiefen diese.
- Als Programmiersprache werden wir Python verwenden (zusätzlich wohl: OpenGL, OpenCV, Jupyter Notebooks, PyQtGraph).
- Während der Präsenztermine (Dienstag, 14-16 Uhr) schauen wir uns gemeinsam wichtige Themen und Anwendungen an. Das wird dann eher eine interaktive Übung als eine klassische Vorlesung (“Flipped Classroom”).
- Die Übung am Mittwochabend findet virtuell in Gather.town statt. Sie dient als Ort für Pair-Programming, Sprechstunde für Probleme, und um Feedback zu geben.
Leistungsnachweis
- Es gibt einige Milestones zu festen Terminen im Semester, die sie einhalten sollten. Da müssen Sie dann jeweils eine kleine Studienleistung abgeben. Je früher Sie abgeben, und je besser Ihre Lösung, umso mehr Bonuspunkte für die Klausur erhalten Sie.
- Am Ende des Semesters findet eine Klausur in Präsenz statt. Diese wird vermutlich zwei bis drei Stunden dauern. Sie entwickeln dort eine Anwendung zu einem vorgegebenem Thema. Dabei können Sie natürlich auf allen Code zurückgreifen, den Sie im Laufe des Kurses schon geschrieben haben. Vermutlich kommen noch ein paar Theoriefragen dazu. Das Format “Klausur” ist in der Prüfungsordnung vorgegeben. Es dient in diesem Fall auch dazu, sicherzustellen, dass Sie selbst die ganzen Aufgaben während des Semesters bearbeitet haben. Die Klausur soll auf jeden Fall am Rechner stattfinden, nicht auf Papier. Für die Klausur gibt es 100 Punkte. Eine Notenstufe entspricht 5 Punkten, d.h. ab 50 Punkten bekommen Sie eine 4.0.
- Bonuspunkte gibt es für:
- Abgeben der Studienleistungen (max. 20 Punkte insgesamt)
- Bug Bounty: pro sachlichem Fehler in meinen Materialien 1 Punkt (FCFS)
- Teilen von guten Quellen (je 1 Punkt, max. 5 Punkte insgesamt)
Wer macht was (nicht)?
Was ich beitrage:
- Strukturierung der Themen
- Material bereitstellen
- sagen, was wichtig ist
- initiale Einführung zu allen Themenfeldern geben
- Feedback während der Präsenztermine geben und dort bei Problemen helfen
- Erwartungshorizont für Studienleistungen und Klausur vorgeben
Was ich nicht machen werde:
- asynchron via Mail/Discord/etc. bei Problemen helfen
- in größerem Umfang neues Material erstellen
- Studienleistungen ausführlich bewerten
- Grundlagen erklären, die in EIMI/MMT/OOP behandelt wurden
Was Sie selbst machen müssen:
- Bücher, Skripte, Tutorials und Code lesen
- Python lernen
- am Ball bleiben
- Kommilitonen unterstützen und ihnen Feedback geben
- Fragen stellen
Zeitplan / Log
19. Oktober 2021 - Einführung, Überblick
Klassische frontale Vorlesung zum Einstieg.
Themen heute:
- Überblick über das Kurskonzept
- Organisatorisches
- Advance Organizer / Überblick über die Themen des Kurses
20. Oktober 2021 (online) - Einführung Python / Jupyter Notebooks
- Beispiel-Notebook (Link kommt noch)
- Einführung Python 3
Voraussetzungen für die Teilnahme am Termin:
- Schon einmal auf https://schlaubox.de eingeloggt (mit RZ-Account und RZ-Passwort)
- (optional) Python-Dokumentation mal ein bisschen durchgelesen
- (optional) lokale Installation von Python und JupyterLab (wir beschäftigen uns das nächste Mal damit)
26. Oktober 2021 - Python in der Praxis, erste Bildbearbeitungsschritte
- Welche Python-IDE soll ich verwenden?
- apt, pip, conda, virtualeenv, docker - Environments und Paketmanager für Python
- Bilder laden und modifizieren
Voraussetzungen für Teilnahme am Termin:
- Python-Quiz in GRIPS erfolgreich beantwortet
- (optional) Laptop dabei, um einige der gezeigten Dinge mal selbst auszuprobieren
27. Oktober 2021 (online) - ohne RW
- Übungsaufgaben und Videos
- Peer-Support bei Installationsproblemen
(Details zu weiteren Terminen folgen)