Persönlicher Status und Werkzeuge

Leistungskurs C++ [EI0501]
Dozent: Tim Habigt, Julian Habigt
Zielgruppe: Master, 7. Semester
ECTS: 6
Umfang: 2/0/4 (SWS Vorlesung/Übung/Praktikum)
Turnus: Wintersemester
Anmeldung: über TUMonline
Zulassungsvoraussetzungen: Kenntnisse des Grundkurses C++
Zeit & Ort: Vorlesung: Dienstag, 09:45 Uhr bis 11:15 Uhr, Z995
Praktikum: freie Zeiteinteilung
Beginn: Dienstag, 16.10.2012

Anmeldung

Die Anmeldung zum Kurs wird ab dem 05.10.2012 12:00 Uhr in TUMonline möglich sein. Die Teilnehmerzahl ist auf 40 Personen begrenzt. Studierende, welche den Grundkurs C++ nicht besucht haben, müssen uns persönlich ihre Qualifikation nachweisen.

Wichtige Informationen

Bitte beachten: Der Projektkurs C++ wurde im neuen Bachelor- und Masterstudiengang (Studienbeginn ab WS 2008) durch einen Grundkurs C++ im Sommersemester und einen darauf aufbauenden Leistungskurs C++ im Wintersemester ersetzt. Der Projektkurs C++ für Studierende des alten Bachelor- und Diplomstudiengangs / Münchner Modells wird im Wintersemester 2011/2012 nicht mehr angeboten. Studierende des alten Diplomstudiengangs, welche bereits den Grundkurs C++ besucht haben und diesen für den Projektkurs C++ angerechnet bekommen, können sich den Leistungskurs C++ leider nicht mehr anrechnen lassen.

Allgemeines

Randall Munroe, xkcd.com

Im Leistungskurs C++ haben interessierte Studierende die Möglichkeit, im Rahmen einer Projektarbeit im Team die Programmiersprache C++ zu erlernen. Der Leistungskurs C++ basiert auf den Grundlagen des Grundkurses C++ mit dem Ziel, das erlernte Wissen zu festigen und zu erweitern und gleichzeitig eine Brücke zu den aktuellen Forschungsthemen am Lehrstuhl zu schlagen.

Zur Projektarbeit stehen mehrere Roboter vom Typ P3DX der Firma Mobile Robots Inc. zur Verfügung. Ziel ist es, jeweils zwei Roboter aus unterschiedlichen Teams in einem RoboHockey-Wettkampf gegeneinander antreten zu lassen. Zu diesem Zweck gilt es, verschiedene technische Hürden zu überwinden, u.a.:

  • Umfelderkennung (Spielfeld, gegnerischer Roboter) mittels Kamera, LIDAR, Sonar...
  • Steuerung und Regelung der Fahrmanöver
  • Navigation im Spielfeld
  • Kommunikation mit einer Schiedsrichter-Software
  • ...

Die genauen Regeln des Wettbewerbs können hier nachgelesen werden.

Begleitend zur Projektarbeit findet an zwei Stunden pro Woche eine Vorlesung statt. Aufbauend auf den Grundlagen des Grundkurses sind u.a. folgende Themen geplant:

  • Einführung in diverse Libraries zur Steuerung der Hardware des Roboters
  • Bildverarbeitung mit OpenCV
  • Kameraansteuerung mittels OpenCV und libdc1394
  • Multithreading und Multiprozessorprogrammierung
  • Buildsystem CMake

Voraussetzungen

Die erfolgreiche Teilnahme am Grundkurs C++ gilt als Zulassungsvoraussetzung für den Leistungskurs. Vergleichbare Kenntnisse sind gegebenenfalls, idealerweise in einem persönlichen Gespräch, nachzuweisen.

Tutoren

Ihr erreicht die Tutoren an folgenden Terminen im Praktikumsraum -1981

Hausaufgaben

  • Hausaufgabe 2 (Abgabe bis zum 13.11.)
    • Schreibt ein Programm, das die Kreiszahl Pi berechnet. Dieses Programm soll die Berechnung auf mehrere Threads verteilen. Dazu können QThreads oder OpenMP verwendet werden.
  • Vorprojekt

Gruppengespräche

Gruppe 1 Mittwoch, 30.01., 16:00 - 16:30 Uhr
Gruppe 2 Freitag, 01.02., 13:00 - 13:30 Uhr
Gruppe 3 Mittwoch, 30.01., 11:00 - 11:30 Uhr
Gruppe 5 Mittwoch, 30.01., 10:30 - 11:00 Uhr
Gruppe 6 Mittwoch, 30.01., 10:00 - 10:30 Uhr
Gruppe 7 Freitag, 01.02., 10:00 - 10:30 Uhr
Gruppe 8 Donnerstag, 31.01., 08:30 - 09:00 Uhr
Gruppe 9 Mittwoch, 30.01., 15:30 - 16:00 Uhr

Die Gespräche finden, soweit nicht anders angegeben, im Besprechungsraum (Raum 0938; Eingang gegenüber Cafeteria/StuCafé) statt.