Academic management

University of Oviedo

Uniovi.es | Home | Search | Site Map

| |

Bachelor´s Degree in Informatics Engineering in Information Technology
GIITIN01-3-008
Distributed Systems
General description and schedule Teaching Guide

Coordinator/s:

JOSE LUIS DIAZ DE ARRIBA
jldiazuniovi.es

Faculty:

Darío González Lema
gonzalezdariouniovi.es
(English Group)
JOSE LUIS DIAZ DE ARRIBA
jldiazuniovi.es
MARCO ANTONIO GARCIA TAMARGO
marcouniovi.es

Contextualization:

The course “Distributed Systems” is taught in the second semester of the third year, and it develops part of the specific competences for the informatics branch, in the subject “Networks and Services” (NS), in the module “Systems and Services” (SS). The remaining competences for the NS subject are covered in the course “Redes de Computadores”, which is taught in the same year, in the first semester.

The acquired competences will allow the student to understand the difficulties and challenges of distributed systems design, and the architectures commonly used in these. In addition, the student will know and will be able to utilize some of the technologies commonly used in the design and implementation of distributed systems.

These competences are developed through three type of in-person activities: theory lectures, classroom practice sessions,  and computer lab sessions, as well as other remote activities, such as the study time, and the developing of individual and group tasks. The calendar is organized so that the student receives two hours per week in the classroom (one of them devoted to theory lectures and the other varying between theory lectures or classroom practice sessions, depending on the week in the calendar), plus two more hours for computer lab sessions.

Requirements:

Although the course does not impose any previous requirement, it is preferable that the student coursed “Redes de Computadores” and “Operating Systems” courses. It is also recommended to have a practical knowledge about programming languages and methodologies, such as the one teached in “Fundamentals of Informatics”, “Introduction to Programming”, and “Programming Methodology”, as a minimum, as well as a solid theoretical knowledge of how a computer works and the information is represented (as it is taught in the course “Fundamentals of Computers and Networks”).

Competences and learning results:

Once the course is completed, the students will have the following competences (from the grade memory):

 

From competence  ECR11    (Knowledge and application of the characteristics, functionality and structure of Distributed Systems, computer networks and Internet, and design and implementation of applications based on these) the following sub-competences are covered:

 

ECR11.1    Knowledge and application of the characteristics, functionality and structure of Distributed Systems.

ECR11.4    Design and implement applications based on Distributed Systems, computer networks and Internet.

From competence ECR14 (Knowledge and application of the fundamental principles and basic techniques of the paralell, concurrent, distributed,  and real-time programming) the following particular sub-competence is covered:

 

ECR14.2    Knowledge and application of the fundamental principles and basic techniques of the distributed programming.

 

These competences are developed and particularized in the following learning outcomes:

 

ECR11.1

RS1         Knowing the problematics, functionality and architectures of distributed systems. This learning outcome will be assesed mainly through written theory exams.

ECR11.4

RS4         Knowing the infrastructure services of distributed systems, and using it to design and implement applications based on them. This learning outcome will be assesed   mainly through written exams and individual computer lab tasks.

ECR14.2

RS5         Knowing and applying the fundamental principles of the distributed systems development, as the synchronization and data adaptation, as well as the basic programming techniques for these. This learning outcome will be assesed mainly through written exams and group tasks.

Contents:

T- 1.Introduction to Distributed Systems.

T- 2.Communication mechanisms (inter process communication, information coding, remote procedure call, message queuing, http encapsulation)

T- 3.Distributed Systems standards and architectures (Web Services, decentralized architectures)

T- 4.Infrastructure Services (Localization, Naming, Time synchronization and coordination, replication, distributed transactions, failure tolerance and recovery, security)

T- 5.New technologies (introduction to Grid computing and Cloud Computing).

Laboratory contents

P- 1.Introduction to the development environment for distributed systems.

P- 2.Inter process communication (sockets, concurrency, RPCs).

P- 3.Standards and architectures (p2p applications, message queuing systems).

P- 4.Infrastucture services (coordination, security).

P- 5.New technologies.

Methodology and work plan:

ACTIVITIES

Hours

%

Totals

In Class work

Lectures

