Aalborg University| Computer Science Dpt.| Control Engineering Dpt.
Home| Course
› Welcome ! › Prerequisites › Course Objectives › Text Books › Additional Materials › Course Grading › Contact
› Schedule › Lecture 1 › Lecture 2 › Lecture 3 › Lecture 4 › Lecture 5 › Lecture 6 › Lecture 7 › Lecture 8 › Lecture 9 › Lecture 10 › Lecture 11 › Lecture 12 › Lecture 13 › Lecture 14 › Lecture 15

Welcome !

This page is presenting the course of Models & Tools for Parallelism (Modeler og Vertyg for Parallelitet - spring 2007). You can find all the information relative to this course on this page and some materials linked to the course. This course will be given in english and will last 15 lectures of three times 30 minutes (with a break of 5 minutes in-between) and will be preceded by exercices in your project group rooms.


Students are expected to know the C language, the basic GNU tools (emacs, gcc, ...), have access to a Unix system, and have access to C compilers on their PCs. In addition you are expected to have followed a course on algorithms and data structures, and know basics on computer architecture.

You can argue that you could use C# instead. However, there are several reasons why you should use C for this course. First, you did learn C but you never had the chance to really use it. Here you go. Second, we will use libraries that are written natively in C. Other languages are but wrappers to these libraries. The concept of threads is general and as computer scientists/engineers, you should be able to apply these concepts in different languages. Java and C# have a special support for it, C uses pthreads. Last but not least, the university is not supposed to educate C# programmers but scientists and engineers in computer science. You learn concepts and you are versatile for their applications.

Course Objectives

This course aims at teaching models of parallel machines and tools to program them. It is an introduction to parallel programming, how to parallelize programs, and how to use basic tools like MPI and POSIX threads. Students will learn more on concurrency theory in another course so we skip this topic.

You can check this summary of the course from last year to give you an idea of the course.

Text Books

The main text book choosen for this course is Introduction to Parallel Computing [1]. We recommend to check the other books at the library since they are also relevant to the course.


Course book

Additional Materials

Keen students may want to consult these links for additional inspiration on the subject:

Course Grading

This is an SE course and you will be assessed. The rule is as follows: You will be given 6-7 assignments to complete. The idea is to have one every second lecture or one per week. You are required to have them written down. These assignments will be approved or not approved, in which case you will have to complete them until they are approved.

Deadlines: With respect to the meeting of the 28/2, we have decided to setup a rule regarding deadlines. The assignments are divided into exercises that are generally split over two lectures. From the date of the last given exercise of one assignment, you have two weeks to hand-in the assignment. If you respect the deadline, you'll be marked almost immediately and you will be granted one additional week beyond the deadline to complete your assignment if there is something wrong. If you do not respect the deadline, your assignment will not be marked before the 30th of May and you will lose the possibility to complete your assignments if there is something wrong. All assignments must be handed-in the 30th of May latest.

Note: You are expected to be able to do your exercises during the exercise sessions so do not missuse them for other purposes. You can get your assignments approved more easily during the exercise sessions (since you can discuss them and show me that you understand).

I accept multiple-authors assignments only at these conditions: 1) The authors belong to the same group, which qualifies for team-work, and 2) Every author must be able to explain the assignments fully, which will be checked.

SW6 students will get an extra larger assignment for the additional credit they need.

To pass the course, you must get all your assignments approved. Here is the current list of approved assignments. Please tell me if you notice any mistake.


Any question or remark relative to the course is welcome.