Module summary
Module name:
Internal number:
Coordinator:
Extent:
Semester:
Pre-requisites with regard to content: Computer Science 1
Pre-requisites according to the examination regulations:
none
Competencies:

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.     

Assessment:
Individual exams
Course: Distributed Systems 1
Internal number: MINB2314 Type/mode: Lecture
Lecturer:
Prof. Dr. Christian Zirpins
Language of instruction:
German
Credits (ECTS): 2 Contact hours: 2
Workload: 90 hours (30 hours presence, 60 hours self-contained work) Assessment: Written Exam 90 Min. (graded)
Content:

The course provides a practical introduction to the concepts and paradigms of distributed systems using the example of web technologies and application development on the web. This initially involves an introduction of the world wide web with basic protocols such as HTTP and other standards in the context of the Internet. After that an introduction to the design and construction of web applications is provided. This includes firstly the frontend development with HTML5, CSS3 as well as client-side JavaScript and secondly the backend development with server-side JavaScript on the Node.js platform. Interactions between frontend and backend follow modern REST/HTTP and AJAX techniques. In addition, mechanisms for personalization with cookies and sessions as well as to authenticate users are presented. The course closes with a detailed discussion of web application security.

Recommended reading:
  • Semmy Purewal, "Learning Web App Development", O’Reilly, 1. Auflage, 2014
  • David Gourley, Brian Totty, "HTTP: The Definite Guide", O’Reilly, 2002
  • Mark Pilgrim, "HTML5 Up and Running", O’Reilly, 2010 (Online: http://diveintohtml5.info)
  • Marijn Haverbeke, "Eloquent JavaScrip", No Starch Press, 2014 (Online: http://eloquentjavascript.net)
  • Peter Gasston, "The Book of CSS3 - A Developer’s Guide to the Future of Web Design", 2nd Edition, No Starch Press, 2014
  • Andy Budd, Emil Björklund, "CSS Mastery", Third Edition, Apress, 2016 (Online verfügbar im Hochschulnetz)
  • Ethan Brown, "Web development with Node and Express", O’Reilly, 2014
  • Robert Prediger ; Ralph Winzinger, "Node.js : Professionell hochperformante Software entwickeln", Hanser, 2015 (Online verfügbar im Hochschulnetz)
  • Additional literature will be announced during the lecture
Comments:

In preparation for individual lecture units, the self-study of basic content is required by means of the accompanying literature (relevant chapters will be announced in the event). Further independent work concerns the follow-up of the lecture contents and the exam preparation.

Course: Interfacedesign
Internal number: MINB2334 Type/mode: Lecture
Lecturer:
Prof. Daniel Schwarz
Language of instruction:
German
Credits (ECTS): 2 Contact hours: 2
Workload: 60 hours (30 hours presence, 30 hours self-contained work) Assessment: Concept 1 Semester (graded)
Content:

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.

Recommended reading:

Lecture notes, slides (PDF), multiple examples of programs

Comments:

Preparation of lecture contents and exam

Course: Interfacedesign Excercise
Internal number: MINB2344 Type/mode: Exercise
Lecturer:
Prof. Daniel Schwarz
Language of instruction:
German
Credits (ECTS): 1 Contact hours: 1
Workload: 30 hours (15 hours presence, 15 hours self-contained work); Assessment: Exercise 1 Semester (not graded)
Content:
Recommended reading:
Comments:
Course: New Lecture
Internal number: MINB2324 Type/mode: Laboratory
Lecturer:
Prof. Dr. Christian Zirpins
Language of instruction:
German
Credits (ECTS): 2 Contact hours: 1
Workload: 60 hours (15 hours presence, 45 hours self-contained work); Assessment: Laboratory Work 1 Semester (not graded)
Content:

The lab course covers the practical application of various basic web technologies. The selection of technologies follows the topics of the VS1 lecture. In the laboratory, a complete web application is created in several steps. Each step takes a closer look at a range of web technologies. This will specifically promote skills in understanding and applying Web technologies including the areas of declarative languages such as HTML, CSS, and JSON, client-side and server-side JavaScript programming, and special technologies for single-page applications and REST architectures.

Recommended reading:
  • Semmy Purewal, "Learning Web App Development", O’Reilly, 1. Auflage, 2014
  • David Gourley, Brian Totty, "HTTP: The Definite Guide", O’Reilly, 2002
  • Mark Pilgrim, "HTML5 Up and Running", O’Reilly, 2010 (Online: http://diveintohtml5.info)
  • Marijn Haverbeke, "Eloquent JavaScrip", No Starch Press, 2014 (Online: http://eloquentjavascript.net)
  • Oliver Ochs, "JavaScript für Enterprise-Entwickler, Professionell programmieren im Browser und auf dem Server", dpunkt, 2012
  • Peter Gasston, "The Book of CSS3 - A Developer’s Guide to the Future of Web Design", 2nd Edition, No Starch Press, 2014
  • Andy Budd, Emil Björklund, "CSS Mastery", Third Edition, Apress, 2016 (Online verfügbar im Hochschulnetz)
  • Ethan Brown, "Web development with Node and Express", O’Reilly, 2014
  • Robert Prediger ; Ralph Winzinger, "Node.js : Professionell hochperformante Software entwickeln", Hanser, 2015 (Online verfügbar im Hochschulnetz)
  • Additional literature will be announced during the lecture
Comments:

Basic knowledge of general programming and declarative web languages is required (the latter can be obtained by a limited self-study of the accompanying literature). The course includes 50% supervised presence time (1 SWS) in the LKIT lab and 50% individual work. Proof of achievement is provided by presentation and defense of the solution.