Prof. Dr. Bernd Fröhlich
M.Sc. Adrian Kreskowski
M.Sc. Sebastian Stickert
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 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 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
Live-Vorlesung
Die erste live-Vorlesung wird am Dienstag, den 06. April, um 15:15 Uhr stattfinden. Der BBB-Raum ist über die Moodle-Kursseite zugänglich. Die wöchentliche Live-Vorlesung fokussiert auf die wichtigsten Elemente und bietet die Möglichkeit, Fragen zu stellen und zu diskutieren. Vor der Vorlesung erscheint jeweils ein interaktives Vorlesungsvideo, das den vollständigen Vorlesungsinhalt behandelt. Die vollständige und richtige Beantwortung der im Video enthaltenen Quizfragen ist notwendig um die Vorlesungsvideos und Übungsinhalte der folgenden Wochen freizuschalten.
Übungen
Am 07. April wird um 15.15 Uhr eine einführende Übungsveranstaltung stattfinden. Dort werden neben der generellen Kursorganisation Programmierkenntnisse aufgefrischt und die für die Übung relevanten Software-Engineering Tools im Detail vorgestellt und erstmalig von den Studierenden verwendet. Bitte stellen Sie sicher, dass Sie entsprechend Ihres Betriebssystems alle auf der Moodle-Kursseite benötigten Softwarepakete installiert haben um nicht den Anschluss zu verlieren.
Abnahme der Übungsblätter
Für die Abnahmen der Übung ist es notwendig, dass jeder Teilnehmer mit einem Headset oder generell einem Mikrofon ausgestattet ist, um zu gewährleisten, dass der Code einem der Tutoren interaktiv vorgestellt werden kann. Die Übungsabnahmen finden in der Regel aller zwei Wochen und in Form von Einzelabnahmen statt.
C++-Talks on the Web:
Termine und Moodle-Kursseite
- Moodle-Kursseite: https://moodle.uni-weimar.de/course/view.php?id=30935
- Einschreibeschlüssel: plse_2021_cpp
- Vorlesung (Interaktive Vorlesungsvideos im Moodle-Kursraum)
- Termin: Dienstags, 15.15 - 16.45 Uhr
- Pflichtübung (Online-Präsenzübung im BigBlueButton-Übungsraum des Moodle-Kurses)
- Montags, 15.15 - 16.45 Uhr (Gruppe I)
- Montags, 17.00 - 18.30 Uhr (Gruppe II)
- Erster Termin: 12. April 2021
- Anmeldung und Terminvergabe via moodle.uni-weimar.de
- Vertiefungsübung (Online-Präsenzübung im BigBlueButton-Übungsraum des Moodle-Kurses)
- Mittwochs, 15.15 - 18.30 Uhr (beide Gruppen)
- Erster Termin: 07. April 2021
Prüfungstermine
- Regulärer Prüfungszeitraum: Ende September 2021
- die Prüfungen werden zwischen dem 27. und 29. September stattfinden
- die Prüfungsanmeldung erfolgt direkt über eine Selbsteinschreibung im Moodle-Kurs.
- Anmeldefrist: 10. September 2021
- 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 2021 (genauer Zeitraum wird bei Bedarf 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 online oder im Raum 117, Bauhausstr. 11 stattfinden
- 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 2021) 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 Informatik oder Medieninformatik, Interessierte anderer Studiengänge
- Bachelor, 2. Semester Informatik oder 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 2020 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 (6. April 2021) (pdf)
- Klassen (6. April 2021) (pdf)
- Datentransferobjekte (13. April 2021) (pdf)
- Parameterüber- und Rückgabemechanismen (13. April 2021) (pdf)
- Speicherverwaltung & Zeiger (20. April 2021) (pdf)
- Verwaltung dynamischer Ressourcen (27. April 2021) (pdf)
- Templates (4. Mai 2021) (pdf)
- Smart Pointer (11. Mai 2021) (pdf)
- Move-Semantik (11. Mai 2021) (pdf)
- STL I (18. Mai 2021) (pdf)
- STL II (25. Mai 2021) (pdf)
- STL III (1. Juni 2021) (pdf)
- Vererbung I (8. Juni 2021) (pdf)
- Vererbung II (15. Juni 2021) (pdf)
- Überschreiben, Verdecken, Redefinition (22. Juni 2021) (pdf)
- Klassendesign (29. Juni 2021) (pdf)