Checking date: 25/05/2022

Course: 2023/2024

Concurrent and parallel programmming
Bachelor in Computer Science and Engineering (Plan: 489 - Estudio: 218)

Coordinating teacher: GARCIA SANCHEZ, JOSE DANIEL

Department assigned to the subject: Computer Science and Engineering Department

Type: Electives
ECTS Credits: 6.0 ECTS


Requirements (Subjects that are assumed to be known)
Programming Techniques (Year 1 / Term 2) Sistemas Operativos (Year 2 / Term 2) Computer Architecture (Year 3 / Term 1)
The main goal of this course is to acquire advanced knowledge on concurrent and parallel programming. To achieve this goal: + A deep knowledge on concurrent programming is acquired. + Typical problems in concurrent software development are considered. + Different design alternatives for concurrent data structures are discussed. + Different approaches to shared memory parallel programming are covered. + A special attention is devoted to data parallelism both in multi-core processors and accelerators. + Applications are optimized by means of parallel programming.
Skills and learning outcomes
Link to document

Description of contents: programme
1.- Introduction: concurrent and parallel programming 2.- Thread management and synchronization mechanisms. 3.- Concurrency memory models 4.- Synchronized and lock-free data structures design 5.- Parallel programming models and high performance computing 6.- Parallel programming in shared memory environments 7.- Data parallelism
Learning activities and methodology
** TEACHING ACTIVITIES ** AF1.THEORETICAL-PRACTICAL CLASSES. [25 hours with 100% attendance] Knowledge and concepts students must acquire. Student receive course notes and will have basic reference texts to facilitate following the classes and carrying out follow up work.Students partake in exercises to resolve practical problems and participate in workshops and an evaluation tests, all geared towards acquiring the necessary capabilities. AF2.TUTORING SESSIONS. [28 hours with 25% attendance] Individualized attendance (individual tutoring) or in-group (group tutoring) for students with a teacher. AF3.STUDENT INDIVIDUAL WORK OR GROUP WORK. [74 hours with 0% attendance] AF8.WORKSHOPS AND LABORATORY SESSIONS. [23,33 hours with 100% attendance] ** METHODOLOGIES ** MD1.THEORY CLASS. Classroom presentations by the teacher with IT and audiovisual support in which the subject`s main concepts are developed, while providing material and bibliography to complement student learning. MD2.PRACTICAL CLASS. Resolution of practical cases and problem, posed by the teacher, and carried out individually or in a group. MD3.TUTORING SESSIONS. Individualized attendance (individual tutoring sessions) or in-group (group tutoring sessions) for students with teacher as tutor. MD6.LABORATORY PRACTICAL SESSIONS. Applied/experimental learning/teaching in workshops and laboratories under the tutor's supervision.
Assessment System
  • % end-of-term-examination 0
  • % of continuous assessment (assigments, laboratory, practicals...) 100

The course syllabus may change due academic events or other reasons.