IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Mobile og distribuerede systemer MSc 
Kursusnavn (engelsk):Mobile and Distributed Systems MSc 
Semester:Efterår 2015 
Udbydes under:cand.it., softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:7,50 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:
Forventet antal deltagere:15 
Maks. antal deltagere:30 
Formelle forudsætninger:In order to participate at this course you must be able to use all major elements of the Java language for implementing and testing medium sized programs, including threads, inheritance, packages, I/O, streams and serialisation.
These competencies can be obtained by completing the mandatory programming module on the MSc. programme Software Development or the first year of the BSc. in Software Development.
This course is an elective for SDT students. It can be taken by students who want to join the specialization on Pervasive Computing and did not have an introductory course in their bachelor, so they lack the prerequisites.
-----
Information about the course of study 
Læringsmål:After the course you are expected to be able to:
• describe and use fundamental architectures, principles and models used in designing and constructing mobile and distributed systems.
• describe and use basic concepts in mobile and distributed systems for evaluation and designing of solutions to problems in the field.
• implement distributed, and mobile systems in practice with the help of the above techniques. 
Fagligt indhold:Please note, that due to technical challenges, changes may occur before the start of the semester (week 35) – this applies to all sections of the course description.

Programs of today typically exhibit aspects of concurrency (or parallelism), distribution, or mobility or even all of them. In a concurrent system parts of the programs proceed simultaneously - for example in different threads or using event dispatching. 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 network in a building to the entire Internet.

Rather than studying specific vendors' tools and frameworks, we will be concerned with the theories that inevitably are the underpinnings of all vendors' solutions. In this course we will study some of the fundamental techniques used when developing, from a theoretical as well as from a practical point of view. In particular, the techniques are demonstrated throughout the course in lab assignments.

However, note that this is an introductory course. This means that the course will not make you an expert in any of the above fields, but it will provide the foundation on which to continue with specialization courses or self-study.

The course covers a number of topics, including:
• Communication over the network leads to dropped and reordered packets which requires robust request/reply and multicast protocols.
• Since programs communicate over an open and potentially faulty network, they must employ security, and it is difficult for them to synchronize on time, leaders, and data consistency. Protocols for encryption, authentication, authorisation, time synchronization, logical time, consensus, and data distribution address such issues.
• In order to support changes and evolution of it-systems loosely coupled architectures such as Service Oriented Architecture are employed, as well as process-oriented architectures for combining services in process flows in an adaptable way.
• Mobile and Ubiquitous computing has become widespread with the integration of computers and mobile phones and tablets like Android and iOS. Moreover, sensors based on RFID tags, bluetooth and GPS are becoming widespread – opening for new possibilities for applications such as location awareness, and new challenges for the implementations. 
Læringsaktiviteter:12 forelæsninger og 12 øvelsesgange

Lectures, exercises, mandatory exercises and mini-projects. Exercises will emphasise theoretical work, mini-projects implementation work.

This course is co-read with BSc in Software Development.
Currently 2 exercise slots are scheduled: Wednesday and Friday 10-12.
We are aware that these two exercise slots overlap with other SDT courses and we have schedule a third slot mainly for SDT students Tuesday 16-18. TimeEdit will be updated accordingly.
Besides lectures Monday you only need to attend one of the exercise slots. 

Obligatoriske aktivititer:3 mini-projects, 3 mandatory exercise sets; all submitted in groups. All 6 mandatory submissions must be approved in order to be eligible for the exam. Deadlines will be listed on the course page. If your submission is not approved, you may resubmit no later than 4/12-2015. 
Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam)

At the end of the semester, your 3 mini-projects and 3 mandatory exercises must be collected in a single .zip-file and submitted as your examination project
Duration of oral exam is 20 minutes individual exam.  

Litteratur udover forskningsartikler:George Coulouris, Jean Dollimore and Tim Kindberg, Sape Mullender, Gordon Blair - ISBN-10 0-273-76059-9 • ISBN-13 978-0-273-76059-7- 2011, 5. edition, Pearson International Edition. 
 
Undervisere
Følgende personer underviser på kurset:
NavnStillingUndervisertypeIndsats (%)
Søren Debois Adjunkt(ITU) Kursusansvarlig 100
Holger Stadel Borum Hjælpelærer(ITU) Hjælpelærer 0
Frederik Madsen Hjælpelærer(ITU) Hjælpelærer 0