IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Distribuerede systemer (kl. 13.30-18.30) 
Kursusnavn (engelsk):Distributed Systems (13:30-18:30) 
Semester:Efterår 2004 
Udbydes under:cand.it., internet- og softwareteknologi (int) 
Omfang i ECTS:7,50 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:
Forventet antal deltagere:50 
Maks. antal deltagere:120 
Formelle forudsætninger:Please remark! This course will not be offered in the spring semester 2005



Before the course the student should be able to:


  • use world-wide-web and email
  • describe what a client and a server is
  • design, implement, and test medium-sized programs in
    Java, including programs using inheritance

One way to obtain these prerequisites is by taking the course
<a href=\"http://www.itu.dk/KursusBase/index.php?body=VisInfo&id=1717\">Introductory Programming (Grundlæggende Programmering) followed by a course or a project at
ITU, involving programming. 
Læringsmål:After the course the student will have a basic knowledge of distributed
systems. The student will be able to:

  • describe the fundamental principles and models used in
    designing and constructing distributed systems
  • describe the use of middleware, including the principles for
    distributed objects and remote invocation
  • describe basic concepts in distributed systems such as
    concurrency control, transactions, multicast, replication,
    logical clocks, name services, and distributed file systems
  • implement distributed applications on the basis of the above
    knowledge using Java Sockets and Java RMI
 
Fagligt indhold:

A distributed system can be described as a collection of independent
components that, connected through a network, cooperate in
performing tasks. As an example, the components can be computers or mobile
phones. The network can be a local network in a singe building,
a network for mobile phones, or the entire Internet.

In this course we will study some of the fundamental techniques used
when developing programs for distributed systems. We will do this from a
practical as well as from a theoretical point of view.
The course consists of three main parts:


  • Fundamental concepts:

    • characterization of distributed systems and models of them
    • communication between processes, including Java socket programming

  • Middelware:

    • distributed objects and remote invocation
    • Java RMI case-study

  • Resource sharing and other fundamental concepts:

    • name services

    • distributed file systems

    • transactions and concurrency control

    • replication and multicast

    • real time clock synchronization and logical clocks



Note that important subjects, such as security and network protocols,
are covered in the course <a href=\"http://www.itu.dk/KursusBase/index.php?body=VisInfo&id=1583\">Data Security (Datasikkerhed)
and the course <a href=\"http://www.itu.dk/KursusBase/index.php?body=VisInfo&id=1740\">Network and Protocols (Netværk og protokoller)
which are good supplementary courses. 
Læringsaktiviteter:

Lectures from 13:30 to 16:00.
Exercises with instructor from 16:00 to 18:30 same day.
Mandatory exercises.



NB! In the introductory week, meaning from 27 August to 2 September 2004 the course will run from 16:00 to 18:30, where the first lecture will take place. This means, that exercises are cancelled in the introductory week.
 

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

All mandatory exercises must be passed/approved for students to
be eligible for the exam.

Oral exam for 30 minutes (this includes time for feedback etc). The exam questions are known in advance and there is no preparation time. Grades will be given according to the 13-scale and there is external censorship. The student is not allowed to bring notes on paper. For each question the student may bring at most three slides with figures, keywords and short notes.  

Litteratur udover forskningsartikler:<dl>
<dt><a href=\"http://www.booksites.net/coulouris\">
Distributed Systems - Concepts and Design,</dt>
<dd>by George Coulouris, Jean Dollimore and Tim Kindberg,
3rd edition, ISBN 0201-61918-0, Addison-Wesley, © 2001 Pearson Education.</dd>
<dt>Java Precisely,</dt>
<dd>by Peter Sestoft, ISBN 0-262-69276-7, © 2002 The MIT Press.</dd>
</dl>