This page is presenting the course of Models & Tools for Parallelism (spring 2005). You can find here all the information relative to this course and some materials linked to the course. This course will be given in english and will last 15 lectures of two times 45 minutes (with a break in-between) and will be followed by some exercices in the project group rooms.
Students are expected to know the C language, the Java language, the basic GNU tools (emacs, gcc, ...), have access to a Unix system, and have access to C and Java compilers on their PCs.
This course aims at giving the students basic concepts and techniques in concurrent programming, which includes some theoretical and practical training on modeling, and an introduction to multithread programming using Java threads and POSIX pthreads. After completing the course the students should have a thorough understanding of the following concepts:
We have chosen one main book for this course that covers the modeling and theoretical aspects of concurrent programs, processes, and threads. This book [1] also offers a number of examples in Java and the students have access to extra materials on its web page. We also higly recommend other text books that complete the topics covered in the course. The Concurrency book will be available at the library but we also recommend [3] if you prefer to have a handbook on Java Multithreads.
The course grading is done through your project. But it doesn't mean that you do not have to come to the lectures and skip the exercises. The goal of the course is to teach you something useful about algorithms applicable to your projects. You are welcome to ask for specific topics (related to this course and your projects) to be treated.
Any question or remark relative to the course is welcome.