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:Forår 2011 
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, e.g,.:
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. See a description of specializations on SDT here:
Kandidat Software Development 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 solving issues;
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 modelling and
analysing the design of mobile and distributed systems, techniques
that will allow us to reason about systems' correctness.


In detail, the course consists of subject areas:

- Distributed synchronization and agreement

- Distributed event-based systems

- Communicating protocols

- Programming techniques for mobile and distributed systems

- Modelling techniques for mobile and distributed systems

/Note:/ Students following this course are invited to do either also a
project in the same topics; or 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 and
exercise. The course will have three segments; each segment has an
introductory lecture, a series of seminars, followed by a 1-week
mini-project putting the theory into practice.

It is mandatory for students to participate in the presentation of
research papers and to hand-in the 3 mini-projects in order attend the
exam.

See the schedule here: <link to the time table> -- The schedule will
be available shortly before the beginning of the term.

Choice quotes from course planning:

"Bottom line is that I would like to show [...] some useful and
advanced concepts for addressing real-world issues, and [explain]
why the industry cares about them."

-- Fabrizio Montesi, Dec 1, 2010.

"... I mean, we'll look at advanced stuff from research which
you can go program and play around with. How could
that not be awesome?"

-- Søren Debois, Dec 2, 2010.
 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern censur

TThis course has mandatory assignments (e.g. attendance, papers,
exercises, presentations, productions), that need to be
completed/approved before being eligible to register for the
examination:

- presentation of 2 papers
- being an opponent at 4 papers
- having 3 mini-projects approved

 

Litteratur udover forskningsartikler:Research articles.

Excerpts from: George Coulouris, Jean Dollimore, Tim Kindberg: Distributed Systems: Concepts and Design. Addison Wesley 
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Mandag 12.00-14.00 Forelæsning ITU 4A14
Mandag 14.00-16.00 Øvelser ITU 2A52

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2011-05-18 09:00-15:00 Skriftlige arbejder ITU The Examination Office (2E)
2011-05-31 Please contact the course manager Mundtlig eksamen ITU 2A12
2011-06-01 Please contact the course manager Mundtlig eksamen ITU 2A12