Kursthemen

  • Programmierung 2 (SS 2021)

    326.005, Freitag 10:15-11:45, Zoom. Beginn: 12. März 2021.

    Zoom Meeting:

    https://jku.zoom.us/j/401349309?pwd=VnB3ckRlTUxxQTlOMGZTWWNMajRyZz09
    Meeting-ID: 401 349 309 Passwort: prog2

    In 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 einschreiben (klicken Sie auf den entsprechenden Knopf; Sie erhalten dann auch alle ins Nachrichtenforum gestellte Nachrichten per Email).
  • Übungsaufgaben

    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.

  • Tutorenstunden

    Es finden ab der Woche vom 15. März wöchentliche Tutorenstunden statt, diese werden über die unten angeführten Zoom-Meetings zu den genannten Zeiten abgewickelt. Bei Fragen außerhalb der Tutorenzeiten verwenden Sie bitte das allgemeine "Fragen und Antworten" Forum.
  • Software

      • 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.
      • Für die Verwendung unter macOS ist XQuartz zu installieren und in der jeweiligen Entwicklungsumgebung der Include-Pfad /opt/X11/include (Compiler-Option: "-I /opt/X11/include") und der Bibliothekspfad /opt/X11/lib (Linker-Option "-L /opt/X11/lib") zu konfigurieren.
    • 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.

    • Klausur

      • 1. Termin: Freitag, 2. Juli 2021, 10:00-12:30, Zoom
        • Alle Unterlagen sind erlaubt.
        • Details zur Abwicklung werden noch bekannt gegeben.
        • Im Oktober/November 2021 wird ein 2. Termin stattfinden.
    • Online-Klausur

      1. Termin: Freitag, 2. Juli 2021, 10:00-12:30, Zoom/JKU Moodle

      • Zur Teilnahme an der Klausur ist es notwendig, dass Sie bis zum Freitag 25. Juni 2021
        • sich im KUSSS für die Klausur registrieren und
        • im Kurs 326.005, KV Programmierung 2, Wolfgang Schreiner, 2021S des JKU Moodle in der Aufgabe "Klausur 2. Juli 2021" 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 18. Juni 2021 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 Montag. 28 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, 2021S des JKU Moodle ein.
        • Um 10: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 10: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. Ebenso ist während der Klausur die Verwendung von Kopfhörern oder Ohrsteckern verboten.
        • 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 die Chat-Funktion im Zoom gestellt werden (keine Audio-Fragen).
        • Um 12: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 12:15 muss das Ergebnis der Klausur in der Aufgabe "Klausur 2. Juli 2021" 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 12: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 12:30 im Zoom Meeting.
        • Sollte Ihre Zoom-Verbindung während der Klausur unterbrochen werden, stellen Sie Ihre Verbindung so rasch wie möglich wieder her. Sollte die Verbindung länger unterbrochen oder die obigen Richtlinien verletzt werden, behalte ich mir vor, die Klausur nicht zu werten. Das Zoom-Meeting wird nicht aufgezeichnet; ich werde aber nach der Klausur die Zoom-Logs auf die Einhaltung obiger Richtlinien überprüfen.
      • 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. Testen Sie rechtzeitig mit Zoom Ihr Equipment (Webcam).