Hochschule Reutlingen
Fakultät Informatik
Studiengang Medien- und Kommunikationsinformatik Bachelor

Informatik 2

mki-B2 - I2

Formaler Teil

Lehrveranstaltungen und Form Informatik 2 Vorlesung, Informatik 2 Praktikum
Dozenten Prof. Dr. Karlheinz Hug (SS),

Prof. Dipl.-Ing. Helmut Maier (WS)

Sprache Deutsch
Curriculum mki-B2, 2. Semester.
Status Pflichtfach
Angebot jedes Semester
Dauer und Arbeitsaufwand 4+2 SWS, Präsenzzeit: 90 Stunden, Eigenstudium: 210 Stunden
Kreditpunkte 10 ECTS (5+5)
Voraussetzung für mki-B4, 4. Semester
Prüfungen Vorlesung: Artefakt und schriftliche Klausur von 2 Stunden Dauer am Ende des 2. Semesters; benotet.

Praktikum: Erläuterung und Vorführung von Lösungen zu Übungsaufgaben, wobei eine bestimmte Quantität und Qualität zu erreichen ist; unbenotet.

Inhaltlicher Teil

Kurzbeschreibung

Zweiter Teil einer Einführung in die praktische Informatik; fokussiert auf Konzepte und Methoden objektorientierter Programmierung, rekursive Algorithmen, dynamische Objektstrukturen, Behälterklassen, Entwurfsmuster und Testmethoden. Das Praktikum führt vom Erweitern und Implementieren von Modulen über das Benutzen zum Implementieren, Komponieren und Erweitern von Klassen.

Empfohlene Vorkenntnisse

Informatik 1, Theoretische Grundlagen 1. Benötigte mathematische Kenntnisse vermittelt das begleitende Modul Theoretische Grundlagen 2. Im Praktikum sind erwünscht: Erworbene Kenntnisse aus der Vorlesung, Vorbereitung anhand der Übungsblätter.

Bezug zu Gesamtqualifikationszielen

Informatik 2 trägt zu den Gesamtlehrzielen von mki wie folgt bei:
  • Solide Informatik-Grundlagen: Die Studierenden lernen theoretisch fundierte, praxisrelevante Prinzipien, Konzepte und Methoden der Programmkonstruktion kennen.
  • Umfassende Methodenkompetenz: Die Studierenden lernen systematisches, methodisches Vorgehen beim Analysieren, Entwickeln und Testen von Programmen.
  • Attraktive Berufsperspektive: Die Studierenden lernen aktuelle Techniken der Softwareentwicklung kennen.
  • Soziale und kommunikative Kompetenz: Das Praktikum regt die Studierenden an, über Programmieraufgaben und Lösungsentwürfe zu diskutieren und in kleinen Gruppen Lösungen zu erarbeiten.

Lernziele

Der Hauptzweck von Informatik 1, 2 und 3 ist, Grundlagen der praktischen Informatik und zentrale Ideen imperativer Programmierung zu vermitteln, um die Studierenden auf professionelles, industrielles Entwickeln von qualitätvoller Software für multimediale und verteilte Anwendungen vorzubereiten. Die Studierenden lernen, mit informatischen Strukturen umzugehen und Algorithmen und Datenstrukturen zu analysieren, zu entwerfen, zu implementieren und zu testen. Im Praktikum wenden die Studierenden die in der Vorlesung rezipierten Kenntnisse selbstständig beim Lösen von Übungsaufgaben an. Die Studierenden sind am Ende fähig,
  • objektorientierte Entwürfe zu Anwendungsproblemen zu verstehen,
  • Bibliotheksklassen zu benutzen,
  • Klassendiagramme zu entwickeln und Klassenschnittstellen vertraglich zu spezifizieren,
  • objektorientiert zu programmieren,
  • Klassen zu komponieren und zu erweitern,
  • Entwurfsmuster einzusetzen,
  • dynamische Objektstrukturen zu konstruieren,
  • den Ablauf rekursiver Algorithmen zu verfolgen,
  • die Komplexität von Algorithmen abzuschätzen,
  • Testtreiber zu Klassen zu programmieren und die Klassen systematisch zu testen.

Inhalte

Dieser zweite Teil einer dreiteiligen Einführung in die Informatik fokussiert - basierend auf dem ersten Teil - auf Konzepte und Methoden objektorientierter Programmierung. Unter den behandelten Aspekten sind rekursive Algorithmen und Datenstrukturen, abstrakte Datentypen, Klassen und Objekte, Komposition und Aggregation, Klassifizierung und Vererbung, abstrakte Klassen, Polymorphie und dynamisches Binden, dynamische Objektstrukturen mittels Zeigern.

Im Mittelpunkt stehen Methoden der Programmentwicklung wie rekursiver Abstieg, objektorientiertes Zerlegen, Anwenden exemplarisch behandelter Entwurfsmuster, Benutzen von Klassenbibliotheken, Testen vertraglich spezifizierter Klassenhierarchien.

Um die Konzepte und Methoden zu lehren, dienen UML-ähnliche Notationen wie Klassen- und Objektdiagramme und dieselben Spezifikations- und Implementationssprachen wie im ersten Teil.

Das Praktikum führt die Studierenden mit aufeinander aufbauenden Übungsaufgaben aus den Bereichen Mathematik, formale Sprachen, Übersetzerbau und Behälterklassen vom Erweitern, Implementieren und Benutzen von Modulen über das Benutzen zum Implementieren, Komponieren und Erweitern von Klassen. Behandelt werden dabei rekursive Algorithmen, dynamische Objektstrukturen wie Keller, Listen und Suchbäume, sowie Anwendungen von Entwurfsmustern.

Lehrformen und -methoden, Medien

Vorlesung mit begleitendem Praktikum. Seminaristischer Unterricht mit Tafelanschrieb, Tageslichtprojektion und PC-Beamer zwecks Demonstration von Beispielprogrammen und interaktiver Programmentwicklung.

Im Praktikum bearbeiten die Studierenden individuell oder in kleinen Gruppen Übungsaufgaben auf Papier und am PC und entwickeln ihre eigenen Programme, wobei sie die Lehrsprachen benutzen. Intensive Betreuung durch den Dozenten und Assistenten.

Lehrmaterial

Zwei Bücher, Skripten, Folien, Beispielprogramme und Übungsblätter, in gedruckter und/oder elektronischer Form verteilt.

Herunterladbares Material

Literatur

Siehe Informatik 1 sowie

Gamma, Helm, Johnson, Vlissides: Entwurfsmuster. Elemente wiederverwendbarer objektorientierter Software Addison-Wesley, Bonn (1996) 430 S.

Jézéquel, Train, Mingins: Design Patterns and Contracts Addison Wesley, Reading (2000) 348 S.

B. Oesterreich: Analyse und Design mit UML 2.1. Objektorientierte Softwareentwicklung Oldenbourg, München, Wien (2006) 8. völlig überarbeit. Auflage, 378 S.