Universität Bremen  
  FB 3  
  AG BKB > Lehre > Lehre SoSe 2001 > Deutsch
English
 

Internet-Programmierung SS 2001

 

Hui Shi, Christoph Lüth

Willkommen auf der Heimatseite dieser Veranstaltung. Hier gibt es Information zu Inhalt, Organisation, Übungsaufgaben und Literatur, die im Laufe des Semesters ständig erweitert werden.

Inhalt

Die Veranstaltung soll die Grundlagen der verteilten und nebenläufigen Programmierung vermitteln, die benötigt werden, um typische Internetanwendungen wie einen Webbrowser zu implementieren.

Die Vorlesung besteht aus Vorlesungen in ersten (ca) acht Wochen, gefolgt von einem Praktikum, in dem eine größere Anwendung programmiert wird. Als Programmiersprachen finden Java und Haskell Verwendung.

Plan

  • Einführung in die nebenläufige und verteilte Programmierung (Woche 1)
  • Grundlagen der verteilten Programmierung (Woche 2-4)
    • Aspekte und Programmierparadigmen: gegenseitiger Ausschluß, Verteiltheit
    • Neue Fehlerquellen und Sicherheitsaspekte: Deadlock und Livelock
    • Beispiele in Java
  • Nebenläufige Programmierung in Haskell (Woche 5-7)
  • Sicherheitsaspekte: security in Java (Woche 8)
  • Formale Aspekte: Petrinetze und CSP (Woche 8)
  • Datenmodellierung in XML (Woche 9)
  • Praktikum (Woche 10-14)
    • Zum Beispiel: Programmierung eines vorlesungsbegleitenden News-Systems
    • ... in Java oder Haskell

Organisatorisches

Vorlesungstermin

Di und Do um 08:00 im MZH 7260

Scheinkriterien

Bearbeitung der übungsaufgabe mit anschließender Präsentation der Lösung.

Abgeschichtete Prüfung

Es ist möglich, zu der Veranstaltung eine abgeschichtete Prüfung zu machen. Allerdings ist der Inhalt der Veranstaltung mit 4 SWS für eine Prüfung nicht hinreichend, und muß deshalb entweder mit einer anderen Veranstaltung kombiniert werden (zum Beispiel Abstrakter Systemprogrammierung), oder durch zusätzlichen Inhalt (wie etwa aus einem der Bücher unten) angereichert werden.

Das Praktikum

Hier das Aufgabenblatt und dazu die zwei DTDs kurs.dtd und anfrag.dtd (alles überarbeitet am 19.06.01), sowie die Folien vom 12.06.

Ferner ein kurzes Beispiel (main.hs, kurs1.xml) für die Benutzung von HaXML; die überarbeiteten DTDs in der Fassung vom 19.06.01 oben sind HaXML-kompatibel. Übersetzt wird es mit

  DtdToHaskell kurs.dtd kurs.hs
  DtdToHaskell anfrag.dtd anfrag.hs

  ghc -o main -package text kurs.hs anfrag.hs main.hs

Benötigt GHC 5.00 oder neuer.

Folien zur Vorlesung

Einführung

Nebenläufigkeit und Synchronisation I

Nebenläufigkeit und Synchronisation II

Verteiltheit und Kommunikation I

Verteiltheit und Kommunikation II

I/O in Haskell

Concurrent Haskell I

Concurrent Haskell II: MVars, Kanäle, Semaphoren

Concurrent Haskell III: Sockets

Reaktive Programmierung für graphische Benutzerschnittstellen

Formale Betrachtung paralleler Programme

Sicherheitsaspekte von Java

Einführung in XML (12.06.2001)

Beispiele zur Vorlesung

Nebenläufigkeit und Synchronisation

Verteiltheit und Kommunikation

Haskell-Beispiele:

Nim, Fassung 1, 2und 3; Worte zählen.

Concurrent Haskell:

Ein ganz einfaches Beispiel, ein weiteres Beispiel mit und ohne Synchronisation, die speisenden Philosophen, reentrante Monitore.
Das talk-Program, einfache und etwas verfeinerte Fassung; und Lokaler RPC.

Sicherheitsaspekte von Java

Digitalen Signaturen: Send.java und Receive.java (benötigen JDK 1.3).

SAXParser (19.06.2001)

Literatur

 
   
Autor: Dr. Christoph Lüth
 
  AG BKB 
Zuletzt geändert am: 30. August 2002   impressum