Guías Docentes Electrónicas
1. General information
Course:
CONCURRENT AND REAL TIME PROGRAMMING
Code:
42317
Type:
CORE COURSE
ECTS credits:
6
Degree:
406 - UNDERGRADUATE DEGREE IN COMPUTER SCIENCE AND ENGINEERING (AB)
Academic year:
2022-23
Center:
604 - SCHOOL OF COMPUTER SCIENCE AND ENGINEERING (AB)
Group(s):
10  11  12 
Year:
2
Duration:
C2
Main language:
Spanish
Second language:
English
Use of additional languages:
English Friendly:
N
Web site:
Bilingual:
Y
Lecturer: PABLO BERMEJO LOPEZ - Group(s): 11 
Building/Office
Department
Phone number
Email
Office hours
0.C.14
SISTEMAS INFORMÁTICOS
2620
pablo.bermejo@uclm.es

Lecturer: Mª DEL CARMEN RUIZ DELGADO - Group(s): 10  11  12 
Building/Office
Department
Phone number
Email
Office hours
ESII / 0.A.15
SISTEMAS INFORMÁTICOS
2430
mcarmen.ruiz@uclm.es
The office hours can be check in: http://esiiab.uclm.es/pers.php? codpers=113&curso=2022-23

2. Pre-Requisites

This course builds on the skills and knowledge acquired in the subjects:

Programming Fundamentals I

Programming Fundamentals II

Operating Systems I

3. Justification in the curriculum, relation to other subjects and to the profession

The Real Time and Concurrent Programming course is a compulsory subject of the Degree in Computer Engineering and its justification is directly linked to the evolution of operating systems, particularly the concepts of multithreading and multiprocessor. In this context, the student must know and master the basic techniques of management of racing conditions, such as synchronization and communication mechanisms between processes. Also, programming for real-time systems is another key aspect to obtain the skills necessary to design and implement this type of critical systems that are part of our daily lives.

In the professional market, a graduate must ensure some knowledge on concurrent and real-time scheduling, taking particular account of market developments processors and processing systems in general, which show a clear trend of multiprocessing .


4. Degree competences achieved in this course
Course competences
Code Description
BA04 Basic knowledge about the uses and programming of computers, operating systems, data bases, and digital programmes with applications in engineering.
CO06 Knowledge and application of basic algorithms in digital technologies for the development of solutions, analysing their appropriateness and complexity.
CO07 Knowledge, design, and efficient use of types of data and structures which arise as most appropriate in problem solving.
CO08 Ability to analyse, design, build and maintain applications in a strong, safe, and efficient manner by selecting the most appropriate paradigms and programming languages.
CO14 Knowledge and application of fundamental principles and basic techniques on parallel, converging, distributed, and real time programming.
PER02 Ability to work in multidisciplinary teams.
PER05 Acknowledgement of human diversity, equal rights, and cultural variety.
5. Objectives or Learning Outcomes
Course learning outcomes
Description
Resolution of complex problems and responses in real time by the use of concurrent programming concepts and tools, planning their tasks, as well as an efficient utilization of memory.
Additional outcomes
Not established.
6. Units / Contents
  • Unit 1: Introduction
    • Unit 1.1: Basic Concepts I
    • Unit 1.2: Basic Concepts II
  • Unit 2: Busy Wait Synchronization
  • Unit 3: Shared-Memory Communication
    • Unit 3.1: Semaphores
    • Unit 3.2: Conditional Critical Regions
    • Unit 3.3: Monitors
  • Unit 4: Message-Passing Communication
  • Unit 5: Real Time
7. Activities, Units/Modules and Methodology
Training Activity Methodology Related Competences ECTS Hours As Com Description
Class Attendance (theory) [ON-SITE] Combination of methods CO07 CO08 CO14 PER05 1.32 33 N N Problem-based learning and master lesson. Presentation of the contents of the subject and consolidation by carrying out exercises
Computer room practice [ON-SITE] Practical or hands-on activities BA04 CO06 CO07 CO08 CO14 PER02 PER05 0.8 20 Y Y Application of the contents studied through exercises in the JAVA programming language. Team work
Progress test [ON-SITE] Assessment tests CO06 CO07 CO08 CO14 0.16 4 Y N There will be two mid-term exams of the theory part
Final test [ON-SITE] Assessment tests CO06 CO07 CO08 CO14 0.12 3 Y Y
Study and Exam Preparation [OFF-SITE] Self-study CO06 CO07 CO08 CO14 2.4 60 Y N
Practicum and practical activities report writing or preparation [OFF-SITE] Problem solving and exercises CO06 CO07 CO08 CO14 1.2 30 Y Y Preparation and study of the laboratory practices. Team work.
Total: 6 150
Total credits of in-class work: 2.4 Total class time hours: 60
Total credits of out of class work: 3.6 Total hours of out of class work: 90

