Guías Docentes Electrónicas
1. General information
Course:
CONCURRENT AND REAL TIME PROGRAMMING
Code:
42317
Type:
CORE COURSE
ECTS credits:
6
Degree:
346 - DEGREE IN COMPUTER SCIENCE AND ENGINEERING
Academic year:
2019-20
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 in Group I
English Friendly:
N
Web site:
campusvirtual.uclm.es
Bilingual:
Y
Lecturer: MIGUEL ANGEL GALDON ROMERO - Group(s): 10  11 
Building/Office
Department
Phone number
Email
Office hours
ESII / 1.A.2
SISTEMAS INFORMÁTICOS
2442
miguel.galdon@uclm.es
Consultar Campus Virtual

Lecturer: Mª DEL CARMEN RUIZ DELGADO - Group(s): 12 
Building/Office
Department
Phone number
Email
Office hours
ESII / 0.A.15
SISTEMAS INFORMÁTICOS
2430
mcarmen.ruiz@uclm.es
El horario de tutorias puede consultarse en http://esiiab.uclm.es/pers.php?codpers=113&curso=2019-20

2. Pre-Requisites

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

Programming Fundamentals I

Programming Fundamentals II

Operating Systems I.

 

The subject Operating Systems I is the most important prerequisite, since in her the basics of operating systems are studied, the process model, memory management systems or input / output and files.

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
BA4 Basic knowledge about the uses and programming of computers, operating systems, data bases, and digital programmes with applications in engineering.
CO14 Knowledge and application of fundamental principles and basic techniques on parallel, converging, distributed, and real time programming.
CO6 Knowledge and application of basic algorithms in digital technologies for the development of solutions, analysing their appropriateness and complexity.
CO7 Knowledge, design, and efficient use of types of data and structures which arise as most appropriate in problem solving.
CO8 Ability to analyse, design, build and maintain applications in a strong, safe, and efficient manner by selecting the most appropriate paradigms and programming languages.
PER2 Ability to work in multidisciplinary teams.
PER5 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 (only degrees before RD 822/2021) ECTS Hours As Com R Description *
Class Attendance (theory) [ON-SITE] Combination of methods CO14 CO7 CO8 1.2 30 Y N Y
Computer room practice [ON-SITE] Practical or hands-on activities BA4 CO14 CO6 CO7 CO8 0.8 20 Y Y Y
Progress test [ON-SITE] Problem solving and exercises CO14 PER2 PER5 0.24 6 Y N N
Progress test [ON-SITE] Assessment tests 0.16 4 Y N Y
Writing of reports or projects [OFF-SITE] Cooperative / Collaborative Learning CO6 CO7 CO8 PER5 0.64 16 Y N Y
Writing of reports or projects [OFF-SITE] Project/Problem Based Learning (PBL) CO14 CO7 PER5 0.8 20 Y N Y
Final test [ON-SITE] Assessment tests BA4 CO14 CO6 CO7 CO8 0.12 3 Y N Y
Study and Exam Preparation [OFF-SITE] Self-study CO14 CO6 CO7 1.64 41 Y N Y
Practicum and practical activities report writing or preparation [OFF-SITE] Problem solving and exercises BA4 CO14 CO6 CO7 CO8 0.4 10 Y N Y
Total: 6 150
Total credits of in-class work: 2.52 Total class time hours: 63
Total credits of out of class work: 3.48 Total hours of out of class work: 87

As: Assessable training activity
Com: Training activity of compulsory overcoming
R: Rescheduling training activity

8. Evaluation criteria and Grading System
  Grading System  
Evaluation System Face-to-Face Self-Study Student Description
Practicum and practical activities reports assessment 25.00% 0.00%
Final test 65.00% 0.00%
Assessment of problem solving and/or case studies 10.00% 0.00%
Total: 100.00% 0.00%  

Evaluation criteria for the final exam:
The score of the regular exam session is the total score. The mark of the final exam could be replaced totally or partially by midterm exams in lecturing (theory) time.

The lab assignments are to be presented to the lecturer in the lab time, always before the indicated deadlines.

To pass the course you need to pass both parts (final exam mark and lab sessions mark) getting a 5 on each part out of a total of 10.
Specifications for the resit/retake exam:
In case of failing the the lab assignaments in the regular session, students are tested with a final assignament (in addition to the mandatory submission of a report of the solved lab assignments).

Both parts need to be passed, as in the ordinary session.
Specifications for the second resit / retake exam:
Same criteria than the extra exam session
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
Writing of reports or projects [AUTÓNOMA][Project/Problem Based Learning (PBL)] 2
Study and Exam Preparation [AUTÓNOMA][Self-study] 4

Unit 2 (de 5): Busy Wait Synchronization
Activities Hours
Class Attendance (theory) [PRESENCIAL][Combination of methods] 2
Computer room practice [PRESENCIAL][Practical or hands-on activities] 2
Progress test [PRESENCIAL][Problem solving and exercises] 2
Writing of reports or projects [AUTÓNOMA][Cooperative / Collaborative Learning] 2
Writing of reports or projects [AUTÓNOMA][Project/Problem Based Learning (PBL)] 4
Study and Exam Preparation [AUTÓNOMA][Self-study] 5

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] 12
Progress test [PRESENCIAL][Problem solving and exercises] 2
Writing of reports or projects [AUTÓNOMA][Cooperative / Collaborative Learning] 4
Writing of reports or projects [AUTÓNOMA][Project/Problem Based Learning (PBL)] 8
Study and Exam Preparation [AUTÓNOMA][Self-study] 17
Practicum and practical activities report writing or preparation [AUTÓNOMA][Problem solving and exercises] 5

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
Writing of reports or projects [AUTÓNOMA][Project/Problem Based Learning (PBL)] 6
Study and Exam Preparation [AUTÓNOMA][Self-study] 8
Practicum and practical activities report writing or preparation [AUTÓNOMA][Problem solving and exercises] 2.5

Unit 5 (de 5): Real Time
Activities Hours
Class Attendance (theory) [PRESENCIAL][Combination of methods] 2
Progress test [PRESENCIAL][Problem solving and exercises] 2
Writing of reports or projects [AUTÓNOMA][Cooperative / Collaborative Learning] 10
Study and Exam Preparation [AUTÓNOMA][Self-study] 7
Practicum and practical activities report writing or preparation [AUTÓNOMA][Problem solving and exercises] 2.5

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. Eventually, some evaluation activities or make up classes might be scheduled in afternoon/evening time.
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