Assignments

The practical part of the coursework consists of five components: four smaller assignments and a separate, larger, course project. Assignments are to be addressed individually whereas the course project is be undertaken in groups of 2 students. The task to be performed in each assignment is listed in the assignment specifications.
Although students have some liberties in choice of technology for the practical assignments and the course project, use of the supplied development environments is highly recommended. The exact design and functionality of assignment solutions are left to students as part of the exercises, but all assignments specify a required minimal functionality set to be implemented to reach a passing grade.

Assignment 1

In assignment 1, students are to realize a simple message management system using two types of web service technologies: SOAP and RESTful web services.

Assignment 2

In assignment 2, students are to implement and use existing cryptography tools to secure a message-based communication system based on binary services using Google protocol buffers.

Assignment 3

In assignment 3, students are to implement and evaluate a Chord-based peer-to-peer system for message-based communicatoin.

Assignment 4

In assignment 4, students are to implement and analyze a messaging system based on the Cassandra distributed database system.

Course Project

In the course project, students will design and implement a distributed system of their own choosing. Choice of application and technology base is here left to the student as part of the exercise, but it is a requirement that the project addresses a sufficiently advanced topic within the distributed systems field. Students are encouraged to start planning the course project as soon as possible. A project proposal and feasible software design for the course project is mandatory to submit for teacher evaluation and approval prior to implementation of the course project.

Examination and Bonus Credits

Each deliverable in the course is graded at two levels: base credit and extra credit. Each submission the student makes must reach an acceptable standard in the minimum requirements for the task, and can after that also reach the extra credit level that students can add towards a higher course grade.

Tools

Some tips on useful tools for the assignment and course project are provided.