Educational guide
IDENTIFYING DATA 2023_24
Subject DISTRIBUTED SYSTEMS Code 00709024
Study programme
0709 - GRADO EN INGENIERÍA INFORMÁTICA
Descriptors Credit. Type Year Period
6 Compulsory Third First
Language
Castellano
Ingles
Prerequisites
Department ING.ELECTR.DE SIST. Y AUTOMATI
Coordinador
FOCES MORÁN , JOSE MARÍA
E-mail jmfocm@unileon.es
asanv@unileon.es
Lecturers
FOCES MORÁN , JOSE MARÍA
SANCHEZ VARGAS , ANTONIO
Web http://paloalto.unileon.es/ds
General description Introduction to the Architecture of Internet-scale Distributed Systems
Tribunales de Revisión
Tribunal titular
Cargo Departamento Profesor
Presidente ING.ELECTR.DE SIST. Y AUTOMATI ALAIZ MORETON , HECTOR
Secretario ING.MECANICA,INFORMAT.AEROESP. PANIZO ALONSO , LUIS
Vocal ING.MECANICA,INFORMAT.AEROESP. SANCHEZ GONZALEZ , LIDIA
Tribunal suplente
Cargo Departamento Profesor
Presidente ING.MECANICA,INFORMAT.AEROESP. FERNANDEZ DIAZ , RAMON ANGEL
Secretario ING.MECANICA,INFORMAT.AEROESP. RODRIGUEZ DE SOTO , ADOLFO
Vocal ING.MECANICA,INFORMAT.AEROESP. FERNANDEZ LLAMAS , CAMINO

Competencias
Code  
A18103
A18107
B5611
B5618
B5619
B5620
B5623
B5624
B5626
B5631
C1 CMECES1 That students have demonstrated possession and understanding of knowledge in an area of study that is based on general secondary education, and is usually found at a level that, although supported by advanced textbooks, also includes some aspects that involve knowledge from the cutting edge of their field of study

Learning aims
Competences
To know and be able to explain the characteristics, functionalities and structure of Distributed Systems, COmputer Networks and Internet and be able to desigh a implement application based on them. A18103
To know and be able to apply the fundamental principles and basic techniques of parallel, ocncurrent, distributed and real time programming. A18107
B5631
Students must be able to apply the knowledge acquired in High School to advanced field in Computer Science and Engineering. B5626
C1
To be able to apply a general software life cylce by complying with general legal regulations and those derived from computer associations such as ACM and IEEE B5611
B5620
B5623
Students must be able to understand and apply the scientific method to the development of new software products through an innovative and creative attitude B5618
B5619
B5624

Contents
Topic Sub-topic
Block I: FOUNDATION Lesson 1:
· Introduction to Distributed Systems
· Message communication, no central clock, faults and indpendence
· Transparency
· End-to-end reliable communication with TCP
· Internet IPC with Raw, Datagram and Stream sockets

Lesson 2:
· Phyisical clock synchronization, Cristian's algorithm, clock sync with ICMP and NTP. High precision syncrhonization
· Lamport's Logical Clocks and Vector Clocks
· Global states
Block II: ARCHITECTURE OF DISTRIBUTED SYSTEMS Lesson 3:
· Layers and Tiers
· The programmers' perspective
· Middleware and types
· The 3-tier model

Lesson 4:
· Remote invocation with RPC, RMI and Distributed Objects
Block III: COMPUTACION DISTRIBUIDA Lesson 5:
· Contemporary DS technologies

Planning
Methodologies  ::  Tests
  Class hours Hours outside the classroom Total hours
Tutorship of group 4 0 4
 
Practicals using information and communication technologies (ICTs) in computer rooms 32 32 64
Problem solving, classroom exercises 12 0 12
 
Lecture 24 24 48
 
Practical tests 4 8 12
1 1 2
Extended-answer tests 4 4 8
 
(*)The information in the planning table is for guidance only and does not take into account the heterogeneity of the students.

Methodologies
Methodologies   ::  
  Description
Tutorship of group Lecturer's office hours for solving student's difficulties with the course
Practicals using information and communication technologies (ICTs) in computer rooms Lab practices including software design for DS and experiments with real equipment
Problem solving, classroom exercises The objective of these sessions consists of exposing the student to simple, specific and example-based problem resolution which will play a vital role in streamlining their mastery of the course
Lecture Presentation of the core concepts about distributed systems along with resolution of word problems and exercises

Personalized attention
 
Lecture
Tutorship of group
Practicals using information and communication technologies (ICTs) in computer rooms
Problem solving, classroom exercises
Extended-answer tests
Description
Weekly tutor teaching schedule is published in the course public calendar

Assessment
  Description Qualification
Lecture Attendance is mandatory 1%
Practicals using information and communication technologies (ICTs) in computer rooms Attendance is mandatory 1%
Problem solving, classroom exercises Attendance is mandatory 1%
Practical tests Submission of Lab Book whenever the instructior requests it 10
DS Pro (optional Practice submission) 10
Extended-answer tests Two Term Exams (Term 1 and Term 2). Weight distribution for final grade:

Te 1 = 70%

Te 2 = 30%
72%
 
Other comments and second call

Student attain a passed grade if the grade to each of the two Term Exams is "passed", i.e., 5 points or greater. Both term exams must be passed for the final weighted, passed grade is granted.

Final Grade =
0,72 * Weighted average (70/30 of term exams if both are passed)

+ 0,15 * Grade to the practices and regular Lab attendance
+ 0,10* DSPro
+ 0,03 * Attendance to Lectures, Problem sessions and tutorials

Sources of information
Access to Recommended Bibliography in the Catalog ULE

Basic Peterson & Davie, Computer Networks, MKP, 5th ed.
José M Foces Morán and José M. Foces Vivancos, Conceptual Computer Networks, WIP, WIP
Coulouris, George F., Sistemas distribuidos : conceptos y diseño, Pearson Educación, [2001], 3ª edición

All course materials are written in English.

Complementary


Recommendations


Subjects that it is recommended to have taken before
ENGLISH FOR ICT STUDIES / 00709005
COMPUTER PROGRAMMING I / 00709009
COMPUTER PROGRAMMING II / 00709011
OPERATING SYSTEMS / 00709013
COMPUTER NETWORKS ARCHITECTURE, DESIGN AND MANAGEMENT / 00709019
 
Other comments
The only computer languages used and accepted for this course are C, Java and the BASH shell script language.