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

¿ describe and use fundamental principles used in designing and constructing concurrent, distributed, and mobile systems. Principles include threads, semaphores, monitors, transactions, multicast, name services, replication, discovery protocols.
¿ describe and use basic concepts for reasoning and designing solutions to problems in the field of concurrent, distributed, and mobile systems. Basic concepts include race conditions, mutual exclusion, deadlock, starvation, concurrency control, logical clocks, disconnected operation, and data synchronization.
¿ implement concurrent, distributed, and mobile systems in practice with the help of the above principles and concepts in Java or C#.

One way to obtain these prerequisites is by taking the course ¿Mobile and Distributed Systems¿.
 
Læringsmål:After the course the student will have knowledge about developing and modeling safe and correct distributed and mobile systems. The student will be able to:

¿ Define, describe, and apply fundamental modelling techniques in designing of mobile and distributed systems. The techniques can take offspring in model checking
¿ Argue for and judge the correct design of mobile and distributed systems.
¿ Classify, define, and analyse communicating protocols functioning as an integral part of the infrastructure of mobile and distributed systems. Examples could be protocols for routing in either P2P networks or protocols for routing in Mobile Ad Hoc Networks.
¿ Design, implement, and analyze safe and correct mobile and distributed systems with the help of the above mentioned techniques. The programming language of choice could be Java or C#.

In a project the student will either
¿ Design, implement, and analyze a mobile and distributed application illustrating the above knowledge, or
¿ Compare, analyse, and perhaps even develop communicating protocols for mobile and distributed systems.
 
Fagligt indhold:Programs of today typically exhibit aspects of both mobility and distribution. In a distributed system parts of the system are spread over a number of programs communicating over a network to cooperatively provide a service. The network may be anything from the local (wireless) network in a building to the entire Internet, including the cell phone network. In mobile systems the programs do not remain statically connected to each other as they may disconnect, and even proceed while disconnected. The programs may run on mobile devices such as laptops, PDAs, or mobile phones.

Mobility and distribution was to some extent studied in the predecessor introductory course ¿Mobile and Distributed Systems¿, and in this course we will study some of the more advanced and fundamental techniques used when developing mobile and distributed systems.

Since mobile and distributed systems must be correct and safe (e.g. systems for electronic payment, electronic voting, electronic health care, ¿) we also address techniques for modelling and analysing the design of mobile and distributed systems, techniques that will allow us to formally argue about the systems correctness.

Also, since communication and routing are key ingredients of mobile and distributed systems we shall put a special interest in protocols for dealing with such matters, and our prime case studies will be wired P2P systems and wireless Mobile Ad Hoc Networks.

We will do all this from both a theoretical as well as from a practical point of view, in particular the practical part will be covered in your project work, and we plan to invite guest lectures from companies developing mobile and distributed applications. The project work constitutes approximately half of the course, and the other half will be covered by course work. It¿s our hope to facilitate project work in collaboration with external (industrial) partners.

Students from Open University may choose to follow only the course work, and skip the project work (hence taking a part of the course corresponding to 7,5 ECTS points).

The course work part consists of subject areas:

¿ Peer-to-peer systems.
¿ Mobile ad hoc networks.
¿ Bluetooth scatternets.
¿ Communicating protocols: For instance routing protocols.
¿ Techniques and tools for programming mobile and distributed systems.
¿ Modelling techniques for mobile and distributed systems: Examples could be UPPAAL or domain specific calculi.

The project work is to be carried out in groups of 3 to 4 students. The topic of the project is for the groups of students to agree upon, but the projects problem statement must comply with the course topics mentioned above, and one of the teachers must agree to supervise the project. A typical practical project theme could be:

¿ Implementation of Bluetooth scatternets

And a typical non-practical theme could be:

¿ Compare, model, and analyse two or more routing protocols
 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger, øvelser og vejledning

The course will be a mixture of lectures given by the course teachers and guests, seminars where students present research papers, and project work.

It is mandatory for students to participate in the presentation of research papers in order to pass the exam. The formal rules will be decided upon when the number of students following the course is known.

The written work for the exam is the outcome of the project work of the course, i.e. a project report.

------------------------------------
I intro-ugen (uge 35) er der ændrede kursustidspunkter ¿ se hvordan undervisningen er tilrettelagt her:
link til skemaoplysninger
Skemaoplysningerne for efterårssemesteret vil være tilgængelige fra august måned.

In the intro week (week 35) the course time table is changed ¿ see the schedule here:
link to the time table
The schedule for the fall term will be available in August.
-------------------------------------
Information om studiestruktur / Information about study structure

Dette kursus er en del af SDT-specialiseringen Mobile and Distributed Systems, som du kan finde beskrevet her: SDT specialiseringer
For at blive cand.it. i SDT skal du bestå SDT¿s backbonekurser, og desuden gennemføre en 22,5 ECTS specialisering samt to 7,5 ECTS valgfag.

This course is part of the SDT specialization Mobile and Distributed Systems ¿ see the description here:
SDT specializations
In order to graduate as a MSc in SDT, you need to pass the SDT backbone courses, and also take a 22,5 ECTS specialization and two 7,5 ECTS electives.
 

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

It is mandatory for students to participate in the presentation of research papers in order to pass the exam. The formal rules will be decided upon when the number of students following the course is known.
 

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
Tirsdag 10.00-12.00 Forelæsning ITU 2A18
Tirsdag 13.00-15.00 Øvelser ITU 2A18, 4A54
Torsdag 10.00-12.00 Forelæsning ITU 2A14
Torsdag 13.00-15.00 Øvelser ITU 4A20

Eksamen afholdes på følgende tid og sted:
EksamensdatoTidspunktEksamenstypeStedLokale
2008-12-17 Handing in written work no later than 3 PM Skriftlige arbejder ITU The Examination Office
2009-01-14 Tidspunkt oplyses senere Mundtlig eksamen ITU Lokale oplyses senere
2009-01-15 Tidspunkt oplyses senere Mundtlig eksamen ITU Lokale oplyses senere