Informatik I für technische Studienrichtungen

für Studiengang Verkehrsingenieure

Die LV-Beschreibung entspricht dem Stand vom Mai 2008


(1) Studiengang:

Diplomstudiengang Verkehrsingenieure

(2) Art der Lehrveranstaltung:

Pflichtlehrveranstaltung

(3) Zeitliche Einbindung:

Grundstudium

(4) Zuordnung zum Hauptfach bzw. zur Vertiefungsrichtung:

-

(5) Lehrbeauftragter und Institutszugehörigkeit:

Dr. Inge Adamski

Institut für Theoretische Informatik

(6) Für die Lehrveranstaltung verantwortliches Institut:

Institut für Theoretische Informatik der Fakultät Informatik

(7) Umfang

2 Semesterwochenstunden Vorlesung
1 Semesterwochenstunde Übung Ü
1 Semesterwochenstunde Praktikum

(8) Empfohlene Semester:

1. Fachsemester

(9) Angebot der Lehrveranstaltung im:

Wintersemester

(10) Erwünschte Vorkenntnisse:

Erste Erfahrungen im Programmieren

(11) Zulassungsbedingung zur Prüfung:

1. Semester : Ein schriftliche Leistungskontrolle (Schein mit Zulassungscharakter für Informatik II -Klausur)

(12) Form des Abschlusses:

Schriftliche Prüfung (FP) nach Informatik II

(13) Fortsetzung der Lehrveranstaltung:

Informatik II

(14) Hinweise auf Studienmaterial:

Lehrmaterial Informatik I für Verkehrsingenieure - ausgewähltes Material zur Vorlesung (I.Adamski)

(15) Ziele:

Den Studenten des Studiengangs Verkehrsingenieurwesen werden die ausgewählte Teilgebiete der Informatik vorgestellt. Sie sollen erkennen, dass es sich um ein grundlegendes Wissensgebiet für einen Ingenieur handelt. Als wesentliche Grundlage des Programmierens wird die Entwicklung von Algorithmen, deren Darstellung in Struktogrammen und die Umsetzung in Programme in der Programmiersprache C  vermittelt sowie in Praktika und Übungen vertieft. Insbesondere sollen die Studenten befähigt werden, die Realisierbarkeit, Korrektheit und Komplexität von Algorithmen einzuschätzen. Die formale Beschreibung der Syntax  von Programmiersprachen und die Betrachtungen zur Ausführung von Algorithmen durch eine anweisungsorientierte abstrakte Maschine führen zu grundlegenden Aussagen über das imperative Programmierparadigma.  Darüber hinaus wird das imperative  Programmierparadigma mit dem deklarativen und dem funktionalen verglichen. Das objektorientierte Programmieren bildet die Grundlage für die weitere selbständige Entwicklung der Programmierfähigkeiten der Studenten.

Inhaltliche Schwerpunkte sind :
·
         Informatik – Ein Überblick
·
         Grundlegende Datentypen und Algorithmen
·
         Programme in der imperative Programmiersprache C
·
         Funktionskonzept und Datenstrukturen von C
·
         Such- und Sortieralgorithmen
·
         Algorithmen auf Bäumen und Graphen
·
         Komplexität von Algorithmen und Berechenbarkeit
·
         Formale Syntaxbeschreibung: Syntaxdiagramme und EBNF
·
         Übersetzung von Programmiersprachen         
·
         Rechnerarchitektur: von-Neumann-Rechner, abstrakte Maschinen          
·
         Funktionale Programmiersprachen (Haskell)
·
         Logik-Programmiersprachen (Prolog)
·
         Objektorientierte Programmiersprachen (C++)

In den Übungen ist die Vertiefung der Kenntnisse und Fertigkeiten zur Algorithmierung und die Umsetzung von Algorithmen in Programme mit den Mitteln einer problemorientierten Programmiersprache Schwerpunkt.

(16) Gliederung:

1.      Einführung
Der Computer ein programmierbarer Automat

2.      Darstellung und Formulieren von Algorithmen
2.1.   Darstellung von Algorithmen durch Struktogramme
2.2.   Elementare Datentypen
2.3.   Programm = Algorithmus + Daten

3.      Programmentwicklungsumgebung und Werkzeuge der Programmierung
3.1. Editor – Quelltext erstellen
3.2. Übersetzung – Compiler, Interpreter
3.3. Debugger – Werteverlauf, Fehlersuche

4.      Funktions- und Parameterkonzept von C
4.1. Bibliotheken von Standardfunktionen, Module nutzen
4.2. Problemspezifische Funktionen programmieren

5.      Datenstrukturen und effiziente Algorithmen
5.1.   Total geordnete statische Datenstruktur – Feld
5.2.   Graphen
5.3. Total geordnete dynamische Datenstruktur -Liste
5.4.   Partiell geordnete dynamische Datenstruktur – Baum
 

 

 



 

 


Professur für Grundlagen der Programmierung


Mai 2008, Dr. Inge Adamski