Hochschule Augsburg

News

  • Vorlesung und Praktikum im Sommersemester 2020 virtuell statt. Den Link zur Veranstaltung entnehmen Sie bitte dem Moodlekurs.
  • Übungsblatt 3 ist online => PDF! => Programmcode LeerCode
  • 10 Lernbeispiele mit Kommentaren für OOP in C++ => ZIP

Module

PROG.2(Vorlesung) / PROG2.Z(Praktikum)

Vorlesung

Programmieren 2

Dozent

Prof. Dr. Alexander von Bodisco

SWS

4V+2P

ECTS Credits

7

Beschreibung

Pflichtfach

Termine

Vorlesung:

  • Einführungsvorlesung: Fr 20.03.2020 - 11:40-13:10 Uhr - (Zoom)
  • Vorlesung:
    • Do 09:50 -11:20 Uhr (Zoom)
    • Fr 11:40 - 13:10 Uhr (Zoom)

Praktikum:

  • Übungstermine und Gruppeneinteilung (4 Studierende pro Gruppe):
    Ort: Raum Zoom
    • Gruppeneinteilung erfolgt über Moodle - bis 24.03.2020 - 12 Uhr.
    • Informationen zur Einteilung und den Praktikumsterminen werden in der Einführungsvorlesung bekanntgegeben.
    • Erste Übung am Do 26.03.2020 bzw. Fr 27.03.2020 je nach Terminreihe.
    • Erste Abgabe am Do 02.04.2020 bzw. Fr 03.04.2020 je nach Terminreihe.
    • Terminreihe 1:Gruppe 01-04
    • Terminreihe 2:Gruppe 05-08
    • Terminreihe 3:Gruppe 09-12
    • Terminreihe 4:Tutorium/Fragestunde
    • Zahl in Klammern entspricht der Übungsblattnummer.

Abgabetermine im Sommersemester 2020
Datum/Uhrzeit 02.04 03.04 23.04 24.04 14.05 15.05 28.05 29.05
08:00-09:30 T1(Ü1)    T4 T2(Ü2)    T4    T4 T1(Ü3)    T4 T2(Ü4)
09:50-11:20 T3(Ü1) T1(Ü2) T2(Ü3) T1(Ü4)

T3(Ü4)

11:40-13:10 T2(Ü1) T3(Ü2) T3(Ü3)


Übungstermine im Sommersemester 2020
Datum/Uhrzeit 26.03 27.03 16.04 17.04 30.04 30.04 07.05 08.05 22.05
08:00-09:30 T1 T4 T2 T4 T4 T1 T4 T2 T1/T2/T3
09:50-11:20 T3 T1 T3 T1/T2/T3
11:40-13:10 T2 T3 T3 T2 T1

Empfohlenes Semester: TI2

Inhalt

Lehrinhalte:

  • Prinzipien der objektorientierte Softwareentwicklung
  • Benutzung von Klassen, Standardbibliothek
  • Fehlerbehandlung
  • Entwicklung von Klassen
  • Vererbung
  • Grafische Oberflächen
  • Iteratoren, Templates, Echtzeitprogrammierung
  • und vieles mehr...

Ziele der Vorlesung:

Die Studierenden beherrschen die Grundlagen der objektorientierten Softwareentwicklung am Beispiel der Programmiersprache C++.


Die Studierenden sind in der Lage, das Gelernte im Rahmen prakti-
scher Übungen anzuwenden.

Unterrichtsform:

Seminaristischer Unterricht mit Livecoding. Lösung von Problemen anhand von praktischen Beispielen.

Teilmodul Programmieren 2-Vorlesung(PROG.2):

  • Prüfung:
    • Mündliche Prüfung (20 min)
  • Zugelassene Hilfsmittel (Stand 15.03.2020):
    • Keine
  • Wichtige Anmerkung:
    • Halten Sie sich an die zugelassenen Hilfsmittel. (Bei Nichteinhaltung kann Ihre Klausur nicht gewertet werden.)
    • Bringen Sie einen Lichtbildausweis mit. (vorzugsweise Ihren Studentenausweis)
    • Erscheinen Sie mind. 15 Minuten vor Prüfungsbeginn!
    • Planen Sie ausreichend Zeit für die Anfahrt zur Hochschule.
    • Ist eine Fragestellung unklar oder entdecken Sie einen Fehler melden Sie sich! Prüfer oder Aufsicht schaffen im Zweifel Klarheit.
    • Die Richtigkeit der vorab bereitgestellten Lösungen/Hilfsmittel ist - wie immer - ohne Gewähr.

Teilmodul Programmieren 2-Praktikum(PROG2.Z):

  • Anwesendheitspflicht
  • Bearbeitung und Vorstellung der Lösungen am PC - pro Gruppe
  • Alle 4 Übungsblätter/Programmieraufgaben müssen (ausreichend) bearbeitet werden.
  • Bestehen des Praktikums ist Zulassungesvoraussetzung für die Prüfung.

Folien – SoSe2020

Name

Inhalt

Link

Status

Letzte Aktualisierung

Kapitel_0

Organisation

PDF

Aktuell

20.03.2020

Kapitel_1

Allgemeine Grundlagen

  • Syntax
  • Kommentare
  • Datentypen
  • Variablen (Deklaration, Definition…)
  • Gültikkeitsbereich (Scope)
  • Operatoren
  • Konstanten
  • Speicherklassen
  • Schleifen
  • Funktionen
  • Zahlen/Zufallszahlen
  • Arrays
  • Pointer
  • Referenzen
  • Zeigerarithmetik
  • structs

PDF

Aktuell

