CS-206 / 4 crédits

Enseignant(s): Kashyap Sanidhya, Kuncak Viktor

Langue: Anglais


Summary

The course introduces shared-memory concurrency, as well as parallel programming, algorithms, and data structures.

Content

Keywords

Parallelism, threads, synchronization, locks, memory models.

Learning Prerequisites

Required courses

  • Functional programming (CS-210)
  • Algorithms (CS-250)
  • Computer Architecture (CS-208)

Recommended courses

System oriented programming (CS-207)

Important concepts to start the course

Algorithms and data structures

Learning Outcomes

By the end of the course, the student must be able to:

  • Construct parallel software.
  • Perform tuning of parallel software.
  • Design concurrent system

Transversal skills

  • Communicate effectively with professionals from other disciplines.

Teaching methods

Ex cathedra, labs, exercices

Expected student activities

  • Attend lectures
  • Participate in exercise hours
  • Attend labs
  • Submit solutions to labs
  • Take mid-term exam
  • Take final exam

Assessment methods

Graded labs, mid-term exam, final exam

 

Supervision

Office hours Yes
Assistants Yes
Forum Yes

Resources

Virtual desktop infrastructure (VDI)

No

Bibliography

  • Maurice Herlihy and Nir Shavit. 2012. The Art of Multiprocessor Programming, Revised Reprint (1st. ed.). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.
    (available from EPFL library)

Ressources en bibliothèque

Notes/Handbook

Copies of the slides

Websites

Moodle Link

Dans les plans d'études

  • Semestre: Printemps
  • Forme de l'examen: Pendant le semestre (session d'été)
  • Matière examinée: Parallelism and concurrency
  • Cours: 1 Heure(s) hebdo x 14 semaines
  • Exercices: 1 Heure(s) hebdo x 14 semaines
  • TP: 2 Heure(s) hebdo x 14 semaines
  • Semestre: Printemps
  • Forme de l'examen: Pendant le semestre (session d'été)
  • Matière examinée: Parallelism and concurrency
  • Cours: 1 Heure(s) hebdo x 14 semaines
  • Exercices: 1 Heure(s) hebdo x 14 semaines
  • TP: 2 Heure(s) hebdo x 14 semaines

Semaine de référence

 LuMaMeJeVe
8-9     
9-10     
10-11     
11-12     
12-13     
13-14     
14-15     
15-16     
16-17     
17-18     
18-19     
19-20     
20-21     
21-22