Syllabus query

Academic Year/course: 2017/18

30212 - Concurrent and Distributed Systems Programming

Syllabus Information

Academic Year:
30212 - Concurrent and Distributed Systems Programming
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
326 - Escuela Universitaria Politécnica de Teruel
439 - Bachelor's Degree in Informatics Engineering
443 - Bachelor's Degree in Informatics Engineering
First semester
Subject Type:

5.1. Methodological overview

The learning process for this subject is based on the following aspects:

  • students must work on the subject since the beginning of the semester.
  • lectures for the presentation of the main concepts and methodologies for the development of concurrent and distributed systems. The teacher will make the lectures as interactive as possible, so that students should also participate.
  • the use of the presented methodologies in practical problem sessions, where students should have a participative attitude.
  • the laboratory sessions, where students will learn the necessary technologies for the development of programming projects where different entities should have to cooperate. For that, the studied synchronization mechanisms should have to be used.
  • some teamwork programming projects, which should be conveniently designed, developed, documented and demonstrated.

5.2. Learning tasks

The subject program proposed to students in order to reach the defined learning objectives includes the following activities:

  • about 60 hours of face-to-face activities, including lectures, problem sessions and laboratory sessions
  • about 30 hours of teamwork
  • about 55 hours of student individual work
  • about 5 hours for evaluation

5.3. Syllabus

The main topics the subject will concentrate on are the following:

  • At the "Escuela de Ingeniería y Arquitectura":
  • Introduction to concurrency (4h aprox.)
  • Modelling of concurrent systems (6h aprox.)
  • The critical section problem (5h aprox.)
  • Semaphores (8h aprox.)
  • Monitors (6h aprox.)
  • Introduction to distributed systems (3h aprox.)
  • Coordination by means of tuple spaces (3h aprox.)
  • Distributed algorithms (7h aprox.)
  • Introduction to real time systems (1.5h aprox.)
  • Introduction to event-based systems (1.5h aprox.)
  • The laboratory sessions will cover following topics:
  • Threads and shared data (2h)
  • Solutions to the critical section problem: the Peterson algorithm (2h)
  • Synchronization by means of semaphores (2h)
  • Synchronization by means of monitors (2h)
  • Synchronization of distributed systems by means of sockets (2h)
  • Analysis of the teamwork project (2h)
  • At the "Escuela Universitaria Politécnica de Teruel":
  • Introduction to concurrent programming (2h aprox.)
  • The problem of the critical section (2h aprox.)
  • The Ada programming language (2h aprox.)
  • Concurrent programming with Java (2h aprox.)
  • Semaphores (5h aprox.)
  • Conditional critical regions (2h aprox.)
  • Monitors (8h aprox.)
  • Direct communication. Rendezvous. (7h aprox.)
  • Activation and termination of processes (2h aprox.)
  • Introduction to distributed systems (3h aprox.)
  • Sockets (2h aprox.)
  • Synchronization of distributed systems (3h aprox.)
  • Introduction to event-driven programming and real-time programming (2h aprox.)
  • Defense of teamwork (3h aprox.)
  • The laboratory sessions will cover following topics:
  • Basic Ada language (2h.)
  • Concurrent programming with Java and Ada (2h.)
  • Programming with semaphores (2h.)
  • Programming with monitors (2h.)
  • Programming with rendezvous (2h.)
  • Programming with sockets (2h.)
  • Explanation and defense of the practical works (3h.)

5.4. Course planning and calendar

The concrete schedule of the proposed activities will be established according to the faculty organization.