Duration
25h Th, 25h Pr
Number of credits
Lecturer
Language(s) of instruction
English language
Organisation and examination
Teaching in the second semester
Schedule
Units courses prerequisite and corequisite
Prerequisite or corequisite units are presented within each program
Learning unit contents
This course addresses some practical and theoretical aspects of distributed computing and parallel programming. It will notably introduce parallel programming models, the notions of process and thread, race conditions, mutual exclusion, memory models, semaphore, monitors, and conditions. Some classical problems are studied. On the more practical side, the course will be based on examples in classical programming languages (C, C++, Java, Python) and will quickly introduce OpenMP. Finally, message passing will be explained, MPI and Go being used to illustrate the practice of message passing and queues.
Learning outcomes of the learning unit
At the end of this course, the student will be aware of the pitfalls of parallel and distributed programming, she/he will know the basic algorithms to solve typical issues that occur in distributed systems, and will be able to apply them in concrete applications.
Prerequisite knowledge and skills
Excellent familiarity with sequential imperative programming is mandatory.
Planned learning activities and teaching methods
The problem sessions cover practical aspects of parallel computing. The course also includes programming assignments.
Mode of delivery (face to face, distance learning, hybrid learning)
Lectures are given in English. 2nd quadrimester, face-to-face.
Recommended or required readings
Reference text, notes and transparencies available on the course space on eCampus.
Assessment methods and criteria
Exam(s) in session
Any session
- In-person
written exam ( open-ended questions )
Written work / report
Additional information:
Grading of programming assignments (30%), written exam (no oral exam).
Work placement(s)
Organizational remarks
The contents of the theoretical and practical sessions, as well as the assignments and useful links, will be made available on the e-Campus space for the course.
Contacts
Teacher: Pascal Fontaine Phone: 04 366 28 75 e-mail: Pascal.Fontaine@uliege.be