Home
News
Vorlesungen
Übungen
Software
Praktikum
Klausuren
FAQ
Kontakt
 
Grundzüge der Informatik 1: Vorlesungen

Folien

Hier sind die Folien als .pdf-Datei, geordnet nach Vorlesungsblock. Die Folien liegen zudem im LZI als Kopiervorlage aus. Die aktuellsten Folien sind im OpenUSS zu finden. Unterhalb der Folien ist die entsprechende Literatur angegeben

V1 V2, V2 in grau V3 V4 in pdf
V4 in ppt
V5 in pdf
V5 in ppt
V6 in pdf
V6 in ppt
LE 1 in Balzert,
Kapitel 1 in Gumm
LE 13/3.1 in Balzert,
S. 75-80, 84-93 in Gumm
KarelJ-Doku
Kapitel 1-4
KarelJ-Doku
Kapitel 4-5
KarelJ-Doku
Kapitel 6-7
S. 103-144 in Balzert

V7 in pdf
V7 in ppt
Geschichte von Java
Lexikalik von Java
Binden, Laden, Ausführen
V8 in pdf
V8 in ppt
Einfache Datentypen in Java
Operatoren in Java
V9 in pdf
V9 in ppt
V10 in pdf
V10 in ppt
V11 in pdf
V11 in ppt
Balzert: Sn. 35-67, 81-95, 353-357
Sommer: Sn. 198, 211-215
Balzert: Sn. 196-220, 263-306      

V12 Teil 1 in pdf
V12 Teil 1 in ppt
V12 Teil 2 in pdf
V12 Teil 2 in ppt
V13 Teil 1 in pdf
V13 Teil 1 in ppt
V13 Teil 2 in pdf
V13 Teil 2 in ppt
V14 in pdf
V14 in ppt
V15 in pdf
V15 in ppt
           

V16 in pdf
V16 in ppt
 

Inhalte der Vorlesung

Ohne Gewähr

Woche

Inhalte

Literatur

29.10.2001-02.11.2001

Über diese Veranstaltung
Themen der Veranstaltung
Organisatorisches

Überblick über die Informatik
Was ist Informatik
Einordnung der Informatik
Einsatz von Informatikmethoden
Berufsfelder der Informatik
Geschichte der Informatik

Von Hardware zu Anwendungen: Grundbegriffe
Rechnerkomponenten
Betriebssysteme
Middleware
Datenbanken
Compiler
Anwendungssoftware

Vom Problem zur Lösung
Ziele der Programmierung
Algorithmen
Beispiel-Algorithmen
Erkenntnisse und Fragen
Definition
Eigenschaften
Aufgabenstellung
Stolpersteine

Programmiersprachen und Programmierung
Programmierparadigmen
Definition von Programmiersprachen
Maschinensprachen
Höhere Programmiersprachen
Compiler
Programmiersprachen versus Programmierung lernen

Allgemeine Literatur zur Veranstaltung:

Balzert, Helmut: Lehrbuch Grundlagen der Informatik
Spektrum Akademischer Verlag, Heidelberg 1999
DM 159,99
ISBN 3827403588

Gumm, H. Peter und Sommer, Manfred:
Einführung in die Informatik

Oldenbourg Verlag
ca. DM 80,- (neue Auflage im Oktober 2001)

05.11.2001-09.11.2001

Eine spielerische Einführung in die objektorientierte Programmierung mit Karel J. Robot
Karels Welt und primitive Instruktionen
Einfache Programme
Roboterbeschreibungen
Vollständiges Programm
Programmausführung
Die Form von Roboterprogrammen
Fehlerterminierungen
Verschiedene Kategorien von Programmfehlern
Bugs und Debugging
Eine Aufgabe für zwei Roboter

Erweiterung der Roboter-Programmiersprache
Eine natürlichere Sprache
Mechanismen für die Definition neuartiger Roboter
Definition neuer Methoden
Bedeutung und Korrektheit neuer Methoden
Neue Methoden in einem Programm
Modifikation geerbter Methoden
Werkzeuge für den Entwurf und die Implementierung von Roboterprogrammen: Schrittweise Verfeinerung
Vorteile der Definition neuer Instruktionen
Schreiben von verständlichen Programmen

