Algorithmen und Programmierung 5 - Netzprogrammierung

This course introduces students to principles, programming languages, and specifications for developing distributed, web-based systems. The first part of the lecture deals with distributed systems, their characteristics and existing challenges in implementing them. We discuss also common architectures such as client-server and peer-to-peer. In the main part of this course we deal with technologies for supporting distribution. These technologies can be roughly assigned to three levels: technologies for ad hoc network programming (socket programming), technologies for structured communication (remote procedure calls) and middleware technologies. The latter level covers different approaches such as distributed object computing middleware and component middleware. We will discuss all these different implementations and in the lab you have time to test all the different approaches on real world examples. After introducing two applications of distributed computing: Cloud Computing and the World Wide Web, we will cover in the last part of the course topics that relate to the web application development such as data representations (e.g., XML, HTML), HTTP communication, JavaScript, CGI, Servlets, JSP.

(19300401)

Type

Lecture

Instructor

Adrian Paschke

Room

Takustr, 9

Gr. Hörsaal

Time

Dienstag 12-14 Uhr

Start

Oct 14, 2014

COURSE DETAILS

  • Mailing list
  • KVV
  • Teaching assistants:

COURSE ORGANIZATION

  • Lecture: Tue 12-14 Gr. Hörsaal\Taku 9
  • Lab 1: Wed  8-10 – SR 005/T9 Übungsraum, Simon Tippenhauer
  • Lab 2: Wed 10-12 – SR 009/A6 Seminarraum, Julius Auer
  • Lab 3: Wed 10-12 – 046/T9 Seminarraum, Simon Tippenhauer
  • Lab 4: Wed 12-14 – SR 006/T9 Seminarraum, Julius Auer
  • Lab 5:  Wed 14-16 – 049/T9 Seminarraum, David Bohn
  • Lab 6: Wed 16-18 – 055/T9 Seminarraum, David Bohn

GRADING

The grading in this class is only based on the result of your written exam but in order to actively participate in this course

  • you have to submit (n-1) of all assignments that are distributed in the labs,
  • you need to get at least 50 % of all points in each assignment,
  • you must present at least one assignment and answer the additional questions during your lab presentation,
  • the mean (=average) of all your assignments need to be above 60 %.

COURSE MATERIAL

All course material will be published in the KVV system.

COURSE DETAILS

  • Teaching assistants:

COURSE ORGANIZATION

  • Lecture: Tue 12-14 Gr. Hörsaal\Taku 9
  • Lab 1: Wed  8-10 – SR 005/T9 Übungsraum, Simon Tippenhauer
  • Lab 2: Wed 10-12 – SR 009/A6 Seminarraum, Julius Auer
  • Lab 3: Wed 10-12 – 046/T9 Seminarraum, Simon Tippenhauer
  • Lab 4: Wed 12-14 – SR 006/T9 Seminarraum, Julius Auer
  • Lab 5:  Wed 14-16 – 049/T9 Seminarraum, David Bohn
  • Lab 6: Wed 16-18 – 055/T9 Seminarraum, David Bohn

GRADING

The grading in this class is only based on the result of your written exam but in order to actively participate in this course

  • you have to submit (n-1) of all assignments that are distributed in the labs,
  • you need to get at least 50 % of all points in each assignment,
  • you must present at least one assignment and answer the additional questions during your lab presentation,
  • the mean (=average) of all your assignments need to be above 60 %.

COURSE MATERIAL

All course material will be published in the KVV system.

Lecture ( 14.10.2014 to 16.02.2015)

Date

RoomTopicLab Activity
14.10. Gr. Hörsaal  Introduction - Basics of Distributed Systems  no activity this week (but exercise sheer already published)
21.10. Gr. Hörsaal  Communication in and architecture of distributed systems  exercise 1 (see KVV)
28.10. Gr. Hörsaal  Ad hoc network programming  exercise 2
4.11. Gr. Hörsaal  

Structured communication (RPC)

 exercise 3
11.11. Gr. Hörsaal  

Structured communication (RMI)

 exercise 4
18.11 Gr. Hörsaal  

Java RMI

exercise 5
25.11 Gr. Hörsaal

Indirect Communication I

 exercise 6
2.12. Gr. Hörsaal  

Indirect Communication II

 exercise 7
9.12. Gr. Hörsaal  

Distributed Event Based Systems and Complex Event Processing

 exercise 8
16.12. Gr. Hörsaal  

Distributed Object and Component middleware (OMG with CORBA Component Model)

 exercise 9
 6.1. Gr. Hörsaal  Service-oriented architectures and web services exercise 10
 13.1. Gr. Hörsaal  Web application development I: dynamic web applications exercise 11
 20.1. Gr. Hörsaal  

Web application development II: dynamic web applications

 exercise 12
 27.1. Gr. Hörsaal Applications of distributed computing I: Peer to Peer  exercise 13
3.2. Gr. Hörsaal  

Applications of distributed computing II: Cloud computing

exam preparation
 10.2. Gr. Hörsaal Final Exam