Einführung in die Programmierung HS23

Allgemeine Informationen

IFW A 34, Mittwoch 16:15 - 18:00

Bei Fragen sind wir per Mail oder Discord erreichbar.

Die Übungen müssen jeweils bis Dienstag Abend 23:59 (Zeitpunkt von push, nicht commit) abgegeben werden.

Die Prüfung findet am 05.02.2024 von 09:30 - 12:10 statt. Weitere Informationen folgen von offizieller Seite.

Weitere Links finden sich hier.

Agenda

WocheSlidesLinksInhalt
KW38--keine Übungsstunde, es findet aber ein Study Center statt für Probleme mit der Installation/Umgebung
KW39

#1

  • Allgemeine Informationen zur Vorlesung / Organisatorisches
  • Vorstellungsrunde
  • Besprechung Übung 0
  • Git
  • EBNF
  • Kahoot
KW40

#2

  • Besprechung Übung 1
  • Vorbesprechung Übung 2
  • Vorprogrammieren
  • Short-circuiting expressions
  • Kahoot
  • EBNF Zusatzübungen
  • Java Zusatzübungen
KW41

#3

  • Nachbesprechung Übung 2
  • Vorbesprechung Übung 3
  • Kahoot
  • Zusatzübungen
  • Inkrement und Dekrement
KW42

#4

  • Nachbesprechung Übung 3
  • Vorbesprechung Übung 4
  • Merge Conflicts
  • Zusatzübungen
  • Kahoot
KW43

#5

  • Probleme bei Übung 3
  • Nachbesprechung Übung 4
  • Vorbesprechung Übung 5
  • Zusatzübungen
  • Kahoot
KW44

#6

  • Probleme bei Übung 4
  • Nachbesprechung Übung 5
  • Vorbesprechung Übung 6
  • GUI
  • Zusatzübungen
KW45

#7

  • Probleme bei Übung 5
  • Nachbesprechung Übung 6
  • Vorbesprechung Übung 7
  • Kahoot
KW46

#8

  • Probleme bei Übung 6
  • Nachbesprechung Übung 7
  • Vorbesprechung Übung 8
  • Kahoot
KW47

#9

  • Probleme bei Übung 7
  • VIS Community Solutions
  • Nachbesprechung Übung 8
  • Vorbesprechung Übung 9
  • Debugger Demo
KW48

#10

  • Probleme bei Übung 8
  • Nachbesprechung Übung 9
  • Vorbesprechung Übung 10
  • Interfaces / Polymorphismus
  • Kahoot
  • Zusatzübungen
KW49

#11

  • Probleme bei Übung 9
  • Nachbesprechung Übung 10
  • Vorbesprechung Übung 11
  • Kahoot
  • Zusatzaufgaben
KW50

#12

  • Probleme bei Übung 10
  • Nachbesprechung Übung 11
  • Vorbesprechung Übung 12
  • Kahoot
  • Comparable und Comparator
KW51

#13

  • Nachbesprechung Übung 12
  • Tipps für die Lernphase und Prüfung
  • Kahoot
  • Fragen/Probleme

Tipps zu den Übungen

Serie 0

keine Tipps

Serie 1
  • Aufgabe 1: Wichtig, dass ihr alle das Git-Repository einrichtet (ihr dürft gerne auch die Commandline verwenden, in den letzten Jahren wurde Git an der Prüfung nicht verwendet)
  • Aufgabe 2: -
  • Aufgabe 3: -
  • Aufgabe 4: Gute EBNF Aufgaben zum Üben, wir schauen uns Beispiele in der Übungsstunde an
Serie 2
  • Aufgabe 1: Mit den Fehlermeldungen arbeiten.
  • Aufgabe 2: Versucht Teile des Programmes wiederzuverwenden.
  • Aufgabe 3: Gute Übung zum Einstieg.
  • Aufgabe 4: Wie besprochen. Beliebter Aufgabentyp an der theoretischen Prüfung.
Serie 3
Serie 4
  • Aufgabe 1: Gute Beschreibung auf Wikipedia
  • Aufgabe 2: -
  • Aufgabe 3: -
  • Aufgabe 4: Loop Invariante:
    1. { precondition } => { loop invariant }
    2. { loop invariant } and { loop condition } => { loop invariant after loop body }
    3. { loop invariant } and not { loop condition } => { post condition }
    
  • Aufgabe 5: -
  • Aufgabe 6: Bonus
Serie 5
  • Aufgabe 1: Gute Übung, Textdatei wie in der Übung besprochen lesen
  • Aufgabe 2: -
  • Aufgabe 3: Bonusaufgabe von letztem Jahr, gute Prüfungsvorbereitung
  • Aufgabe 4: -
  • Aufgabe 5: Beispiele auf den Slides, letztjährige Prüfungsaufgabe
Serie 6
  • Aufgabe 1: -
  • Aufgabe 2: wie besprochen
  • Aufgabe 3: versucht alle Cases abzudecken
  • Aufgabe 4: Denkt an die Bedingungen die eure Loop Invariante erfüllen muss:
    1. { precondition } => { loop invariant }
    2. { loop invariant } and { loop condition } => { loop invariant after loop body }
    3. { loop invariant } and not { loop condition } => { post condition }
    
  • Aufgabe 5: -
  • Aufgabe 6: -
Serie 7
  • Aufgabe 1: EBNF.
  • Aufgabe 2: Wie besprochen, versucht alle Fälle abzudecken. Überlegt euch zu Beginn, was eure Methode tun soll.
  • Aufgabe 3: Gleiches Prinzip.
  • Aufgabe 4: Bonus.
  • Aufgabe 5: Template in den Slides. Nicht prüfungsrelevant, aber gute Übung.
Serie 8
  • Aufgabe 1: Klassische Übung zu Loop Invarianten.
  • Aufgabe 2: Ehemalige Prüfungsaufgabe, überlegt euch zuerst alle Fälle gut und beginnt erst dann mit der Implementation. Verwendet Rekursion.
  • Aufgabe 3: -
  • Aufgabe 4: Gute Übung, GUI-Teil nicht prüfungsrelevant.
Serie 9
  • Aufgabe 1: Bonus, versucht das Problem in einzelne Teilprobleme zu zerlegen
  • Aufgabe 2: Gute Übung für den Umgang mit Referenzen
  • Aufgabe 3: 7.272 gilt es zu schlagen.
  • Aufgabe 4: Interessante Aufgabe, evt. aber weniger prüfungsrelevant
  • Aufgabe 5: -
Serie 10
  • Aufgabe 1: Loop Invariante zur Übung
  • Aufgabe 2: Gute Übung, vor allem wenn man Probleme bei den Linked-List Aufgaben hatte
  • Aufgabe 3: -
  • Aufgabe 4: GUI Teil weniger relevant, aber gute Übung im Umgang mit Vererbung
Serie 11
  • Aufgabe 1: Einfache Übung mit Maps
  • Aufgabe 2: Interessante Übung, aufwändig, aber lohnt sich
  • Aufgabe 3: wie Aufgabe 2
  • Aufgabe 4: Gute Übung im Umgang mit Interfaces
  • Aufgabe 5: -
Serie 12
  • Aufgabe 1: Gute Vorbereitung auf die schriftliche Prüfung
  • Aufgabe 2: Gute Übung für Iterators/Generics
  • Aufgabe 3: -
  • Aufgabe 4: basiert auf Übung der letzten Woche, interessante Übung, wenn man die Zeit investiert
  • Aufgabe 5: -
  • Aufgabe 6: wie Aufgabe 4
  • Aufgabe 7: Bonus