Dansk - English

Short version - Full version


Parallel Programming 4 (Spring 2010 ) (Spring 2010)

Course code : IPARP4-U1
ECTS Credits : 5 Status : Compulsory
Revised : 15/02 2010 Written : 01/09 2009
Placement : 4. semester Hours per week : 4
Length : 1 semester Teaching Language : Danish and English

Objective : Students will learn the fundamentals of programming for concurrency. This includes both theoretical foundations, and practical experience with multithreaded programs. POSIX (PThreads) environments will be discussed in detail, and significant programming will be required. Java threads will be discussed.
Upon completion of the course, students should have a good understanding of concurrent programming concepts and constructs and how to use them effectively and correctly.
Principal Content : Upon completion of the course the students is expected to be able to:

1. Explain the concepts of threads and processes including scheduling principles and corresponding states and context switching.
2. Explain the concepts of critical section and mutual exclusion and identify and explain methods and principles for synchronisation.
3. Explain the concepts of deadlock and starvation and how to deal with those phenomena.
4. Explain the concept of priority inversion and possible solutions to this.
5. Explain methods for inter-process communication (IPC)
6. Apply processes and threads in programming languages as C/C++ and Java
7. Identify when critical sections and/or mutual exclusion are required.
Teaching method : The lessons consist of theory combined with practical exercises and course assignments.
Required prequisites : Documented knowledge corresponding to PROG1 and PROG2.
Recommended prerequisites : Some experience in C.
Relations : Parallel Programming (PARP4) is normally taken in parallel with PROI4 and OSLX4. In PROI4 the product must involve practical use of threads.
Type of examination : Look under remarks
External examiner : External
Marking : 7 step scale
Remarks : Oral examination. If PRIO4 is taken questions to the threaded issues in the project will be raised, else questions will be based on the course assignments. Moreover general questions to the topics of the principal content will be raised.
Teaching material : Notes.
Responsible teacher : Henrik Kold Mikkelsen , hokm@dtu.dk