Modul Informatik 1, Medieninformatik (Bachelor) (SPO 6)

Englische Sprache
Kompakte Schrift

Farbschema

Modulübersicht

Informatik 1

MINB110

Prof. Dr. Carsten Sinz

/

1. Semester

keine

keine

Die Lehrveranstaltungen dieses Moduls vermitteln grundlegende Kenntnisse der Programmierung und der theoretischen Informatik, wie sie zum Rüstzeug eines jeden Informatikers gehören.

So werden grundlegende Konzepte der objektorientierten Programmierung erworben wie Modellierung, Auswahl und Erstellung von Datenstrukturen, Implementierung und Qualitätssicherung. Ebenso werden grundsätzliche Fähigkeiten erlernt, Probleme zu analysieren und mit Hilfe von Programmen zu lösen.

In der theoretischen Informatik werden grundlegende Begriffe wie formale Sprachen, Aussagenlogik und formal-mathematische Automatenmodelle besprochen, ebenso wie deren Relevanz für praktische Anwendungen in der Informatik.

Klausur 120 Min. (benotet)
Lehrveranstaltung Programmieren

MINB1111.a

Vorlesung

Prof. Dr. Carsten Sinz

deutsch

4,5/4

135 Stunden gesamt, davon 60 Stunden Kontaktstudium.

Modulprüfung

Die Studierenden lernen in dieser Veranstaltung die Grundlagen der objektorientierten Programmierung anhand der Programmiersprache Java kennen.

Klassische Programmierkonstrukte wie Variablen, Typen, Ausdrücke, Kontrollstrukturen und Arrays lernen die Studierenden zum Lösen einfacher Probleme kennen und anzuwenden.

Daneben sollen die Teilnehmer erste Kenntnisse in objektorientiertem Entwurf erwerben und die grundlegenden Begriffe der objektorientierten Programmierung, wie Methoden, Klassen, Objekte und Felder, kennen und in kleinen Programmen anwenden können.

Paradigma zur Problemlösung, wie Divide-and-Conquer, werden vorgestellt ebenso wie deren praktische Umsetzung durch rekursive Programme.

Den Studierenden sind auch, neben Arrays, grundlegende Datenstrukturen wie Listen und deren Implementierung geläufig und können zur Problemlösung eingesetzt werden.

Auch fortgeschrittenere objektorientierte Programmierkonzepte wie Vererbung, Interfaces, Information-Hiding und generische Programmierung sowie Polymorphie sind den Teilnehmern bekannt.

  1. Tafelmitschrift, Folien
  2. Übungsaufgaben mit Lösungen
  3. Sammlung alter Klausuren und deren Lösungen
  4. Java-Programme und deren Dokumentation als Javadoc
  5. Weitere Java-Übungsaufgaben mit Lösungen zur Vertiefung.
  6. Peter Pepper, "Programmieren lernen: Eine grundlegende Einführung mit Java", Springer Verlag, 3. Aufl., 2007.
Lehrveranstaltung Programmieren Übung

MINB112

Übung

Prof. Dr. Carsten Sinz

deutsch

3/4

90 Stunden gesamt, davon 60 Stunden Kontaktstudium.

Übung 1 Semester (nicht benotet)

In wöchentlichen Übungsaufgaben vertiefen die Studierenden am Rechner die praktischen Inhalte der Vorlesung.

Sie benutzen dazu anfangs Kommandos im Terminal, später eine professionelle, integrierte Java-Entwicklungsumgebung, um Programme zu erstellen, zu debuggen, zu testen und zu ändern.

Angefangen mit einfachen Berechnungen in Java unter Verwendung von Variablen, Ausdrücke und Kontrollstrukturen, werden die Aufgabenstellungen zunehmend komplexer und beziehen auch einfache Datenmodellierungsaufgaben mit ein. Am Ende werden einfache Spiele programmiert und mathematische Probleme automatisiert gelöst, z.B. durch Näherungsverfahren.

Neben der Korrektheit und Funktionsfähigkeit der Programme erlernen die Studierenden auch, auf einen guten Programmierstil zu achten und Codier-Konventionen einzuhalten, eine Voraussetzung für spätere Arbeit im Team.

  1. Übungsaufgaben
  2. Programme mit Lösungen
  3. Online-Dokumentation in der Lernplattform ILIAS

Praktische Übungen

Lehrveranstaltung Theoretische Informatik

MINB111.b

Vorlesung

Prof. Dr. Heiko Körner

deutsch

4,5/4

135 Stunden gesamt, davon 60 Stunden Kontaktstudium.

Modulprüfung

Die Lehrveranstaltung führt in die Theorie der formalen Sprachen ein. Das Ziel ist die Vermittlung der Chomsky-Hierarchie als ein Stufenmodell unterschiedlich komplexer Sprachen. Weiterhin werden endliche Automaten als Repräsentanten heutiger Computer vorgestellt und ihre Beschränkungen aufgezeigt. Ein weiteres Lernziel ist die sichere Anwendung verschiedener Beweistechniken.

Die Lehrveranstaltung umfasst unter anderem die folgenden Gebiete der theoretischen Informatik: Aussagenlogik, formale Sprachen, Beweistechniken, das O-Kalkül, endliche Automaten, reguläre Sprachen und Ausdrücke, die Chomsky-Hierarchie, das Pumping-Lemma für reguläre und kontextfreie Sprachen sowie die Minimierung endlicher Automaten nach dem Satz von Myhill-Nerode. Weiterhin werden Kellerautomaten, der CYK-Algorithmus sowie Abgeschlossenheitseigenschaften von regulären und kontextfreien Sprachen besprochen.

  • Tafelanschrieb
  • Skript
  • Musterlösungen für alle Übungsaufgaben
  • D. W. Hoffmann: Theoretische Informatik, 5. Auflage. Hanser, 2022
  • D. Sipser: Introduction to the Theory of Computation, 3rd edition. Cengage Learning, Inc., 2012

Die Lehrveranstaltung findet als Vorlesung statt. Zahlreiche Übungsaufgaben vertiefen die vermittelten Gebiete und werden in evtl. zusätzlich angebotenen Tutorien diskutiert.