As: Assessable training activity
Com: Training activity of compulsory overcoming (It will be essential to overcome both continuous and non-continuous assessment).

8. Evaluation criteria and Grading System
Evaluation System Continuous assessment Non-continuous evaluation * Description
Assessment of active participation 5.00% 0.00% Delivering correctly resolved the practices carried out during the course and in the indicated deadlines may mean an increase in the grade by a maximum of 10 points, and its value will be added to the Final note, provided that between Theory and Practice 50 points or more are reached.[PRES:10%]
Theoretical exam 70.00% 70.00% There will be two midterms. The first in the middle of the course and the last at the end of the school period.
The Theory grade will be calculated as: (Midterm 1 * 0.35) + (Midterm 2* 0.35). A minimum grade of 4 (out of 10) is required in each part in order to add them up to obtain the final grade of the Theory part.
[ESC:55% INF:15%]
Laboratory sessions 30.00% 30.00% Both for continuous and non-continuous evaluation, the same evaluation will be carried out . [LAB:25% INF:5%]
Total: 105.00% 100.00%  
According to art. 6 of the UCLM Student Evaluation Regulations, it must be provided to students who cannot regularly attend face-to-face training activities the passing of the subject, having the right (art. 13.2) to be globally graded, in 2 annual calls per subject , an ordinary and an extraordinary one (evaluating 100% of the competences).

Evaluation criteria for the final exam:
  • Continuous assessment:
    To overcome the subject the student must obtain a 50 out of 100 in the subject, fulfilling the following criteria:

    - Theory: (Maximum 70 points):
    It will be mandatory to reach 40% of the grade in the Theory part to be able to add it with the Practice part.

    There will be two midterms. The first in the middle of the course and the last at the end of the school period.

    The Theory grade will be calculated as: (Midterm1 * 35) + (Midterm2* 35). A minimum grade of 4 (out of 10) is required in each part in order to add them up and obtain the final grade of the Theory part.

    The student who has not passed the Theory part in continuous evaluation will be allowed to take the ordinary exam with the midterm/s that he/she deems necessary to overcome the subject.

    - Practice: (Maximum 30 points). It will be mandatory to reach 40% of the grade in the Practice part to be able to add them up with the Theory part. It will be evaluated with an exam on the same date as the ordinary exam of the subject.

    To obtain the Final grade it is essential to have reached 40% of the grade of the Theory part and the Practice part. When this occurs, the final grade shall be calculated as:

    Final = Theory + Practice + Participation

    Participation: Actively participate in the activities developed in the classroom in the theory sessions may mean an increase in the grade by a maximum of 5 points (out of 100), and its value will be added to the Final note, provided that between Theory and Practice 50 points or more are reached.

    If the minimum in Theory or Practice is not reached, the student will have a grade not exceeding 4 even if the sum obtained is another, including more than 5. This grade will be the highest of the parts not passed.

    No part of the subject is saved from one academic year to another.
  • Non-continuous evaluation:
    In the non-continuous evaluation the student can get up to 100% of the Final grade, and for this two exams will be carried out with the weight distribution and with the minimums demanded here:

    - Theory part exam:70% of the grade, it is necessary to obtain at least a grade of 40% or more in this exam
    - Practice part exam: 30% of the grade, it is necessary to obtain at least a grade of 40% or more in this exam

    If after exceeding the minimums, the student achieves 50% of the mark as a global mark, he will pass the course and his numerical mark is the result of applying the indicated weights.

    If the minimum in Theory or Practice is not achieved, the student will have a grade not exceeding 4 even if the sum obtained is another, including more than 5. This grade will be the highest of the parts not passed.

    No part of the subject is saved from one academic year to another.

