Computer Graphics
TU Braunschweig

Praktische Aspekte der Informatik SS'19
Praktikum mit Kolloquium

Prof. Dr.-Ing. Marcus Magnor

Hörerkreis: Bachelor & Master
Kontakt: padi@cg.cs.tu-bs.de

Modul: INF-CG-22, INF-CG-26
Vst.Nr.: 4216022, 4216023

Project SnackmixQt AbalonePicShaAlchemists!

 

Aktuelle Informationen:

  • Die finalen Kolloquien finden am Mittwoch, 10.07.2019 13:15 - 14:45 Uhr und am Freitag, 12.07.2019 13:15 - 14:45 Uhr statt.
  • Die finale Version des Projektes und der Präsentationsslides sind bis zum Montag, 08.07.2019 einzureichen.
  • Die Zwischen-Präsentationen finden am Mittwoch, 19.06.2019 statt.
  • Das Proposal ist spätestens bis zum Dienstag, 07.05.2019 einzureichen (ins git als README.md).
  • Die ersten Vorlesungen finden am Mittwoch den 10.04.2019 und Freitag den 12.04.2019 statt.
  • Das Modul kann im Master nur belegt werden, wenn dieses oder ein äquivalentes Modul noch nicht im Bachelor-Studiengang belegt wurde.
  • Für die erfolgreiche Teilnahme muss das Modul am Prüfungsamt angemeldet werden.

 

Beschreibung:

Interessierte Studierende lernen in dieser Lehrveranstaltung den Umgang mit den in der Berufswelt verbreiteten Software-Tools. Die Themenauswahl beinhaltet die elementarsten Werkzeuge aus der praktischen Informatik. Innerhalb des Praktikums werden die einzelnen Softwaretools vorgestellt. Anhand kurzer Übungsaufgaben können die Studierenden jeweils den Umgang mit den Softwarewerkzeugen erlernen.

Das Kolloquium erfolgt zeitlich nach dem Praktikumsteil. In Vorbereitung zum Kolloquium erstellt und dokumentiert jeder Studierende ein kleines C++ Softwareprojekt. Dabei ist es erforderlich, die während des Praktikums erlernten Fähigkeiten einzusetzen. Während des Kolloquiums stellen die Studierenden ihre Projekte in einer mündlichen Präsentation den anderen Kursteilnehmern vor.

Die Teilnahme an dem Modul qualifiziert zur täglichen Arbeit mit in der Berufswelt gängigen Softwaretools. Die dazu notwenigen Fähigkeiten werden sowohl isoliert (Praktikum) als auch im Zusammenspiel (Kolloquium) erarbeitet. Neben diesem naheliegenden berufsqualifizierenden Vorteil werden die Studierenden auch auf weitere praktische Arbeiten während des Studiums vorbereitet.

Inhalt:

  • Programmierung mit C++ (inkl. Umgang mit externen Softwarebibliotheken)
  • Codegenerierungstools make, cmake
  • Code Debugging mit gdb
  • GUI Programmierung mit Qt
  • Versionierung mit Git
  • Dokumentation mit Doxygen
  • Code Profiler valgrind und addressSanitizer
  • Prototyping mit Matlab
  • PDF Erstellung mit Latex
  • GPGPU Programmierung mit Cuda

 

Ort und Zeit:

  • Mittwoch, 13:15 - 14:45 Uhr im CIP-Pool (MP 23.2, IZ Raum G40), 'Informatikzentrum'
  • Freitag, 13:15 - 14:45 Uhr in CIP-Pool (MP 23.2, IZ Raum G40), 'Informatikzentrum'

In jeder Woche wird es eine ca. 20 minütige Einführung in das aktuelle Thema gegeben. Danach werden die Übungsaufgaben frei bearbeitet.

Achtung: An beiden Terminen wird jeweils derselbe Stoff angeboten. Deshalb gilt folgende Regelung:

  • Wer sich für einen Termin der beiden eingetragen hat, kommt bitte zu diesem.
  • Unentschlossene sollten bevorzugt den Freitags-Termin nutzen.
  • Studierende, die Probleme mit dem Stoff haben, können auch gerne an beiden Übungsterminen erscheinen, um betreut zu üben.

 

Vorlesungsfolien:

Die Vorlesungsfolien und Übungsblätter sind durch ein Passwort geschützt. Das Passwort wird in der ersten Vorlesungwoche bekannt gegeben.

10.04. & 12.04.2019

C++ Basics - Slides / Code

17.04. & 26.04.2019

Make, Libraries and Debugging - Slides / Code

24.04. & 03.05.2019

Software Versioning (Git) - Slides

08.05. & 10.05.2019

GUI Programming (Qt) - Slides / Code

15.05. & 17.05.2019

Documentation (Doxygen) - Slides

22.05. & 24.05.2019

Vim - Slides

29.05. & 31.05.2019

Optimization - Slides

05.06. & 07.06.2019

Matlab - Slides

12.06. & 14.06.2019

Exkursionswoche

19.06. & 21.06.2019

Zwischen-Präsentationen

26.06. & 21.06.2019

Latex - Slides

03.07. & 05.07.2019

Cuda - Slides

10.07. & 12.07.2019

Abschluss-Präsentationen

Anforderungen:

  • Programmieren 1

Prüfungstermine:

  • 10.07.2019: 13:15-14:45 Uhr im CIP-Pool (IZ G40, MP 23.2)
  • 12.07.2019: 13:15-14:45 Uhr im CIP-Pool (IZ G40, MP 23.2)

 

Prüfungsleistung:

Durchführung eines eigenständigen Softwareprojekts sowie anschließende kurze Präsentation im Kolloquium. Funktionsumfang, Qualität und Präsentation des eigenen Projekts bestimmen über die Notenvergabe.

Die Studierenden können die Inhalte frei gestalten, dazu wird eigenständig ein Proposal formuliert, in dem das Projekt beschrieben wird. Dabei ist folgendes zu beachten:

  • Das Proposal muss mit dem Betreuer abgestimmt werden!
  • Die Software muss in C++ geschrieben sein und mindestens eine externe Bibliothek benutzen.
  • Projekte müssen alleine bearbeitet werden (keine Gruppenarbeiten).
  • Die entstandene Software wird exklusiv für diesen Kurs geschrieben. Insbesondere ist damit gemeint, dass ihr denselben Code nicht bei zwei Lehrveranstaltungen einreicht.

Eine Vorlage für das Proposal findet ihr hier. Hier sind außerdem einige Beispiele von Studenten aus den letzten Semestern. Diese sollen euch dazu dienen, Umfang und Detailgrad des Proposals abzuschätzen:

Für die erfolgreiche Teilnahme am Modul wird die regelmäßige Teilnahme an den Übungen empfohlen.