IS+303

=IS 303 Distributed Systems=

[|Course Catalog Description]
**Learning outcomes**  Upon successful completion of the course, students will be: **Course contents** Topics include problems in connection with openness, security, scaling, error handling, transparency and heterogeneity of a distributed system. Current technologies related to distributed systems will be introduced. Current architectures for distribution of objects and components and communication models between objects and/or components will be reviewed. **Teaching methods** The course is based on a combination of lab, theory and project work carried out by groups of students. Efforts are made to find appropriate projects in cooperation with the business/organisation in the local business community. Alternatively, a constructed case will be provided. Students may find a suitable project on their own, but the project must be approved by the department of Information Systems. See assignments. **Examination** Portfolio assessment. Marks are based on all portfolio contributions that may include, among other things, lab reports, reviews of syllabus and project report. The portfolio requirements will be determined at the beginning of term.Spring 2011 (everything is a group work): Assignments 1-8 counts 30%. A prototype of a distributed system counts 40%.A project report counts 30%.
 * able to give an account of established concepts of distributed systems
 * able to give an account of the principles of established practice and the theoretical knowledge of distributed systems
 * knowledgeable of the most applied technologies in distributed systems (with focus on open, but also with examples from some proprietory systems).
 * able to, in their own words, give an overall picture of distributed systems
 * able to, through a prototype, demonstrate some of the established concepts of distributed systems
 * able to discuss topics in connection with openness, security, scaling, error handling, transparency and heterogenity of distributed systems
 * able to analyze a distributed system
 * able to categorize modules in a distributed system
 * able to evaluate current architectures for distribution of objects and components
 * able to select communication models.

Comments
[Janis] As you can see the course has no enterprise / business focus. The focus has been twofold on the theoretical aspects of distributed systems (based on the work of Tannenbaum & Van Steen [|http://www.cs.vu.nl/~steen/books/ds2/] and Coulouris et al. []) and on an application of some (relatively simple) concepts in practice (using distributed programming in Ice [], components from glassfish server [] and open source xmlrpc and web services frameworks in different programming languanges, like python, php, ruby and c++).

I have administrated the servers providing distributed services myself or with some cooperation with it department at UiA.