| 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
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.
Unterlagen
- Buch "Thinking in C++" (gratis Download)
- Qt-Programmierung auf Handys
- Buch "C++ GUI Programming with Qt 4, First Edition" (gratis Download)
- Virtuelle Maschine
- Wiki zum Kurs
Vorlesungsfolien
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.

