SPOCs available at Sorbonne University - Concurrent programming 3I001
Concurrent programming - 3I001
Fabrice Kordon
Course description Concurrent programming is becoming an issue since most devices (computers, phones, etc) now embed several cores or processors. The goal of this course is to provide students with the basics of concurrent programming and details the main mechanisms you can use in various languages to implement distributed algorithms. It is a good complement to a distributed algorithms course.
Full course description The objective of this course is to address the main problems related to the development of competing programs. It also offers a first opening towards distributed algorithms. The main notions to be presented are: - The role of the language runtime (as a view on the operating system) in the execution of a program, - The notion of tasks, processes, and threads, -The problem of concurrent access to shared data, -The different mechanisms to protect shared data,-Communication mechanisms between threads, -The basics about the termination of a concurrent program,-The structure of a server program, - Some basics about concurrent algorithmic. Practice is performed using Java.
Domain Engineering - Computer science
Prerequisites The knowledge of programming, and the use of an object oriented language is of importance. Java is briefly recalled at the beginning of the course but preliminary practice helps.
Course structure Week 1 - Prolegomena and Java's recall Week 2 - Threads, the basics Week 3 - Shared data & basic synchronizations Week 4 - Java Monitors, deadlocks, starvation Week 5 - ReentrantLock & ReentrantReadWriteLock Week 6 - Multithreaded server and genericity Week 7 - Thread pools Week 8 - Thread pools & the Callable interface Week 9 - Semaphores & synchronization barrier Week 10- Correction of the exam
Workload - 150 hours in total
|
Level Master
Language French
|
Votre Secrétariat - Your Secretariat
Mme Irina ZOLOTAREVA
+33 1 44 27 53 35
Campus Pierre et Marie Curie - Bâtiment Atrium, 1ère étage, bureau 102 - 104