Prof. Dr. Bernd Fröhlich
M.Sc. Adrian Kreskowski
Inhalt
Das Ziel dieser Veranstaltung ist die Kenntnis und Beherrschung der wesentlichen Konzepte imperativer und moderner objektorientierter Programmiersprachen am Beispiel von C++11/14/17/20. Zentrale Themen der Vorlesung sind: Klassen und Klassenhierarchien, Übergabe- und Rückgabemechanismen für Funktionen und Methoden, const correctness, Speicherverwaltung und (smarte) Zeiger sowie generische und funktionale Programmierung.
Die Übungen bieten den Teilnehmern die Möglichkeit, den Vorlesungsstoff anhand von konkreten Aufgaben und einem abschließenden Projekt zum Thema Ray Tracing und Animation zu vertiefen.
Course Description
This course focuses on the fundamental paradigms and concepts of modern imperative and object-oriented programming languages. The accompanying lab course allows students to practice the techniques, develop short programs, and design and implement a basic ray-tracing system.
Aktuelles
Zur Information
Die erste interaktive Vorlesung wird am Dienstag, den 05. Mai auf der Moodle-Kursseite hochgeladen. Die vollständige und richtige Beantwortung der Fragen des Videos ist notwendig um die Vorlesungsvideos der folgenden Wochen freizuschalten.
Bezüglich der Übung
Die erste Pflichtübung findet am Montag, den 04. Mai. um 15.15 Uhr im BigBlueButton-Raum auf der Moodle-Kursseite statt.
Zusätzlich findet eine Woche zuvor am 27. April ebenfalls im BigBlueButton-Raum ein C++-Einführungskurs statt. In diesem bieten wir den Studierenden an, sich mit den grundlegenden Strukturen der Programmiersprache auseinanderzusetzen und erste kleine Programme schreiben und kompiliern zu lernen.
Bezüglich der Abnahme der Übungsblätter
Für die Abnahmen der Übung ist es notwendig, dass jeder Teilnehmer mit einem Headset oder einem Mikrofon ausgestattet ist, um zu gewährleisten, dass der Code einem der Tutoren interaktiv vorgestellt werden kann. Die Übungsabnahmen finden in der Regel zweiwöchentlich und einzeln statt.
C++-Talks on the Web
Termine und Moodle-Kursseite
- Moodle-Kursseite: https://moodle.uni-weimar.de/course/view.php?id=20977
- Vorlesung (Interaktive Vorlesungsvideos im Moodle Kursraum)
- Termin: Dienstags, 15:15 - 16:45 Uhr
- Pflichtübungen (Online-Präsenzübung im BigBlueButton)
- Montag 15:15 - 16:45 Uhr (Gruppe I)
- Montag 17:00 - 18:30 Uhr (Gruppe II)
- Erster Termin: 04. Mai 2020
- Anmeldung und Terminvergabe via moodle.uni-weimar.de
- Vertiefungsübungen (Online-Präsenzübung im BigBlueButton)
- Mittwoch 15:15 - 18:30 Uhr (Gruppen I + II)
- Einführung in die C++-Syntax: 27. April 2020
- Erster regulärer Termin: 04. Mai 2020
Prüfungstermine
- Regulärer Prüfungszeitraum: Ende September 2020
- Aufgrund der Quarantäne-Situation werden die konkreten Prüfungstage während der Vorlesungszeit festgelegt
- Anmeldung bei Frau Hansens per Email <medieninformatik (at) uni-weimar.de> oder persönlich im Sekretariat
- Anmeldefrist: 10. September 2020
- Bei Bedarf im Prüfungszeitraum Anfang August oder vor der letzten Septemberwoche
- Bitte direkten Kontakt mit Prof. Fröhlich ca. 1-2 Wochen vor gewünschtem Termin aufnehmen
- Ausweichtermin: Oktober 2020 (genauer Zeitraum wird noch bekanntgegeben)
- Bitte nur in begründeten Ausnahmefällen
- Begründung per Email und Terminanfrage bitte direkt an Prof. Fröhlich
- Alle Prüfungen finden mündlich statt. Die Prüfung dauert ca. 30 Minuten.
- Je nach Situation werden die Prüfungen im Raum 117, Bauhausstr. 11 oder online stattfinden. Näheres wird zu gegebener Zeit bekanntgegeben.
- Eine Abmeldung ist im Rahmen der in der jeweiligen Prüfungsordnung geregelten Abmeldefrist möglich. Eine erneute Anmeldung zu einem späteren Termin im Rahmen dieses Prüfungszykluses (September/Oktober 2020) ist nur möglich, falls die Abmeldung aufgrund einer Erkrankung (mit ärztlichem Attest) oder ähnlichen Gründen erfolgte.
Schein
Umfang
- 6 ECTS, V2/Ü3
- Modul: Software I
- Richtet sich an:
- Bachelor, 2. Semester Medieninformatik, Interessierte anderer Studiengänge
- Bachelor, 2. Semester Medieninformatik, Interessierte anderer Studiengänge
- Voraussetzung zur Teilnahme an der Veranstaltung
- Einführung in die Informatik
Anforderungen
- mündliche Prüfung
- Teilnahme an den Pflichtübungen
- Abschlussprojekt
- 60% der Punkte aus den Übungsaufgaben sind Voraussetzung zur Zulassung zur mündlichen Prüfung.
- Die Endnote setzt sich zusammen aus
- 2/3 Note der mündlichen Abschlussprüfung (muss bestanden sein)
- 1/3 Übungsnote (mind. 60% zur Prüfungszulassung)
- Die Note für die Übung ergibt sich durch die Anzahl erreichter Punkte aller Aufgaben (inkl. Zusatzaufgaben) anhand folgendem Schlüssel:
Note Prozent Übungspunkte
1.0 >= 95
1.1 [95 - 94)
1.2 [94 - 93)
...
3.9 [67 - 66)
4.0 [66 - 60)
Hinweis: Für Studenten, die im Bachelor-Studiengang Mediensysteme (vor PV29) immatrikuliert sind, erfolgt eine Rundung auf .0, .3 bzw. .7.
Dokumente
Vorlesungen (nur aus dem Uni-Netz zugreifbar) sind als pdf-Dateien (Adobe Reader funktioniert zuverlässig) verfügbar. Die Unterlagen sind nur für die persönliche Nutzung zur Nachbereitung der Vorlesung und zur Prüfungsvorbereitung gedacht. Eine Weiterverbreitung ist nicht erlaubt. Mit dem Download der Unterlagen stimmen sie diesen Bedingungen zu. Die Vorlesungsunterlagen aus dem Jahr 2019 sind noch online. Die aktuellen Vorlesung und Übungsunterlagen finden Sie in Moodle. Die aktuellen Vorlesungen inklusive der interaktiven Beispiele finden Sie in der nachfolgenden Auflistung.
- Einführung (5. Mai 2020) (pdf)
- Klassen (5. Mai 2020) (pdf)
- Datentransferobjekte (12. Mai 2020) (pdf)
- Parameterüber- und Rückgabemechanismen (12. Mai 2020) (pdf)
- Templates (19. Mai 2020) (pdf)
- Speicherverwaltung und Zeiger (26. Mai 2020) (pdf)
- Verwaltung dynamischer Ressourcen (26. Mai 2020) (pdf)
- Move-Semantik (2. Juni 2020) (pdf)
- Smart Pointer (2. Juni 2020) (pdf)
- STL I (9. Juni 2020) (pdf)
- STL II (16. Juni 2020) (pdf)
- STL III (23. Juni 2020) (pdf)
- Vererbung I (30. Juni 2020) (pdf -- aktualisiert um 11.29 Uhr )
- Vererbung II (7. Juli 2020) (pdf)
- Überschreiben, Verdecken, Redefinition (14. Juli 2020) (pdf)
- Klassendesign (21. Juli 2020) (pdf -- aktualisiert am 22. Juli um 17.51 Uhr)