Polymorphie
Interaktion in Roboter-Teams
Ähnliche Aufgaben
Choreographen
Objektorientierter Entwurf
Anwendung von Polymorphie und Methodenparametern

KarelJ-Dokumentation

Karel-Simulator

12.11.2001-16.11.2001

Konditionale Ausführung
Die if-Anweisung
Definition neuer Prädikate
Korrekth
eit von if-Anweisungen
if und
else
Verschachtelte ifs
Komplexere Tests
Wann und wie if benutzen?

Vereinfachung von if
Attribute und Parameter if und Polymorphie

KarelJ-Dokumentation

Karel-Simulator

19.11.2001-23.11.2001

Wiederholung von Instruktionen

loop-Instruktion
while-Instruktion
while und if
Überlegungen über Schleifen
Wann und wie Schleifen benutzen?

Fortgeschrittene Techniken für Roboter
Einführung in die Rekursion
Endrekursion und Schleifen
Wir werden formal
Suchen
Und nun etwas Arithmetik
Nochmal Polymorphie

KarelJ-Dokumentation

Karel-Simulator

26.11.2001-30.11.2001

Von Robotern zu Objekten

Zwischenbilanz
Objektorientierte Programmierung
Reale- und Softwareobjekte
Daten, Operationen auf Objekten
UML-Notation

Schnittstellen
Das Geheimnisprinzip
Klassen und Typen
Standardtypen in Java
Gumm oder Balzert, siehe oben.
3.12.2001-8.12.2001

Java

Geschichte
Übersetzung und Ausführung von Java-Programmen
Applikationen und Applets
Pakete und Übersetzungseinheiten
Zugriffsrechte und Sichtbarkeit
10.12.2001-15.12.2001 "Gedächtnis" von Objekten
Variablen und Konstanten
Zuweisung und Ausdrücke
Basisausdrücke
Operatoren, Typumwandlungen, etc.
Zusammengesetzte Ausdrücke
17.12.2001-20.12.2001

Fünf Wege, über die ein Objekt Zugriff auf Daten bekommt

Attribute
Lokale Variablen
Rückgabewerte von Operationsaufrufen
Neu erzeugte Objekte

Parameter der Operationen
Sichtbarkeitsbereiche und -dauer von lokalen Variablen und Attributen
Klassenattribute und -operationen
Statische Initalsierungsblöcke
7.1.2002-11.1.2002 Objekterzeugung: Initalisierung mit Konstruktoren
Wrapperklassen
Schnittstellen
Die Klasse "Object"
14.1.2002-18.1.2002

Ausnahmebehandlung in Java

Die Rolle der Ausnahmebehandlung
Klassifikation von Ausnahmen
Warum eigenständige Ausnahmebehandlung in Java?
Vorteile einer eigenständigen Ausnahmebehandlung
Gruppierung von Ausnahmetypen
try, catch und finally
Ablauf einer Ausnahmebehandlung
Java 2 (1.3) API Specification
22.1.2002-25.1.2002

Ein- und Ausgabe in Java

Warum Ein-/Ausgabe in Java?
Ströme und ihre Oberklassen
Zeichenströme und Byteströme
Datenströme und Piped IO
Filter, Puffer, und Pushback
Serialisierung
Freier Zugriff
Java 2 (1.3) API Specification
4.2.2002-8.2.2002

Qualitätssicherung: Testen

Das Test-Dilemma
Wert und Kosten des Testens
Testmethoden
Testabdeckung
Kontrollfluß und Ü,berdeckung
Die Praxis: JUnit
JUnit.org
11.2.2002-15.2.2002

Algorithmenkomplexität

Nicht funktionale Algorithmeneigenschaften
Messen dieser Eigenschaften
O-Notation
Definition und Methodik
Analyse von iterativen und rekursiven Algorithmen
18.2.2002-22.2.2002

Datenstrukturen

Warum spezielle Datentypen?
Programmierung und Benutzung einiger Datentypen
Verzweigte Datenstrukturen
Effizienzbetrachtungen
Polymorphie
Einsatz spezieller Knotentypen