CS-206 / 4 crédits

Enseignant(s): Kuncak Viktor, Kashyap Sanidhya

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

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
  • Projet: 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
  • Projet: 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
  • Projet: 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
  • Projet: 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  INM200
CM011
CM013
CM3
  
15-16  INM200
CM011
CM013
CM3
  
16-17  INF2
INF1
  
17-18    
18-19     
19-20     
20-21     
21-22     

Mercredi, 14h - 15h: Cours INM200
CM011
CM013
CM3

Mercredi, 15h - 16h: Exercice, TP INM200
CM011
CM013
CM3

Mercredi, 16h - 18h: Projet, autre INF2
INF1