18

12,0%

 

Classroom practices / Seminars / Workshops

8

5,33%

 

Field/Computer/Laboratory/Language practice

28

18,67%

60h

Hospital/Clinical practice

 

 

(40%)

Group tutorials

2

1,33%

 

External practices

 

 

 

Evaluation sessions

4

2,67%

 

Distance Learning work

Group work 

25

16,67%

90h

Individual work

65

43,33%

(60%)

 

Total

150

   

 

Exceptionally, if required by the sanitary conditions, distance learning activities can be included for the lectures, practices and laboratories. In this case, the students will be informed of the changes.

Assessment of students learning:

Ordinary call

In the ordinary call the evaluation will be continuous, through three different evaluation activity types. The relative weight of each one is indicated in parenthesis:

  1. Written tests about the theoretical contents. (40%). These tests will be performed inside the schedule programmed for lectures.
  2. Practical lab evaluation (40%). This is done through two deliverables or laboratory exams. Both the deliverables and the exams will be related to the material developed during the laboratory practices, or about variations on the exercises made. The deliverables are done through the Virtual Campus on the stipulated dates, and the work must be individual and original.
  3. Group work (20%), will be orally exposed during evaluation hours. Through the course, the students must organize in groups of 3 or 4 members, which will collaborate during the school period to create some original work about a topic, and write the results of their research in a document and a slides presentation. The topic will be chosen among several topics proposed by the teachers, or it can be proposed by the group and accepted by the teacher. In the last days of the course, the document must be delivered through the Virtual Campus and the group must make a public presentation of their work. All members of the group must be present during the presentation. No group work is accepted in the extraordinary calls.

Each of these parts must have a mark of at least 5 of 10 (although there is no minimum mark for each of the tests in each part). Provided that 5 or more was achieved at each part, the final mark will be computed according to the previously given weights. This is summarized in the following formula:

    Final grade = 0,4Theo + 0,4Prac + 0,2*GW (provided that Theo>=5; Prac>=5; GW>=5)

If any of the parts have a mark less than 5, the final grade will be computed as the minimum between 4 and the value given by the above formula.

Extraordinary call:

In this call the mark is composed of two parts:

  1. The mark obtained in the group work during the ordinary call (it can be 0 if the group work was not done).
  2. The mark obtained in an in-person test, consisting of a written exam with questions both about the theoretical concepts learned in the lectures and the technologies, tools, and programs used and created during the laboratory sessions. This exam must be passed with a mark of 5 or more.

The final mark in the extraordinary cal will be computed with the following formula:

    Final grade = 0,8 x Written test mark+ 0,2 x GW mark

NOTE: if the Group Work was not done in the ordinary call, or it did not get a pass mark, the maximum attainable mark in the extraordinary call will be 8.

Special and differentiated assessment call

In this course, the differentiated assessment consists of exempting the student from the tests performed during the ordinary call, and from the delivery of the laboratory practices or laboratory exams, as well as exempting them from the realization of a Group Work. These assessments are replaced by the following global tests.

Theoretical contents will be assessed in a single exam, in the date of the may call. Practical contents will be assessed in a laboratory exam, to be celebrated after the theoretical exam. In this laboratory exam, the student will be asked to perform some variation on the code developed during the practical laboratory sessions. These sessions, thus, should have been done previously by the student. This can be done by the student through distance work, using the material given in the Virtual Campus.

Exceptionally, if required by the sanitary conditions, other methods for distance assessment can be included. In this case, the students will be informed of the changes.

Resources, bibliography and documentation:

Bibliography

  • Andrew S. Tanenbaum, Maarten van Steen, Distributed Systems: Principles and Paradigms. Createspace Independent Publishing Platform, 2016.
  • George Colouris, Jean Dollimore, Tim Kindberg, Distributed Systems. Pearson Education Limited, 2013
  • M.L.Liu. Distributed Computing: Principles and Applications. Pearson/Addison Wesley, 2004.

 

Required resources:

The main required resources for this course are a personal computer with Internet connection, a web browser, and a word processor, will be used to access to the Virtual Campus and the realization of individual and group works. The required software tools are available in the laboratories, but they can be also freely acquired fro