
Course Requirement and Examinations
To pass the course, you must have passed the assignments (labs) and
have passed the exam.
See exam
schedule (including reexam/omtenta) for
TDA381/TDA380/TDA211/INN390 Concurrent Programming. The only
permitted material is a dictionary.
Past exams
Some previous exams are available below for reference.
Exam1303(with JR)
 Exam1210(by KVS Prasad)
Hints to solve the exercises:

Q1 :
(a) The scenario q1, q2, p1, q1 gives n=0 at the end.
The scenario p1, q1, q2, p2, p1, q1 gives n=1 at the end.

Q2 :
The abbreviated version leaves out p1, q1, p4 and q4. Each state now shows where the program counters of p and q are, and the values of wantp and wantq. Draw the state diagram and show there is no state with p5 and q5.

Q3 :
(a) The state diagram is on p108 of the textbook
(b) the definitions of wait and signal are on p109 and p110.
(c) See algorithm 6.8 on p119.

Q4 :
(a) See p 161.
(b). eating(i) becomes true only by executing takeForks(i) completely, or by by being unblocked in releaseForks(i+1) or releaseForks(i1). In both cases, we have fork[i]â‰ˆ2.

Q5 & Q6 :
These are programming problems, not involving formal reasoning.

Q7:
(a) the processes can livelock, looping p to p3 and q to q3. The invariant is that exactly one of C, Lp and Lq is true,
(b) We did this in class, in my 3rd lecture. If p does not progress, Lp must be false. So q must progress, and will then set C to true. Assuming fairness, p must then progress.
 Exam1203(with JR)
 Exam1103(with JR)
 Exam1008(with JR)
 Exam1010(with JR)
 Exam0910(with JR)
 Exam0710(with JR)
 Exam0310(with MPD)
 Exam0210(with MPD)
 Sample(by KVS Prasad)
More exams?
Not all the previous exams are available here because most of them
do not contain any new questions. For example, exams on 20070119
and 20061027 contain only a mix of questions from the exams above.
You can verify this by getting a copy of those exams from the
Studieexpedition.
Students sometimes ask for more exams. The structure of the exam
and the type of questions is not changing throughout the years. It
is true that the used programming languages can be different but
the problems the past exams ask to solve are relevant.
Last modified:
Monday, 18Mar2013 08:29:48 CET
