Prof. Dr. Bernd Fröhlich
Dipl.-Medsys.wiss. Andreas-Christoph Bernstein
Dipl.-Medsys.wiss. André Schollmeyer
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. Zentrale Themen der Vorlesung sind: Klassen und Klassenhierarchien, Übergabe- und Rückgabemechanismen für Funktionen und Methoden, const correctness, Speicherverwaltung und Zeiger sowie generische Programmierung.
Die Übungen bieten den Teilnehmern die Möglichkeit den Vorlesungsstoff anhand von konkreten Aufgaben und einem abschließenden Projekt zu vertiefen. Als Programmiersprache wird C++ eingesetzt.
Description
This course focuses on the fundamental paradigms and concepts of imperative and modern 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.
Termine und Ort
- Vorlesung
- Termin: Dienstag, 15:15 - 16:45 Uhr
- Erster Termin: 4. April 2017
- Ort: SR 015, Bauhausstr. 11
- Pflichtübungen (Bauhausstr. 11, LiNT-Pool)
- Montag 15:15 - 16:45 Uhr (Gruppe I)
- Montag 17:00 - 18:30 Uhr (Gruppe II)
- Erster Termin: 10. April 2017
- Anmeldung und Terminvergabe via moodle.uni-weimar.de
- Übungen (Bauhausstr. 11, LiNT-Pool)
- Mittwoch 15:15 - 16:45 Uhr (beide Gruppen)
- Erster Termin: 5. April 2017
Prüfungstermine
- Regulärer Prüfungszeitraum: 25.-28. September 2017
- Anmeldung bei Frau Hansens per Email<maria-theresa.hansens@medien.uni-weimar.de> oder persönlich bis spätestens 15. September.
- Bei Bedarf im Prüfungszeitraum im Juli bzw. Anfang August
- Ausweichtermin: 10.-13. Oktober 2017
- 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.
- Alle Prüfungen finden in Raum 117, Bauhausstr. 11 statt.
- Eine Abmeldung ist bis 3 Tage vor der Prüfung möglich. Eine erneute Anmeldung zu einem späteren Termin im Rahmen dieses Prüfungszykluses (September/Oktober 2017) 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 der MK/MG und M.Sc. MediaArchitecture
- 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
Vorlesung aus dem letzten Jahr SS 2016
Vorlesungen SS2017 (nur aus dem Uni-Netz zugreifbar) als pdf-Dateien (Adobe Reader funktioniert zuverlässig). 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.
- Einführung (4. April 2017)
- Klassen (11. April 2017)
- Datentransferobjekte (18. April 2017)
- Parameterüber- und Rückgabemechanismen (18. April 2017)
- Templates (25. April 2017)
- STL I (2. Mai 2017)
- STL II (9. Mai 2017)
- STL III (16. Mai 2017)
- Speicherverwaltung und Zeiger (23. Mai 2017, pdf Update am 30. Mai)
- Verwaltung dynamischer Ressourcen (30. Mai 2017)
- Smart Pointer (31. Mai 2017)
- Vererbung I (6. Juni 2017)
- Vererbung II (13. Juni 2017)
- Überladen, Überschreiben, Verdecken (20. Juni 2017)
- Software Engineering Basics (27. Juni 2017)
- Klassendesign (4. Juli 2017)