IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Advanced Mobile and Distributed Systems Seminar 
Kursusnavn (engelsk):Advanced Mobile and Distributed Systems Seminar 
Semester:Efterår 2014 
Udbydes under:cand.it., softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:7,50 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:10 
Forventet antal deltagere:10 
Maks. antal deltagere:25 
Formelle forudsætninger:Before the course the student should be able to:

- describe and use basic principles for designing, constructing and
reasoning about concurrent, distributed, and mobile systems, for example:
threads, synchronization, race conditions, deadlock,
multicast/broadcast, starvation.

- implement concurrent, distributed, and mobile systems in practice
using the above principles in some contemporary programming language
such as Java, C#, F#, Python or similarly.

One way to obtain these prerequisites is to take the ITU course
"Mobile and Distributed Systems"; other ways, including *extensive*
practical experience, are possible. Contact the course responsible if
in doubt.


-----
Information about the course of study
This course is part of a specialization on the Master of Science in IT, study programme Software Development and Technology.
-----
NB!! Course restriction!!
Please note that this course used to be offered as a 15 ECTS course called Advanced Mobile and Distributed Systems. These two courses overlap substantially and thereby block each other. You cannot take this course if you have already taken Advanced Mobile and Distributed Systems. 
Læringsmål:After the course the student should be able to

- Model, design, and implement safe and correct distributed/mobile systems.

Specifically, the student should be able to:

- Define, describe, and apply fundamental modelling techniques to
designing mobile and distributed systems.

- Reason about and judge the correctness of mobile and distributed
Systems.

- Classify, define, and analyse communication protocols functioning
as an integral part of the infrastructure of mobile and
distributed systems. 
Fagligt indhold:We are witnessing a shift in software and systems architectures:
mainstream computing these days is increasingly /mobile/ and
/distributed/. For example, many modern phone applications process
code and data which is not only stored locally but also remotely over
servers, databases and other computers, hence distributed across a
number of other programs communicating over some network.

With that shift comes a challenge: Programming such systems is hard,
because it exposes programmers to increasing levels of complexity. In
mobile systems, programs do not have stable connections: they may
disconnect, and even proceed while disconnected. In distributed
systems, we must correctly handle faults, ensure
synchronization, and interact with untrusted partners.

In this course, we will look at cutting-edge research that addresses such problems using solid scientific foundations, first looking at solutions in theory, then experimenting with those solutions in practice.

Since mobile and distributed systems must be correct and safe
(e.g. systems for electronic payment, electronic voting, electronic
health care) we shall also address techniques for safely modelling and
analysing mobile and distributed systems, which will allow us to reason about the correctness of such systems. For example, we will see how to ensure that a system correctly implements some standard interaction protocols (e.g., for user authentication) and how to verify that a system is free from deadlocks.


In detail, the course consists of subject areas:

- Type-driven and workflow-based mobile and distributed programming.

- Communication protocols.

- Modelling, design and verification techniques for mobile and distributed systems.

/Note:/ Students following this course are welcome to do either (i) a
project in the same topics; or, (ii) to write a master's thesis with one of
the teachers after the course. 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger, øvelser og vejledning

14 weeks of teaching consisting of lectures, student presentations, supervision, and
exercise. 

Obligatoriske aktivititer:It is mandatory for students to participate in the presentation of at least 3 research papers and to hand-in 3 mini-project exercises in order to attend the exam. 
Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern censur

The group first gives a 10 minutes presentation of the project and report. This is followed by 25-30 minutes questioning to the report, presentation and curriculum in general. Questions will be asked individually to each group member. Duration in total for each group: 35-40 minutes.  

Litteratur udover forskningsartikler:Excerpts from: A. Bouguettaya, Q. Z. Sheng, F. Daniel (Eds.) - Web Services Foundations. Springer.