Programmierung 2 (SS 2020)
Abschnittsübersicht
-
326.005, Freitag 10:15-11:45, HS 13, Beginn: 6. März 2020In dieser LVA wird das Thema "Objektorientierte Programmierung in C++" behandelt, insbesondere die Bereiche
- Objekte und Klassen,
- Vererbung,
- Templates,
- die C++ Standardbibliothek.
Die LVA wird von Übungsaufgaben begleitet; die Gesamtnote setzt sich zu 50% aus der Übungsleistung und zu 50% aus der Abschlussklausur zusammen, jeder dieser Teile muss positiv absolviert werden. Um an der Lehrveranstaltung teilzunehmen, müssen Sie sich im KUSSS System dafür anmelden. Da die Übungsaufgaben im Moodle abgegeben werden, müssen Sie sich außerdem im Moodle einloggen und als Kursteilnehmer eintragen (Sie erhalten dann auch alle ins Nachrichtenforum gestellte Nachrichten per Email). -
-
Es werden 6 Aufgaben ausgegeben, die mit je 100 Punkten bewertet werden. Die besten 5 Aufgaben zählen; für eine positive Bewertung sind 250 Punkte notwendig. Beachten Sie bei der Ausarbeitung der Übungen die Codierrichtlinien.
-
Es finden ab dem 16. März wöchentliche Tutorstunden statt.
- Montag 13:45-14:45 (Armin Hinterreither): MT 128 (23.3.: K 224 B)
- Mittwoch 15:30-16:30 (Mario Pistrich): K 012 D (22.4.: K 009 D)
Bis auf weiteres finden diese Tutorstunden nicht in Präsenz statt, sondern werden über die folgenden Moodle-Foren und/oder Zoom-Meetings abgewickelt. Diese Foren stehen zu den oben genannten Zeiten zur Verfügung, die Tutoren werden auf Fragen hier gleich antworten (es wird für Einträge in diesen Foren keine automatische Email-Benachrichtigung geben). Zu Fragen außerhalb der Tutorenzeiten verwenden Sie bitte das allgemeine "Fragen und Antworten" Forum. -
- Cimg.h: Laden Sie das "Standard Package" herunter und inkludieren Sie die Datei "CImg.h" in Ihre Anwendung (dies ist die einzige Datei, die aus dem zip-Archiv benötigt wird).
- Drawing.zip: Inkludieren Sie die Datei "Drawing.h" in Ihre Anwendung und linken Sie die aus "Drawing.cpp" erzeugte Objektdatei dazu (am einfachsten fügen Sie "Drawing.cpp" zu Ihrer Anwendung hinzu; siehe auch die detaillierten Erklärungen in dieser Datei). Die Datei "Main.cpp" stellt ein bespielhaftes Hauptprogramm dar.
- In "Eclipse" unter Linux sind unter "Project -> Properties -> C/C++ General -> Paths and Symbols -> Includes -> GNU C++ -> Include directories -> Add" die Installationsverzeichnisse von "CImg.h" bzw.
"Drawing.h" auszuwählen und durch die Aktion "Project -> Properties -> C/C++ General -> Paths and Symbols -> Libraries -> Add" das File "pthread" und das File "X11" hinzuzufügen (jeweils den Namen im
Textfeld eingeben, danach "Okay" drücken, unter "Paths und Symbols" sollten danach die beiden Namen untereinander aufscheinen).
- In "Microsoft Visual Studio" ist ein Projekt vom Typ "Win32-Konsolenanwendung" anzulegen. Dann sind unter "Projekt -> Eigenschaften -> Konfigurationseigenschaften -> C/C++ -> Allgemein -> Zusätzliche Includeverzeichnisse" die Installationsverzeichnisse von "CImg.h" bzw. "Drawing.h" auszuwählen und die Option "Projekt -> Eigenschaften -> Konfigurationseigenschaften -> C/C++ -> Vorkompilierte Header -> Vorkompilierte Header nicht verwenden" zu wählen.
- In Orwell Dev-C++ ist unter "Projekt -> Projekt Optionen -> Parameter -> Linker" der Wert "-lgdi32" anzugeben.
- Entwicklungsumgebungen
Diese Entwicklungsumgebung ist in verschiedenen Linux-Distributionen enthalten, z.B. in Ubuntu als Paket "eclipse-cdt". Sie kann aber auch unter Mac OS X und wie im folgenden beschrieben unter MS Windows verwendet werden:
Diese Entwicklungsumgebung ist unter MS Windows frei verfügbar.
Eine freie Entwicklungsumgebung unter MS Windows.
Unter MS Windows oder Mac OS X können Sie auch eine vorinstallierte virtuelle Maschine unter Debian GNU/Linux mit dem Eclipse C/C++ IDE verwenden (Einstieg als Benutzer "guest" mit Passwort "guest", durch Klick auf das Icon "Terminal" ein Fenster öffnen und mit "eclipse-cpp &" die IDE starten). Die CImg Bibliothek ist bereits installiert, ein entsprechendes Beispiel-Projekt ist in Eclipse angelegt.
-
- C++ Language Tutorial
- C++ Library Reference
- Beispielprogramme zum Herunterladen
- C++ in a Nutshell
- C++ Cookbook (link "Download Example Code")
- C++ Das Übungsbuch (link "Downloads")
- Exploring C++
-
2. Termin: Mittwoch, 28. Oktober 2020, 16:00-18:30, Zoom/JKU Moodle
- Zur Teilnahme an der Klausur ist es notwendig, dass Sie bis zum Freitag 23. Oktober 2020
- sich im KUSSS für die Klausur registrieren und
- im Kurs 326.005, KV Programmierung 2, Wolfgang Schreiner, 2020S des JKU Moodle in der Aufgabe "Klausur 28. Oktober 2020" eine Bilddatei "Ausweis.*" mit einem Foto Ihres Studentenausweises hochladen.
- Sollten Sie nicht im KUSSS für die LVA in diesem Semester registriert sein, haben Sie noch keinen Zugriff auf diesen Moodle Kurs. Schicken Sie mir dann bis spätestens Freitag 16. Oktober 2020 eine Email, damit ich Sie nachträglich registriere (geben Sie dabei an, in welchem Semester Sie die Übungsaufgaben abgegeben haben).
- Ich werde per Email im KUSSS bis zum Dienstag 27. Juni bekannt geben, wer alle Voraussetzungen erfüllt hat, um an der Klausur teilnehmen zu können.
- Für die Teilnahme an der Online-Klausur ist ein Computer mit Internet-Zugang und Web-/Laptop-/Handy-Cam zwingend erforderlich; außerdem ist ein Gerät notwendig, mit dem handgeschriebene DIN A4 Blätter in Bilddateien mit gut lesbarer Qualität konvertiert werden können (Handy, Tablet, Scanner).
- Der Ablauf der Klausur findet wie folgt statt:
- Loggen Sie sich im Kurs 326.005, KV Programmierung 2, Wolfgang Schreiner, 2020S des JKU Moodle ein.
- Um 16:00 (nicht später) betreten Sie das Zoom Meeting dieses Kurses (siehe Info im JKU Moodle). Verwenden Sie dabei Ihren vollen Namen und Matrikelnummer (Format: "NACHNAME Vorname (KXXXXXXX)"). Aktivieren Sie Ihre Webcam und richten Sie diese so aus, dass Sie selbst und Ihr Arbeitsplatz gut sichtbar sind. Stellen Sie sicher, dass Sie alleine in Ihrem Raum sind und während der Klausur auch niemand diesen Raum betreten wird.
- Um 16:15 schalte ich im Moodle-Kurs die Klausuraufgabe (eine PDF-Datei) frei (wenn Sie wollen, können Sie diese Datei ausdrucken, ist aber nicht notwendig). Sie können dann die Aufgabe beginnen. Die Verwendung beliebiger Unterlagen ist erlaubt (open book exam) aber jeder Versuch zur externen Kommunikation ist strikt untersagt.
- Die Klausur ist handschriftlich auf leeren DIN A4-Blättern mit einem dunklen Stift in einem Bereich auszuarbeiten, der durch die Webcam gut erfasst wird. Dieser Bereich darf währen des gesamten Zeitraums der Klausur nicht verlassen werden.
- Fragen können während der Klausur (nur) über das "Fragen und Antworten" Forums des Kurses im JKU Moodle gestellt werden (keine Audio-Fragen).
- Um 18:00 (nicht früher) beenden Sie Ihre Ausarbeitung und beginnen mit dem Fotographieren/Scannen und Hochladen Ihrer Ergebnisse in der unten angezeigten Form.
- Bis spätestens 18:15 muss das Ergebnis der Klausur in der Aufgabe "Klausur 28. Oktober 2020" in folgender Form hochgeladen sein:
- Eine Datei "Foto.*" mit einem Foto, das Ihr Gesicht, Ihren Studentenausweis und die erste Seite ihrer handschriftlichen Ausarbeitung zeigt (Beispiel).
- Dateien "Seite1.*", "Seite2.*", etc. mit Fotos von jeder einzelnen Seite Ihrer handschriftlichen Ausarbeitung. Sie können auch alle Seiten in einer einzigen Archiv-Datei (vorzugsweise
im zip-Format) hochladen oder die einzelnen Seiten zu einer gemeinsamen
Dokumenten-Datei (vorzugsweise im PDF-Format) zusammenfügen.
- Um 18:15 (nicht vorher), positionieren Sie die Kamera so, dass sie (auf dem Schreibtisch oder in Ihrer Hand) Ihren Studentenausweis und die erste Seite ihrer Ausarbeitung (wie abgegeben) gut sichtbar anzeigt. Bleiben Sie bis 18:30 im Zoom Meeting.
- Das Zoom-Meeting wird nicht aufgezeichnet. Sollte Ihre Zoom-Verbindung während der Klausur unterbrochen oder die obigen Richtlinien verletzt werden, behalte ich mir vor, die Klausur nicht zu werten.
- Bewahren Sie Ihre schriftliche Ausarbeitung nach Ende der Klausur ohne Änderungen weiter auf. Falls die Qualität Ihrer Fotos nicht zufriedenstellend sein sollte, werde ich möglicherweise nach neuen Fotos nachfragen.
- Bitte testen Sie anhand des Hochladens des Fotos Ihres Studentenausweises Ihre Möglichkeiten zur Aufnahme der Fotos und des Hochladens von Dateien. Nützen Sie die wöchentlichen Online-Fragestunden im Zoom zum Testen Ihres Equipments (Webcam).
- Zur Teilnahme an der Klausur ist es notwendig, dass Sie bis zum Freitag 23. Oktober 2020