Distributed Systems
Keywords |
Classification |
Keyword |
OFICIAL |
Operating Systems and Networks |
Instance: 2010/2011 - 2S
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
MIEIC |
157 |
Syllabus since 2009/2010 |
3 |
- |
6 |
56 |
162 |
Teaching language
Suitable for English-speaking students
Objectives
Upon completing this course, the students should be able to
- understand the basics of the design and implementation of simple distributed applications
- analyze simple distributed solutions and evaluate their adequacy to the problems they aim to solve.
Program
Introductory concepts on distributed systems and network computing. Communication paradigms: message passing, remote invocation. Distributed objects. Naming: identification and addressing. Security concepts. Synchronization. Replication and consistency. Fault tolerance.
Mandatory literature
Andrew S. Tanenbaum, Maarten van Steen;
Distributed systems. ISBN: 0-13-613553-6
Tanenbaum, Andrew S.;
Distributed systems. ISBN: 0-13-088893-1
Complementary Bibliography
Coulouris, George;
Distributed systems. ISBN: 0-201-61918-0
Teaching methods and learning activities
Theoretical classes are expository, usually complemented with transparencies. Whenever necessary, we will present some examples to make the topics easier to understand. The contents exposed follow the ones on the Tanenbaum and van Steen’s book. Notes and articles on the contents, which do not belong to the bibliography mentioned, will be provided or indicated as necessary.
Theoretical-practical classes are used for problem solving. The problems that will be considered range from programming assignments to distributed algorithms.
The programming assignments will require the use of tools available on the schools computing resources. The operating system of reference is Unix, in its Linux variant.
Software
Android
JDK 1.6
Unix
Evaluation Type
Distributed evaluation with final exam
Assessment Components
Description |
Type |
Time (hours) |
Weight (%) |
End date |
Attendance (estimated) |
Participação presencial |
50,00 |
|
|
Theoretical Exam |
Exame |
2,00 |
|
|
Project Assignment |
Trabalho escrito |
50,00 |
|
|
out-of-class work to solve assignments started in the practical classes |
Exame |
19,00 |
|
|
|
Total: |
- |
0,00 |
|
Amount of time allocated to each course unit
Description |
Type |
Time (hours) |
End date |
Theoretical Study |
Estudo autónomo |
39 |
|
|
Total: |
39,00 |
|
Eligibility for exams
Do not exceed the absence limit and obtain a minimum of 40% in the project.
Calculation formula of final grade
0,5PP + 0,1PA + 0,4EF
where,
PP – Projects
PA - Class participation
EF – Final exam
In order to successfully complete this course, students must have a minimum score of 40% in both PP and EF. The final mark cannot be higher than 3 points of the minimum grade of PP and FF.
Examinations or Special Assignments
Students will have to implement two distributed systems. It will be considered added value to the project is the second project is implemented using the Android development platform.
The final examination is designed to cover a period not to exceed two hours, and students are allowed to use a cheat sheet.
Special assessment (TE, DA, ...)
Similar to the ordinary students, except the class participation component. Therefore, the grande is obtained as follows
0,5P + 0,5F
where,
P – Projects
F – Final exam
Special evaluation students must contact the responsible of the course to schedule the checkpoints for the project.
Classification improvement
Classification improvement can be done, in the specific periods, by doing another final exam. The improvement of grades larger or equal to 18 marks is done by submission to an oral exam, which will cover both theoretical and practical aspects.
Classification improvement of the project is done by handing in another project, which will have to be discussed in the responsible of the course before being implemented.
Observations
Lectures may be taught in English, if all enrolled students agree.
As pre-requirements to obtain good score in this course, we expect that the students have:
- knowledge of programming in Java;
- knowledge of using Unix;
- basic Knowledge of operating systems and computer networks.
The students are asked to have an honest academic behavior. The cases of abuse of trust shall be reported to the Course Director.