Modulinformationssystem Informatik

 

Informatik I (Programmierung) URL PDF XML

Modulcode: G1.1
Englische Bezeichnung: Programming
Modulverantwortliche(r): Prof. Dr. Michael Hanus
Turnus: jedes Jahr im WS (WS06/07 WS07/08 WS08/09)
Präsenzzeiten: 4V 2Ü
ECTS: 8
Workload: 60 Std. Vorlesung, 30 Std. Präsenzübung, 60 Std. Rechnerübungen, 90 Std. Selbststudium
Dauer: ein Semester
Modulkategorien: G (Sonstige)
Lehrsprache: Deutsch
Voraussetzungen: Info

Kurzfassung:

Dieses Modul gibt eine grundlegende Einführung in die Programmierung. Hierbei werden verschiedene Abstraktionstechniken vorgestellt, die es erlauben, die Komplexität großer Systeme unter Kontrolle zu halten.

Lernziele:

Das Grundmodul G1.1 dient dazu, den Studierenden die Grundlagen der Programmierung und systematischen Programmentwicklung zu vermitteln. Die Studierenden erlernen verschiedene Abstraktionstechniken zur Beherrschung komplexer Systeme und wenden diese in unterschiedlichen Programmierparadigmen (funktionale, imperative und objektorientierte Programmierung) an.

Lehrinhalte:

Dieses Modul gibt eine grundlegende Einführung in Programmiertechniken zur Beherrschung der Komplexität großer Systeme. Wichtiges Leitmotiv hierfür ist das Finden geeigneter Abstraktionen zur schrittweisen Konstruktion komplexer Systeme. Zur Programmierung wird zunächst die Programmiersprache Scheme verwendet. Die Flexibilität von Scheme zwingt keinen festgelegten Programmierstil auf, sondern unterstützt sehr einfach verschiedene Abstraktionstechniken. Dadurch wird die Programmiersprache kein Mittel, um den Computer zur Ausführung von Operationen zu veranlassen, sondern ein Medium zum Ausdruck von Strukturen über Verfahrensweisen. In einem abschließenden Kapitel werden Sprachkonzepte aus der klassischen prozeduralen objekt-orientierten Programmierung anhand der Sprache Java erläutert.

Kurzübersicht:

  • Grundbegriffe
  • Abstraktion mit Prozeduren
  • Abstraktion mit Daten
  • Modularität, Objekte, Zustände
  • Prozedurale objekt-orientierte Programmierung

Weitere Voraussetzungen:

Prüfungsleistung:

Am Ende der Vorlesung findet eine schriftliche Klausur statt. Bei ihr können während des Semesters anhand von Hausaufgaben erworbene Punkte als Bonuspunkte eingebracht werden.

Lehr- und Lernmethoden:

Neben der Vorlesung werden in den Präsenzübungen die wöchentlich zu bearbeitenden Aufgaben besprochen und weitere Präsenzaufgaben in Kleingruppen bearbeitet. Zur Funktionskontrolle der abzugebenden Programmieraufgaben steht ein Web-basiertes automatisches Testsystem zur Verfügung, über das auch alle zu bearbeitenden Übungsaufgaben abgegeben werden müssen. Darüberhinaus stehen den Studierenden für praktische Fragen in den Rechnerarbeitsräumen studentische Hilfskräfte zur Verfügung.

Verwendbarkeit:

Die erlernten Kenntnisse zur Programmierung sind grundlegend für alle Studiengänge der Informatik und daher Voraussetzung für weitere Module, wie z.B. "Algorithmen und Datenstrukturen"', "Softwaretechnik"', "`Programmierpraktikum"' etc.

Literatur:

Die Vorlesung orientiert sich hauptsächlich an folgenden Büchern, wobei das erste die Hauptquelle darstellt:

  • H. Abelson, G.J. Sussman: Struktur und Interpretation von Computerprogrammen, Springer-Verlag, 2001 (4. überarbeitete Auflage). ISBN 3-540-42342-7
  • M. Felleisen, R.B. Findler, M. Flatt, S. Krishnamurthi: How to design programs, MIT, 2001. ISBN 0-262-06218-6

Verweise:

Kommentar: