Ersatzseite zur Vorlesung Praktische Informatik I

VERANSTALTER:

ZEIT und ORT:
mittwochs, 10 - 12 Uhr im Hörsaal I
freitags, 10 - 12 Uhr im Hörsaal III

Beide Räume befinden sich im Hörsaalgebäude der Universität in der Mertonstraße

ÜBUNGEN:
Näheres zum Übungsbetrieb, die neuesten Übungsblätter und Informationen zu Modula-2 finden Sie weiter unten auf der Seite.

VORAUSSETZUNG:
Die Vorlesung richtet sich an Studierende im ersten Semester. Dem entsprechend werden keinerlei informatische Kenntnisse vorausgesetzt.

INHALT:
Die Grundstudiumsveranstaltung Praktische Informatik I besteht aus einer vierstündigen Vorlesung und zugehörigen wöchentlichen Übungen.
In der Vorlesung werden wesentliche Grundbegriffe und Techniken vermittelt, die für das Verständnis der Praktischen Informatik erforderlich sind und eine Grundlage für das weitere Studium der Informatik darstellen.
Wesentliche Inhalte sind zum Beispiel Algorithmische Grundlagen, Datenstrukturen, Programmkonstrukte, Programmiermodelle und Programmiertechniken..

SCHEINVERGABE:
erfolgreiche Klausur am Ende des Semesters

VORLESUNGSUNTERLAGEN

In der Bibliothek des Instituts für Informatik stehen Ordner mit Kopien der Folien aus der Vorlesung.
Teilweise sind diese Folien auch als PDF-Dokumente im Internet verfügbar.


Vorlesungstermin

Inhaltsangabe

Material (Folien)

Mi. 16.10.2002

Organisatorisches

In der Bibliothek

Fr. 18.10.2002

Einleitung, Algorithmische Abstraktion, Flussdiagramme
Beispiele und Gegenbeispiele für Algorithmen

In der Bibliothek

Mi. 23.10.2002

Rechnerarchitektur, Bus, CPU

In der Bibliothek

Fr. 25.10.2002

CPU, Haupt- und Sekundärspeicher

Mi. 30.10.2002

Informationsdarstellung I

In der Bibliothek und als PDF: PI1-Kap2b

Fr. 01.11.2002

Informationsdarstellung II

In der Bibliothek und als PDF: PI1-Kap2c

Mi. 06.11.2002

Modula-2 I: Einführung; Modulkonzept; Programmstruktur; Statements; Schlüsselwörter; Zeichenketten (Strings); Variablendeklaration und -definition (Bezeichner); primitive Typisierung

In der Bibliothek und als PDF: PI1-Kap3a

Fr. 08.11.2002

Modula-2 II: Benutzerdefinierte Typen; logische und binäre Operatoren; Zuweisungen (assignments); Konstanten und Variablen; Ausdrücke; Kontrollstrukturen: IF-THEN-ELSE, CASE

In der Bibliothek und als PDF: PI1-Kap3b

Mi. 13.11.2002

Modula-2 III: Schleifenkonstrukte: FOR, WHILE, REPEAT-UNTIL, LOOP; Prozeduren;

-

Fr. 15.11.2002

Modula-2 IV: Prozeduren; Funktionen; Parameter; Type Checking;

In der Bibliothek und als PDF: PI1-Kap3c

Mi. 20.11.2002

Modula-2 V: Seiteneffekt; Gültigkeitsbereiche und Speicherverwaltung: Programm, Daten, Hintergrundspeicher;

In der Bibliothek und als PDF: PI1-Kap3d

-

Fr. 22.11.2002

Modula-2 VI: Parameterübergabemechanismen: Call by Value/Reference

In der Bibliothek und als PDF: PI1-Kap3e

Mi. 27.11.2002

Modula-2 VII: Rekursion, Rekursion vs. Iteration;

-

Fr. 29.11.2002

Modula-2 VIII: Strukturierte Datentypen: Felder (arrays), Matrizen, Verbünde (records), Mengen (sets)

In der Bibliothek und als PDF: PI1-Kap3f

Mi. 04.12.2002

Modula-2 IX: Dynamische Datenstrukturen: Pointer und Speicherallokation, Dereferenzierung, Einfach verketteten Listen, Modifikationsoperationen auf Listen, Stacks

In der Bibliothek und als PDF: PI1-Kap3g

Fr. 06.12.2002

Modula-2 X: Dynamische Datenstrukturen: Doppelt verkettete Listen

-

Mi. 11.12.2002

Modula-2 XI: Dynamische Datenstrukturen:
Binäre Bäume: Aufbau und Traversierung

-

Fr. 13.12.2002

Modula-2 XII: Dynamische Datenstrukturen:
Binäre Bäume: Einfügen und Löschen

-

Mi. 18.12.2002

Modula-2 XIII: Sortieren und Suchen

-

Fr. 20.12.2002

21.12.2002-12.1.2003

Vorlesungsfrei - Frohe Weihnachten und einen guten Rutsch ins neue Jahr!

Mi. 15.01.2003

Testklausur

-

Fr. 17.01.2003

Algorithmisches Suchen I

-

Mi. 22.01.2003

Algorithmisches Suchen II

-

Fr. 24.01.2003

Grundlagen der Objektorientierung

-

Mi. 29.01.2003

Objektorientierung und Java I

-

Fr. 31.01.2003

Objektorientierung und Java II

-

Mi. 05.02.2003

Objektorientierung und Java III

-

Fr. 07.02.2003

Objektorientierung und Java IV

-

Mi. 12.02.2003

Objektorientierung und Java V

-

Fr. 14.02.2003

Thema noch offen - Reserve

-

Mi. 19.02.2003

Thema noch offen - Reserve

-

Fr. 21.02.2003

Klausurvorbeitung: Fragen & Antworten

-

 


ÜBUNGSBLÄTTER:

Übungsstermin

Inhalt

Übungsblatt (PDF-Dokument)

28.10.-1.11. 2002

Algorithmus, Flussdiagramm, CPU

PI1-Uebung01

4.11.-8.11. 2002

Rechnerarchitektur, Codierung

PI1-Uebung02

11.11.-15.11. 2002

Modula-2: Datentypen, Zuweisungen, Bedingungen

PI1-Uebung03

18.11.-29.11.2002

Modula-2: Syntaxdiagramme, Schleifen, Prozeduren

PI1-Uebung04

2.12.-6.12. 2002

Modula-2: Prozeduren und Rekursionen

PI1-Uebung05

9.12.-13.12. 2002

Strukturierte Datentypen, Pointer

PI1-Uebung06

16.12.-20.12.2002

-

-

21.12. 2002 - 12.1. 2003  - Vorlesungs- und übungsfrei
Frohe Weihnachten und einen guten Rutsch ins neue Jahr!

13.1.-17.1. 2003

-

-

20.1.-24.1. 2003

-

-

27.1.-31.1. 2003

-

-

3.2.-7.2. 2003

-

-

10.2.-14.2. 2003

-

-

17.2.-21.2. 2003

-

-

 


ÜBUNGSLEITUNG:


Zur Bearbeitung der praktischen Aufgaben benötigt jedeR Studierende einen Rechnerzugang. Zuständig für die Vergabe ist das RBI. Weitere Informationen hierzu werden rechtzeitig bekannt gegeben.

LITERATURLISTE:




BENUTZUNG VON MOCKA

In den Übungen zur Vorlesung Praktische Informatik I gibt es Aufgaben, in denen Programme in der Sprache Modula-2 zu erstellen sind. Diese Aufgaben müssen nicht unbedingt am Rechner genacht werden. Wir empfehlen jedoch, die geschriebenen Programme direkt am Computer auszuprobieren. Dazu wurde im RBI in den Fischerräumen auf den dortigen Linux-Rechner der Modula-2-Compiler mocka installiert.

Der Modula-2-Compiler mocka steht nur auf den Linux-Rechnern des RBI in den Fischerräumen zur Verfügung. Eine Zugangsberechtigung erhalten Sie direkt im RBI.

Der Modula-2-Compiler mocka und die zugehörige Dokumentation befindet sind in den Unterverzeichnissen von /usr/local/pkg-rh5.2/programming/mocka/.

Um ein Modula-2-Programm ausführen zu können, müssen Sie es erst übersetzen. Dazu gehen Sie wiefolgt vor:

  1. Erstellen Sie eine Programmdatei mit einem beliebigen Editor (vi, emacs,...). Speichern Sie das Programm unter einem beliebigen Namen mit der Endung .mi ab, zum Beispiel meinprog.mi.
  2. Übersetzen (Compilieren) Sie das Programm mit dem Modula-2-Compiler mocka.
    Geben Sie dazu folgende Anweisung in der Kommandozeile ein:
     mocka -c meinprog
    Der Programmname muss also ohne die Endung .mi angegeben werden! Statt mocka kann auch Mc verwendet werden.
  3. Binden (Linken) Sie das Programm mit anderen benötigten Modulen.
    Geben Sie dazu folgende Anweisung in der Kommandozeile ein:
      mocka -p meinprog
    Auch hier muss der Programmname ohne die Endung .mi angegeben werden.
  4. Es ist nun ein direkt ausführbares Programm entstanden, das Sie mit dem folgenden Aufruf starten können:
      meinprog

 

DOKUMENTATION:

Weitere Informationen entnehmen Sie bitte den beiden folgenden Publikationen:

 

PROBLEME:

 

SONSTIGES:

Auf dem Markt gibt es eine Vielzahl von Modula-Compilern für verschiedene Betriebssysteme. Einige davon werden kommerziell vertrieben, andere sind frei verfügbar. Wer seine Programme zuhause schreiben möchte, kann sich natürlich selbst einen Compiler installieren. Der auf den RBI-Rechnern installierte Compiler mocka ist für die Linux-Plattform frei verfügbar und wird bei vielen Linux-Distributionen (z.B: SuSE) bereits mitgeliefert.

 

LINKS:

Die folgenden Links (teilweise auf private Seiten) könnten bei der Suche nach einem Compiler oder beim Erlernen von Modula-2 vielleicht hilfreich sein: