HeaderMSc1.jpg (15157 Byte) Header2
Header3.JPG (2877 Byte)
Home
Overview
Content
Tutors
Calendar
Books
Assignments
Examination papers
Marking
Downloads
Menu
Menu
Menu
Menu
Menu
Menu
Menu
Menu
Menu
Menu
Menu
Menu

 
Course content (German) - Inhalte von Frank Müller

 

Linkbrunel.gif (5585 Byte)

Modulname Inhalt
Software Engineering
for Distributed Systems
Vorlesungs-Wochenende 1:
  • Systems Analysis and Design
  • Object-Oriented Analysis and Design
  • Implementation Issues
  • Project Management and the Usage of Tools
  • Testing, Maintenance & Reliability
  • Formal Specification and Verification
Vorlesungs-Wochenende 2:
  • The Nature of Real-Time & Distributed Systems
  • A Framework for Dependable Systems
  • Concurrent Systems-Analysis
  • Concurrent Processes: Interaction with Semaphores
  • Processes: Scheduling
  • Interaction - Higher level methods (monitors, message passing)
Prüfung: 5 Aufgaben zu den Themen aus Vorlesungs-Wochenden 1 und 2, wobei nur drei Aufgaben zu lösen sind, um die maximale Punktzahl zu erreichen. (Es werden allerdings auch nur 3 Aufgaben bewertet!)
Computer Architecture Vorlesungs-Wochenende 3:
  • computer system performance issues
  • performance evaluation
  • memory system organisation
  • instruction set architecture
  • RISC versus CISC
  • introduction to pipelining
  • instruction and vector pipelining
Vorlesungs-Wochenende 4:
  • instruction level parallelism
  • pipelines and data hazards
  • pipelines and control hazards
  • cache memory
  • virtual memory
  • memory management
  • I/O systems
  • interconnection
Prüfung: 5 Aufgaben zu den Themen aus Vorlesungs-Wochenden 3 und 4, wobei nur drei Aufgaben zu lösen sind, um die maximale Punktzahl zu erreichen.
Computer Networks Vorlesungs-Wochenende 5:
  • Netzwerk Grundlagen
  • Kabel (Koax, RJ45 etc.)
  • CSMA/CD
  • IEEE 802 Standards (Token Ring, Ethernet)
  • OSI Schichtenmodell
  • Modem
  • ISDN
  • ATM
Vorlesungs-Wochenende 6:
  • TCP/IP
  • Routing
  • ARP
  • ICMP etc.
Prüfung: Wahrscheinlich 5 Aufgaben zu den Themen aus Vorlesungs-Wochende 5 und Vorlesungs-Wochende 6. Es sind nur 3 Aufgaben zu lösen, um die maximale Punktzahl zu erreichen.
Workshop-Modul Semester 1 Workshop-Wochenende 1: (Object-Oriented Programming with Java)  

Java Tutorial and implementation of an event-driven GUI-based calculator. This workshop weekend isn’t assessed. Very easy to do for those which have already Java programming experience.

Workshop-Wochenende 2: (Threads, Design Pattern) 

Abhandlung der Threads in Java sowie Themen "Mutual Exclusion", "Monitors", "Deadlock" etc. Abhandlung wichtiger Design Patterns und Einführung in eXtreme Programming mittels JUnit.

Assignment 1: (Einführung in Java, Umsetzung Requirements in Design und Implementierung) 

Entwicklung eines RadioSimulators mit erweiterbarem Design. Sinnvoll um sich in OO und Java einzuarbeiten.

Assignment 2: (Threads) 

Umschreiben des Simulators in eine Anwendung mit mehreren Threads. Threads, Threadkommunikation, Locks und Monitore in Java.

Assignment 3: (Design Patterns) 

Umschreiben des Simulators in eine Anwendung mit einem simuliertem Datenbankzugriff. Anwenden von verschiedenen OO Designpatterns.

Programmierung nach dem eXtreme Programming Modell unter Zuhilfenahme von JUnit.

Workshop-Wochenende 3: (Computer Networks) 

Sockets und RMI in Java.  

Assignment 4: (Sockets) 

Abhandlung über Sockets, Multicast, Unicast, TCP und UDP.

Assignment 5: (RMI) 

Anwendung von Remote Objekt Aufrufen, entwickeln einer verteilten Anwendung in Client/Server Technik mit Java RMI.

Team-Assignment & Management Assignment Vorlesungs-Wochenende 7: 

Management-Kurs. Die einzelnen Schritte für ein erfolgreiches Projekt-Management.

Team-Assignment: 

In einer Gruppe von 4 bis 5 Leuten soll eine verteilte Software entwickelt werden. Das Team ist zufällig zusammen gestellt, um bewusst die Schwierigkeiten in einem Team zu erhöhen. Der Schwerpunkt liegt auf der Demonstration der Fähigkeit, ein Projekt in einem Team abzuwickeln.

Management Assignment: 

Schreiben eines Management Reports entweder über ein vorgegebenes Projekt, oder ein beliebiges anderes Projekt. Herausfinden der Schwerpunkte und Problembereiche, Ausarbeiten von Lösungen, Aufstellen eines Projekt-Plans etc.

Data Compression and Data Security Vorlesungs-Wochenende 8: (Data Compression)
  • Source Coding Theory
  • Source Coding Implementations
  • Predictive Data Compression
  • Dictionary Methods: the Lempel-Ziv Family

Im Wesentlichen die Inhalte aus der Vorlesung Informations- und Codierungstheorie.

Vorlesungs-Wochenende 9: (Data Security)
  • Data Security and Information Theory
  • Simple Ciphers and their Classification
  • A Complexity Measure for Security
  • Modern Cryptography

Ebenso der größte Teil Inhalt der Vorlesung Informations- und Codierungstheorie.

Prüfung: 5 Aufgaben zu den Themen aus Vorlesungs-Wochenden 8 und 9, wobei nur drei Aufgaben zu lösen sind, um die maximale Punktzahl zu erreichen.
Distributed Systems Architecture Vorlesungs-Wochenende 10:
  • Networks, networking and internet working
  • Interprocess communication, co-ordination and scheduling
  • Distributed File System
  • Distributed and Replicated Data management
Vorlesungs-Wochenende 11:
  • Operating System support and concept
  • Transactions and Concurrency Control
  • Recovery and Security
  • Software bus architectures
Prüfung: 5 Aufgaben zu den Themen aus Vorlesungs-Wochende 10 und 11, wobei nur drei Aufgaben zu lösen sind, um die maximale Punktzahl zu erreichen.
Workshop-Modul Semester 2 Workshop-Wochenende 4: (Distributed Objects Sockets, RMI, IDL, DCOM)

 Durcharbeiten von Tutorials über Forte for Java. Weitere Tutorials über RMI und Sockets. Umschreiben des Simulators für eine Kraftfahrzeugaufhängung in eine verteilte Anwendung mit RMI.

Assignment 1: (RMI and Sockets) 

Abhandlung über RMI, Sockets and TCP/IP. Lauffähige Version des Simulators mit RMI.

Assignment 2: (Java Beans: Nature and Application) 

Abhandlung über Softwarekomponenten. Erläuterung, was Beans sind, wie sie aufgebaut sind und wie sie eingesetzt werden können.

Workshop-Wochenende 5: (Data Compression and Data Security) 

Durcharbeiten eines gut vorbereiteten Tutorials. Erstellung von Statistiken, die in den Assignments zur Auswertung benötigt werden.

Assignment 3: (Coding for data compression) 

Bearbeitung und Aufbereitung von konkreten Fragen und Aufgaben, die im Tutorial gestellt wurden.

Assignment 4: (Coding for security) 

Bearbeitung und Aufbereitung von konkreten Fragen und Aufgaben, die im Tutorial gestellt wurden.

Workshop-Wochenende 6: (Distributed Systems Architecture)

Implementierung eines Time-Servers zur zeitlichen Synchronisation der Rechner in einem Rechnernetz. Die Realisierung erfolgt mit CORBA und Java. Als erstes erfolgt eine Einarbeitung in CORBA anhand von gut nachvollziehbaren Beispielen. Danach muss ein Time-Server und ein korrespondierendes Stuck Software, das clientseitig lauffähig ist, implementiert werden. Zum Zeitabgleich wird die Methode nach Christian verwendet.

Assignment 5 & 6:

Im Gegensatz zu anderen Workshop-Modulen muss nur ein Assignment angefertigt werden, das die erarbeiten Ergebnisse des Workshop-Wochenendes zusammenfasst. Hierbei soll auf Corba, auf die Probleme bei der Synchronisation und die Notwendigkeit einer Synchronisation von Uhren innerhalb eines verteilten Systems eingegangen werden.

Master Diplomarbeit
  • Abgabe einer Seite Kurzbeschreibung zu Beginn des 2ten Semesters.
  • Abgabe von 10 Seiten Beschreibung kurz vor den Prüfungen zum 2ten Semester.
  • Abgabe der Diplomarbeit ca. 3 Monate nach den Prüfungen des 2ten Semesters.