The two lectures on the topic of distributed systems ("Distributed Systems 1” and "Distributed Systems 2”) teach both foundational and advanced principles that are illustrated through practical examples of existing paradigms and technologies. Principles treated in this course encompass foundations of goals and classes of distributed systems, as well as their architectures, processes, communication and name systems. Advanced principles include synchronisation, consistency and replicability, error-tolerance and security. The principles introduced in this course are exemplified through the paradigms of web-based systems and component-based systems. This includes sample implementations of individual principles. In addition, the course gives an introduction into the development of corresponding systems using actual technologies as examples.
This course provides students with the theoretical and applied knowledge about the creation of media-based web applications. This includes the foundations of the markup language HTML and Cascading Style Sheets, how to embed different types of media, as well as the conception, design and programming of responsive web applications.
Lecture notes, slides (PDF), multiple examples of programs
Preparation of lecture contents and exam