Hide menu

TDDB68 Concurrent programming and Operating Systems

Mid-term evaluation 4/2/2014

The course was mid-term-evaluated before the break in the 6th lecture on wednesday 4/2/2014 (13-15) with the Muddy-card method. About 55 students attended the lecture, and I received 49 cards.

Below, I summarize the main concerns. Conclusions are given at the end.


6 cards were generally positive resp. mentioned no negative experiences nor improvement suggestions at all.


  • interesting course / subject / contents
  • Like C / low-level programming
  • Need even more initial training on C programming / a C course is missing in the D curriculum

Course literature

  • Good book
  • Good that slides are available on the course web page


  • good lectures
  • too fast
  • too slow
  • can be boring
  • much material to go through, hard to understand everything if coming unprepared
  • show more Pintos-related examples in the lectures
  • show more code examples
  • show less examples
  • seem not so well synchronized with / correlated to the labs


  • Good, useful
  • More lessons about the labs could help [to get started]
  • Lesson 1 came too late [?, see below]


  • like Pintos
  • good labs
  • Labs are difficult/challenging/timeconsuming but fun
  • meaningful/relevant/educational lab assignments, learn a lot
  • hard without a proper course in C programming
  • Much reading, having to search and discover Pintos by ourselves is too hard, would prefer complete explanation
  • Would like to have more written guidelines as in the Pintos course for the DI students
  • Steep learning curve to get started / took some time to understand what to do in Lab1
  • Better documentation/introduction about Pintos itself could help
  • Competent and helpful lab assistants (names/groups given)
  • Too hard in relation to the credits compared to other courses


By and large, the course seems to run pretty well.

Lectures: The lectures seem to be quite OK, and I can try to somewhat increase the speed where appropriate.
The lectures are indeed somewhat "ahead of time" compared to the labs, but this is hardly avoidable because I need to have gone through synchronization before Lesson 1 and through memory management before Lesson 2, and the tight block schedule and shortage of lab rooms does not give us more flexibility here.
The connection to Pintos should be done via the lessons, in order to keep the lectures system-neutral and streamlined.

Lessons: Appreciated by most participants. Lesson 1 was not scheduled too late -- this may be based on a misunderstanding: The labs in the first week are only intended for the C programming exercise, not for starting with Pintos without the introductory lesson. (This problem will naturally disappear from 2015 on, with the new students having had a proper C introduction in their first year so that we can remove the C introduction in TDDB68 and start with Pintos earlier.)

C: In spite of having expanded our C introduction to a full week to compensate for the (up to now still) missing C course in year 1, we could not do more about that within the course's limited time resources given. Apparently it was still not enough C training for some participants, while others were quickly done and quickstarted on Lab 1 (see above).
Note that you will need C also for future courses; it is just that, after the D board having moved TDDB68 from year 3 to year 2 since 2013, our course now happens to be the first one in a series of courses where C is used as lab language.

Labs: As mentioned in the first lecture and lesson, for most of you the Pintos lab series is the first time that you are exposed to a larger software project with a larger codebase, which needs to be overviewn and understood before you can add own code. It is normal that this takes some time in the beginning. Don't worry. You will experience such situations more often in your future professional life.
Our experience shows that, once students got used to C and Pintos, the labs have an appropriate level of difficulty.
Labs are this year more crowded than in previous years and the lab groups are fully utilized, because more former students have re-registered for the course and for the labs than predicted. We hope that this situation will relax somewhat in the second half of the course.

Christoph Kessler, course leader TDDB68

Page responsible: Mikael Asplund
Last updated: 2014-02-06