26.03.2020

Kapitel 1.5

Namensräume

  • Sichtbarkeit
  • Variablen und Funktionen

PDF

Aktuell

26.03.2020

Kapitel 2

Grundbegriffe OOP

  • Objekte/Instanzen
  • Klassen
  • Attribute
  • Methoden
  • Vererbung
  • Komposition/Aggregation/Assoziation
  • UML-Klassendiagramme

PDF

Aktuell

03.04.2020

Kapitel 2.X

Operatoren

  • Überladen von Operatoren
  • Speicherproblematik

PDF

Aktuell

13.05.2020

Kapitel 2.X

Referenzen

  • Regeln zur Verwendung
  • Anwendungsbeispiele
  • Fehlerquellen

PDF

Aktuell

13.05.2020

Kapitel 2.X

Static

  • Statische Variablen/Attribute
  • Statische Methoden
  • Fehlerquellen

PDF

Aktuell

13.05.2020

Kapitel 2.X

Friends

  • Klassen und Funktionen
  • Beispiele

PDF

Aktuell

15.05.2020

Kapitel 3

Klassen und Vererbung

  • Attribute
  • Konstruktoren
  • Destruktoren
  • Kopie-Konstruktor
  • Zuweisungsoperator
  • Vererbungsarten (public, protected und private)

PDF

Aktuell

07.05.2020

Kapitel 4

Virtuelle Funktionen

  • Zeiger auf Basisklassen
  • virtual
  • pure virtual

PDF

Aktuell

18.06.2020

Kapitel 5

Templates

  • generelle Funktionen
  • SmartPointer
  • Template-Klassen
    • Teilspezialisierung
    • Spezialisierung
    • Spezialisierung einzelner Funktionen innerhalb einer Klasse

PDF

Aktuell

18.06.2020

Kapitel 6

STL

  • Container (sequentiell/assoziativ)
  • Iteratoren (Grundlagen)
  • Algorithmen
    • find
    • sort
    • transform
  • Beispiele

PDF

Aktuell

25.06.2020

Kapitel 7

Exceptions

  • try-catch
  • throw
  • Speicherproblematik

PDF

Aktuell

25.06.2020

Kapitel 7.5

Lambdas

  • Syntax
  • Capture by-Value
  • Capture by-Reference
  • Beispiele
  • Speicherproblematik

PDF

Aktuell

13.05.2020

Kapitel X

Qt

  • Einführung
  • Signale und Slots

Moodle

Video in Moodle

11.06.2020

Kapitel 8

Threads

  • Grundlagen
  • join/detach/joinable
  • Parameterübergabe
  • Mutex
  • Lock_guard
  • Fehlerquellen

PDF

Aktuell

18.06.2020

Übung – SoSe2020

Name

Inhalt

Link

Ausgabe

Letzte Aktualisierung

Training

OOP - Einstieg - 10 Beispiele:

  • Würfel, Ereignis, Tacho, Bandansage, Knighrider, Tank, Auto, Digitalanzeige, Uhr, Digitaluhr

ZIP

16.04.2020

16.04.2020

Training

Hier finden Sie Aufgaben und Lösungen. Der Pool an Trainingsaufgaben und Lösungen wird ständig erweitert.

Aufgaben

/

Loesungen

Draftstatus

11.05.2018

LiveCoding

Aufgabenstellung und Lösung zum LiveCoding Programmieren 2 im SS18

Aufgabe

/

Loesung

Final

25.05.2018

LiveCoding

Aufgabenstellung zum LiveCoding im Praktikum Programmieren 2 im SS19

Aufgabe

Final

14.07.2019

LiveCoding

Klausur SS18

PDF

Final

17.07.2018

Übung_01

Einführung OOP

  • Namespace
  • String

Abgabe am 02.04.2020 bzw 03.04.2020


=> Loesung - Folgt

PDF

26.03.2020

26.03.2020

Übung_02

OOP und UML - Pandemiesimulation

  • Kapselung(public, private)
  • Klasseninteraktion
  • UML

PDF

/

Leer-Code

07.04.2020

23.04.2020

/

24.04.2020

Übung_03

OOP und UML -         Bomb-o-Woman

  • Kapselung
  • Klasseninteraktion
  • Dynamische Inhalte
  • UML

PDF /

Beschreibung

/ LeerCode

30.04.2020

14.05.2020 / 15.05.2020

SS 19 Übung_02

Vertiefung OOP und UML - Schaltungen

  • Vererbung
  • Kapselung(public, private, protected)
  • Virtual und pure virtual
  • friend-Funktion
  • UML

PDF

Wird in der Vorlesung besprochen

Wird in der Vorlesung besprochen

SS19 Übung_03

Vertiefung OOP und UML - Noten

  • Vererbung
  • Kapselung(public, private, protected)
  • friend-Klasse
  • UML
  • Datei- und String Operationen

Hilfsdateien:

Programm: Studeniengangsverwaltung

PDF

30.04.2019

30.04.2019

Übung_04a

Einstieg in Qt und den Qt Creator

  • Signale und Slots
  • Lambdas
  • QWidgets, QStackedWidgets, QLabels, QPushButton, QLineEdit

Programm: GUI Studeniengangsverwaltung

PDF

14.05.2019

14.05.2019

Übung_04b

Einstieg in Qt und den Qt Creator

  • Signale und Slots
  • Lambdas
  • QWidgets, QStackedWidgets, QLabels, QPushButton, QLineEdit

Programm: Sternzeichen

Hilfsdateien: => ZIP

Lösung => ZIP

PDF

14.05.2019

28.05.2019

Literatur: