2G1506: Programming with Processes
2002/2003 (Period 1)

Programming with Processes (Programmering med processer) is a 5 credit elective course for KS (IT3) offered by the Dept. of Microelectronics and Information Technology (IMIT)

Exams

Reading instructions

Index

Course Description

  1. The course will provide study the core concepts and techniques for concurrent (process-oriented and multithreaded) programming which forms the basis for operating systems, reactive and real-time systems, distributed and multi-processor systems.  It will study concurrent programming with threads (processes) and shared variables; locks and barriers, semaphores and monitors. It also provides an overview of principles of distributed programming with processes and message passing. It will include an overview of distributed programming environments. The course will also include a short overview of principles and environments for parallel programming.
  2. Practical work: The course is intended to give you knowledge and skills in concurrent programming. You will be introduced to the Pthreads library and Java's threads and synchronization methods, as well as Message Passing Interface (MPI) in two programming assignments.

Prerequisites

Experience and skill in a high level programming language such as Java or C. Basic knowledge in computer architecture (2G1502 Computer Hardware Basics or equivalent). Acquaintance with object-oriented programming.

Contents

Literature


 
The course is based on readings from the textbook 
Foundations of Multithreaded, Parallel, and Distributed Programming, by Gregory R. Andrews, Addison-Wesley, 2000; ISBN 0-201-35752-6 
augmented by guest lecture(s). 
See a copy of the errata page provided by the author that contains corrections to the known errors. 

A copy of the textbook can be bought at the KTH bookstore Kårbokhandeln at Electrum in Kista or / and at KTH campus (Drottning Kristinas väg 29). A price is not known yet.

Examination

The examination consists of two written reports of the programming assignments (the laboratory exercises) and a final written exam. Time and place of the exam is to be announced later.

The exam may consist of tasks of both problem solving and descriptive character. The exam will cover material from the course textbook presented at the lectures and/or listed in the reading instructions (to be provided later). The exam may also partly be related to the programming assignments.

If you hand in programming assignment report(s) before or on the date of the first exam you will get a few bonus credit points (5 % per report) to the exam if the report is accepted.

Tentative distribution of course points:

Links to old exams in the Concurrent Programming course can be found at http://www.imit.kth.se/courses/2G1915/

Exam Schedule


 
Exam Date Place
First exam  22 October (Tuesday), at 8:00-13:00 C34
Re-exam  9 January (Thursday), at 14:00-19:00 502, Forum, level 5

Course Staff

(Email inquiries regarding the course should be addressed to the course administration pps-adm@it.kth.se)
Latest update: August 18, 2003
pps-adm@it.kth.se