Network programming and distributed applications

Course Aim

After the course, the student

  1. has knowledge about a) the scientific foundation of  network programming and distributed applications including security considerations and b) the proven experience programmers in  this field of Computer Science;
  2. has knowledge about energy awareness in computer communication.
  3. has the capacity for carrying out teamwork and collaboration with various constellations, both in groups where the students choose whom to work with and in groups put together by others;
  4. can create, analyse and critically evaluate various technical solutions in terms of the design and implementation of communicating computer programs and to show insight in research and development by understanding limitations and possibilities;
  5. can plan and use appropriate methods to undertake advanced programming tasks within predetermined parameters and show the ability to identify knowledge gaps and bridging these gaps by gaining new knowledge.
  6. shows the ability to understand, interpretate and present scientific publications in the area.

Course Contents.

The course covers network communication and discusses basic structures and functionalities for development of networking applications. In addition, the course introduces communication models like TCP/IP and its support protocols, client-server, peer-to-peer, VPN and NAT. The course also establishes knowledge for programming of parallel events with threads, timers, counters and communication security. This course gives the student knowledge to program applications containing network communication. Implementation of client/server, service oriented architectures and distributed applications. The different mechanisms for reducing energy in network are studied according to four branches: Adaptive Link Rate, Interface Proxying, Energy Aware Infrastructure, Energy aware applications.

Module 1: (Lecture: 8h) Network programming fundamentals

Module 2: (Lectures: 8h) Network applications development

Module 3: (Lectures: 8h) Developing green network applications

Examination: Oral/written examination covering module 1-3

24h lectures; 24h labs, 80h practical assignments, 65h self-study, 5h exam. Total: 200h