Internet Technology

Distributed Computing

Integrated course, 3.00 ECTS


Course content

Designing software for distributed environments, managing remote objects, setting up socket connections, creating restful web services hosted on (web-)application servers with n-tier architecture. Various (design) patterns and paradigms of (quasi-)parallel and distributed computing are discussed: serialisation, multi-threading with synchronisation, deadlocks, map/reduce or producer/consumer paradigm. Students design and plan the implementation of software component in distributed and heterogenous systems. That includes on the one hand web sockets for real time and on the other hand message brokers for asynchronous communication between clients and servers.

Learning outcomes

On completion of the course, students have fundamental knowledge from requirements engineering and is able to develop distributed software systems.

Recommended or required reading and other learning resources / tools

Bücher: Axel van Lamsweerde, "Requirements Engineering: From System Goals to UML Models to Software Specifications", John Wiley & Sons, 2009; Klaus Pohl, "Requirements Engineering", Springer 2010; Distributed Systems: Principles and Paradigms by Andrew S. Tanenbaum and Maarten Van Steen. CreateSpace Independent Publishing Platform, 2016.;The Art of Rabbit MQ by Connor Storey. CreateSpace Independent Publishing Platform, 2016.
Professional Journals: -

Mode of delivery

1 ECTS Lecture, 2 ECTS Tutorial

Prerequisites and co-requisites

Software Engineering 3

Assessment methods and criteria

Lecture: Final Exam, Tutorial: Continuous Assessment