Specifications for the resit/retake exam:
In the retake evaluation the student can get up to 100% of the Final grade, and for this two exams will be carried out with the weight distribution and with the minimums demanded here:

- Theory part exam:70% of the grade, it is necessary to obtain at least a grade of 40% or more in this exam
- Practice part exam: 30% of the grade, it is necessary to obtain at least a grade of 40% or more in this exam

If after exceeding the minimums, the student achieves 50% of the mark as a global mark, he will pass the course and his numerical mark is the result of applying the indicated weights.

If the minimum in Theory or Practice is not achieved, the student will have a grade not exceeding 4 even if the sum obtained is another, including more than 5. This grade will be the highest of the parts not passed.

No part of the subject is saved from one academic year to another.

Note * If the student in ordinary or continuous call passed the theory (50% of the exam - or exams - of the Theory part) or the practices (50% of the exam of the Practice part) that grade can be saved for the extraordinary call, applying in the corresponding section and with the final formula 70-30 as indicated above.
Specifications for the second resit / retake exam:
The same criteria as in the retake exam
9. Assignments, course calendar and important dates
Not related to the syllabus/contents
Hours hours
Progress test [PRESENCIAL][Assessment tests] 4
Final test [PRESENCIAL][Assessment tests] 3

Unit 1 (de 5): Introduction
Activities Hours
Class Attendance (theory) [PRESENCIAL][Combination of methods] 8
Study and Exam Preparation [AUTÓNOMA][Self-study] 9

Unit 2 (de 5): Busy Wait Synchronization
Activities Hours
Class Attendance (theory) [PRESENCIAL][Combination of methods] 4
Computer room practice [PRESENCIAL][Practical or hands-on activities] 3
Study and Exam Preparation [AUTÓNOMA][Self-study] 5
Practicum and practical activities report writing or preparation [AUTÓNOMA][Problem solving and exercises] 4

Unit 3 (de 5): Shared-Memory Communication
Activities Hours
Class Attendance (theory) [PRESENCIAL][Combination of methods] 12
Computer room practice [PRESENCIAL][Practical or hands-on activities] 11
Study and Exam Preparation [AUTÓNOMA][Self-study] 30
Practicum and practical activities report writing or preparation [AUTÓNOMA][Problem solving and exercises] 15

Unit 4 (de 5): Message-Passing Communication
Activities Hours
Class Attendance (theory) [PRESENCIAL][Combination of methods] 6
Computer room practice [PRESENCIAL][Practical or hands-on activities] 6
Study and Exam Preparation [AUTÓNOMA][Self-study] 12
Practicum and practical activities report writing or preparation [AUTÓNOMA][Problem solving and exercises] 11

Unit 5 (de 5): Real Time
Activities Hours
Class Attendance (theory) [PRESENCIAL][Combination of methods] 3
Study and Exam Preparation [AUTÓNOMA][Self-study] 4

Global activity
Activities hours
General comments about the planning: Lectures are given in a general scheme of three 1.5 hours weekly sessions. This course schedule is APPROXIMATE. It could vary throughout the academic course due to teaching needs, bank holidays, etc. A weekly schedule will be properly detailed and updated on the online platform (Campus Virtual). Note that all the lectures, practice sessions, exams and related activities performed in the bilingual groups will be entirely taught in English.
10. Bibliography and Sources
Author(s) Title Book/Journal Citv Publishing house ISBN Year Description Link Catálogo biblioteca
 
Ben-Ari, Mordechai Principles of concurrent and distributed programming Addison-Wesley 978-0-321-31283-9 2006 www.pearsoned.co.uk/ben-ari Ficha de la biblioteca
Burns, Alan (1953-) Concurrent programming Addison-Wesley 0-201-54417-2 1993 Ficha de la biblioteca
Hartley, Stephen J. Concurrent programming : the Java programming language Oxford University Press 0-19-511315-2 1998 Ficha de la biblioteca
José Tomás Palma y otros Programacion concurrente Thomson Paraninfo 84-9732-184-7 2006 Ficha de la biblioteca
Lea, Doug Programación concurrente en Java : principios y patrones de Addison Wesley 84-7829-038-9 2000 Ficha de la biblioteca



Web mantenido y actualizado por el Servicio de informática