CS-302 / 6 crédits

Enseignant:

Langue: Anglais

Remark: Pas donné en 23-24


Summary

From sensors,to smart phones,to the world's largest datacenters and supercomputers, parallelism & concurrency is ubiquitous in modern computing.There are also many forms of parallel & concurrent execution in modern platforms with varying degrees of ease of programmability,performance & efficiency.

Content

Learning Prerequisites

Required courses

  • CS-200 Computer architecture
  • CS-214 Software construction

Recommended courses

CS-202 Computer systems

Important concepts to start the course

  • Programming in C/C++, Java or Scala
  • Basic assembly language programming
  • Basic use of tools to debug

Learning Outcomes

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

  • Construct parallel software
  • Construct concurrent software
  • Construct efficient software
  • Design software for various platforms including CPUs, accelerators and clusters

Teaching methods

  • Lectures
  • Homework
  • Projects

Expected student activities

  • Standalone homeworks
  • Projects in teams

Assessment methods

  • 20% homework
  • 30% projects
  • 20% midterm
  • 30% final

 

Supervision

Office hours Yes
Assistants Yes

Prerequisite for

  • CS-471 Advanced multiprocessor architecture
  • CS-453 Concurrent computing
  • CS-451 Distributed algorithms

Dans les plans d'études

  • Semestre: Printemps
  • Forme de l'examen: Pendant le semestre (session d'été)
  • Matière examinée: Parallelism and concurrency in software
  • Cours: 3 Heure(s) hebdo x 14 semaines
  • Exercices: 3 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 in software
  • Cours: 3 Heure(s) hebdo x 14 semaines
  • Exercices: 3 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