Hide menu

TDDD56 Multicore and GPU Programming (6 ECTS)

Autumn2 2013

Mid-Term Evaluation with Muddy Cards

The course TDDD56 has been mid-term evaluated with the muddy card method in the eighth lecture on thursday 15 november 2012 (08:15-10:00). 36 students attended the lecture, and I received 35 cards.

In the following I summarize the most frequently raised issues and comment where appropriate.


The course contents is considered interesting and highly relevant by many participants.

Apparently there are several students in the course who have not taken a course on concurrent programming and operating systems (prerequisite!) before, and a few of them report that they have problems with the corresponding concepts or with pthreads programming. As this is, by intention (to avoid excessive repetition), a prerequisite for the course (as clearly announced in the course catalog) we can unfortunately not change this, only flag the need of self-learning of these concepts very clearly in the course information for 2013.


No complaints, except that the lecture on nonblocking synchronization came a bit late (scheduling error, will come earlier next year), and that the lab group A is larger than the others (here we have no choice, unfortunately, as there are so many students in the course).


The large variety of reading alternatives (none of them mandatory) is appreciated by some but not by all students.

Some ask for a single (mandatory) book covering the entire course; such a book does unfortunately not yet exist, as mentioned in the first lecture. (This is a typical property of advanced-level courses, by the way.)

Some ask for more structured links to papers and other online material ordered by topic; this has been started earlier (see the literature page) and I will try to continue this as time permits, at least for next year.


Positive reactions from most students regarding lecturing style, slide material and lecturer competence.


Considered useful for lab preparation by several students.


Most students were working with lab 2 (nonblocking stack implementation) at the time of the evaluation, which is reflected in the comments.

Many students complain about unclear instructions (goals, what is expected), the performance scripts and buggy code skeletons.

Regarding the performance measurement scripts, students remarked on better instructions and lack of legend. To help with this, note that a document published on Nicolas' page gives detailed explanations and two examples on how to use the scripts; the legend issues will be worked on for next year.

Regarding the bugs in the lab skeletons: they have been fixed, thanks for all comments. Note that we did pre-test the lab skeletons, but some of the problems that now raised in the labs did not occur in our own solutions. We will take these into account for next year.

While the lab tasks per se are perceived as interesting and challenging by some students and as not so difficult by others, many point out technical issues and missing hints in the documentation (e.g., warning on pitfalls (malloc/free in lab 2)) as the causes for needing more time than planned. In order to improve the lab material for 2013, we plan for an update of the lab instructions, taking your comments into account.

We are very glad to see that some of you also expressed positive opinions on the lab work. Some muddy cards reported that the labs are "interesting", "challenging" and "deepening the understanding of the topic".


By and large, the course seems to run well, even if there is still some development work with the lab instructions to do.

Thanks for all comments!

Christoph Kessler, examinator TDDD56

Page responsible: Christoph W Kessler
Last updated: 2012-11-20