Programmieren 2

Summary

Term
Summer 2019
ECTS
5 (course catalog: lecture, exercise)
Level
Bachelor
Instructors
Matthias Becker
Lecture Time
Mi 13:45 - 15:15
Lecture Room
Hauptgebäude, Raum E001
Exercise Times
Mo 10:00 - 16:00, Di 10:00 - 16:00, Mi 10:00 - 14:00; Do 8:00 - 12:00; Fr 12:00 - 17:00
Exercise Room
Hauptgebäude, Raum F411 (Rechnerraum)

Bemerkungen

Zur Vorlesung gehört eine Laborübung als Studienleistung. Die Studienleistung kann nur im Sommersemester absolviert werden. Für die Studiengänge Informatik und Technische Informatik gilt: Der Übungsteil ist eine separate Studienleistung. Zum Bestehen der Veranstaltung muss sowohl die Prüfung bestanden werden als auch der Übungsteil erbracht werden. Die Prüfungsteilnahme ist ohne Studienleistung möglich. Es wird aber empfohlen, den Übungsteil vorher zu absolvieren. Die Organisation der Veranstaltung erfolgt über Stud.IP.

Lernziele

Nachdem in Programmieren 1 die grundlegenden Programmierkonzepte erlernt wurden, werden in Programmieren 2 die Prinzipien Objekt-orientierten Programmierens vertieft. Die Fähigkeiten im abstrakten und algorithmischen Denken werden ausgebaut, insbesondere im Bereich Objekt-orientierten Denkens und Klassenentwurf. Die Teilnehmerinnen und Teilneher sollen in die Lage versetzt werden, systematisch ein mittelgroßes Programmierprojekt zu planen und zu erstellen. Dazu werden wichtige Bibliotheken und Werkzeuge von Java vorgestellt, u.a. die Konzepte, die mit der Erstellung einer grafischen Oberfläche zu tun haben (Threads, Events, Event Handling, Exceptions), sowie fortgeschrittene Datenstrukturen (Collections). Damit zusammenhängend wird das Konzept der Generics vertieft. Die Teilnehmerinnen und Teilneher erhalten einen Ausblick auf Werkzeuge und Methoden zum systematischen Erstellen von Software im Team.

Stoffplan

  • elementares Java: Sprachelemente, Datentypen, Wertebereiche, Kontrollstrukturen
  • Objekt-Orientierung: Klassen, Klassenhierarchie, Vererbungmechanismen (einfach/mehrfach)
  • Generics
  • Reflection
  • Threads
  • Event Handling, Observer/Observables, GUI-Erstellung
  • Lambda-Ausdrücke
  • Ausblick: Werkzeuge zum systematischen Erstellen von Software

Vorkenntnisse

Der Stoff bzw. die Kenntnisse aus Programmieren 1 werden als bekannt vorausgesetzt.

Literaturempfehlungen

Als allgemeines Nachschlagewerk: Christian Ullenboom: Java ist auch eine Insel

Materialien

Folien, Übungsblätter und andere Materialien finden sich auf Stud.IP.