# Courses This page replicates the [PDS courses page](https://cs.ip-paris.fr/courses/tracks/pds/?page=../common/courses) with a little more details and reviews. Mandatory ECTS for the scientific courses - M1: 27.5 ECTS - M2: 15 ECTS ## IP Paris courses >| # CSC4508: Operating systems (François Trahay and Gaël Thomas, 5 ECTS) >| Course on operating system internals. >| Based on classical MIT's xv6 operating system, each class is dedicated to one of the subsystems/concepts of OS (memory, scheduler, concurrency, FS etc). >| Very classical fundamental course on OS, makes senseto take it if and only if you haven't had a similar course before. >| Practical course, involves a lot of programming in C. >| Full program is available on the [course page](https://www-inf.telecom-sudparis.eu/COURS/CSC4508/Supports/index_ipparis.php) >| # CSC5001: High performance runtimes (Élisabeth Brunet, François Trahay and Gaël Thomas, 5 ECTS) >| ... >| # CSC5002: Middleware and software architecture for distributed applications (Sophie Chabridon, Chantal Taconet and Denis Conan, 5 ECTS) >| ... >| # CSC5003: Data analytic infrastructures (Amel Bouzeghoub, 5 ECTS) >| ... >| # CSC5004: Cloud infrastructures (Pierre Sutra and Mathieu Bacou, 5 ECTS) >| ... >| # CSC5101: Advanced programming of multi-core architectures (Gaël Thomas, 5 ECTS) >| This course has both in-depth coverage of classical parallel programming with multi-threading and oveview of some cool concepts such as transactional memory, NUMA and non-volatile memory. Consists of theoretical information on all of the topics and mostly practice with implementing stuff in C.