Subato

 

Programmiermethoden und Techniken (AI) (SS 2021)

 

Responsible Lecturer: panitz

Lecturers

  • panitz
  • jever001
  • dolgich

Tutors

  • dmart001

lectureTimes

  • Vorlesung Mon 10:00 B002 (panitz)
  • Vorlesung Thu 02:15 B002 (panitz)

Training Groups

  1. A Mon 11:45 C213 (panitz)
  2. B Mon 14:15 C213 (panitz)
  3. C Tue 10:00 C213 (dolgich)
  4. D Wed 11:45 C361 (jever001)
  5. E Wed 14:15 C361 (jever001)
  6. F Thu 10:00 C001 (panitz)
  7. G Thu 11:45 C001 (panitz)

Exercise Sheets

 


Auf dieser Seite finden sich Lehrmaterialien zum Modul »Programmiermethoden und Techniken« im Studiengang Angewandte Informatik.
Bis auf weiteres wird das Modul komplett online durchgeführt. Vorlesungszeiten und Praktikumszeiten aus dem Präsenzstundenplan bleiben komplett erhalten. Das erste praktikum beginnt nach der ersten Vorlesung.
 
Der Zugang zu den Praktika, Vorlesungsstunden und Tutorien befindet sich auf: ZAPP

 

Vorlesungsskript:

Die Vorlesung besteht aus zwei Teilen, zu denen es getrennte Skripte gibt. Wegen der aktuellen Corona-Problematik wird es keine gedruckten Versionen der Skripte geben, da schon die Verteilung dieser Skripte unnötige Kontakte bedeuten würden.

 

Folienfilme

Auf der Hochschulplattform AMIGO finden sich kurze Folienfilme zu Themen aus der Vorlesung:

  1. Folienfilm: Von Schleifen zu Iteratoren
  2. Folienfilm: Faltungen
  3. Folienfilm: Streams
  4. Folienfilm: Spliteratoren

Praktikum

Zum Bestehen des Praktikums ist eine regelmäßige Mitarbeit in den Praktikumsgruppen erforderlich.
Das Praktikum wird als bestanden gewertet, wenn 90% der Übungsblätter als erfolgreich bearbeitet vom Dozenten des Praktikums abgenommen wurden und das Abschlussprojekt individuell gelöst wurde.

 

Prüfung

Die Benotung der Prüfungsleistung wird durch eine 60 minütige Klausur ermittelt.
Prüfungstermin: noch nicht festgelegt

 

Lessons

May 6, 2021, 2:15 PM
Spliteratoren
  • AL.java (Jetzt mit Spliteratoren und Funktionen stream() und parallelStream())
May 3, 2021, 10:00 AM

Das Java API im Paket java.util.stream

April 29, 2021, 2:15 PM
Faltungen auf Iterable-Objekten.
Faltungen in java für java.util.stream.Stream-Objekte in der Funktion reduce.
April 26, 2021, 10:00 AM
Weiter mit Iteratoren. Insbesonderer Iteratoren für die zwei Listenklassen, die wir implementiert haben.
April 22, 2021, 2:15 PM
Von der Schleife zu Iteratoren:
  • Eine Schleife braucht einen Schleifentest, eine Schleifenvariable, die einen Schritt weiter geschaltet wird und einen Schleifenrumpf
  • Diese Funktionalität kann in einem Objekt ausgedrückt werden
  • next() und hasNext() zum Steuern einer Schleife
  • Iterator<E> und Iterable<E>
  • Ein Iterable Objekt enthält mit seinem Iterator die beste Art, wie man über die Elemente des Objekts iterieren kann.
April 19, 2021, 10:00 AM
  • Funktionen höherer Ordung mit Predicate, Function und Consumer.
  • Was ist ? super und ? extends
  • Schleifen für rekursive Liste als:
    for (var it = this;!it.isEmpty();it = it.tail()){
      var x = it.head();
      //do something smart with x
    }
  • Warum ist die Verwendung von get(i) und length() schlecht bei rekursiven Listen.
April 15, 2021, 2:15 PM
  • Formale Spezifikation von Listen als Strukturelle Induktive Mengendefinition.
  • Rechnen auf Listen durch Anwenden von Gleichhungen.
  • Ein Ausflug nach Lisp.
April 12, 2021, 10:00 AM
Einstieg in einfach verkette Listen. nil, cons, isempty, head ,tail.