Linköpings universitet's sign

Department of Computer and Information Science (IDA)

TDDB68: Concurrent Programming and Operating Systems
TDDB72: Concurrent Programming, Operating Systems,
and Real-Time Operating Systems

Mid-term Evaluation 12/9/2006


The course TDDB68/TDDB72 was mid-term-evaluated by the muddy card method on tuesday 12/9/2005 during the seventh lecture, that is, after 3 weeks. About 70 students were attending this lecture, and I received 57 cards. The questions to be answered were:

  1. What did you like most?
  2. What did you dislike most?
  3. Optional comments and suggestions
I summarize and comment on the feedback further below.

Subject

  • Interesting course, relevant subject, useful knowledge [8]

Course book

  • good [6]
  • too verbose [3]
  • expensive, not enough copies in the library [2]
  • unstructured
  • not enough examples (code)

Course homepage

  • Good web page [4]
  • Good with slides on the course homepage
  • Good exam (on the course homepage)
  • Everything is easy to find
  • Too much (non-relevant) information on the labs on the homepage [2]

Lectures / Lecturer

  • Lectures are good [10]
  • cover the book well [3]
  • Nice animation of scheduling algorithms [3]
  • Well-designed, informative slides [6]
  • OH slides are good for review at home
  • Good presentation style [2]
  • Good explanations / easy to follow [2]
  • Too much text on the slides, should be more pictures [3]
  • Sometimes hard to find information in the collection of slides
  • Too slow [10]
  • Too much time spent on simple topics [4]
  • Follow too closely the book [3]
  • Too much of slides presentation, not enough whiteboard [3]
  • Too monotonous [2]
  • Sometimes confusing explanations
  • Locks, conditions, monitors should be explained in more detail

Lessons / Lesson assistant

  • Good lab lessons, good introduction to the lab assignments [4]
  • (too) fast
  • slow
  • Lab lessons were unclear / unstructured / not well prepared [3]
  • Not useful for the labs

Labs / Lab assistants

  • Interesting / realistic / challenging labs [12]
  • Labs are quite straightforward, clean code, well explained code [3]
  • Labs help to understand the concepts [2]
  • Friendly, helpful lab assistants [2]
  • First lab was great and easy to get started with
  • Many lab opportunities
  • Labs are hard / hard to get started with [13]
  • Difficult without C/C++ experience [4]
  • Time consuming but well explained
  • Too much stuff to read for each lab [2]
  • There is not enough detailed information about the labs
  • Lab instructions could be more clear [2]
  • Some lab assistants are not well-prepared / not familiar with Nachos [6]
    (A particular person was named on several cards)

Suggestions raised

  • More lectures at the start of the course
  • Lectures should be more lab-specific [2]
  • One should have a C/C++ course before [4]
  • C/C++ lecture should focus on pointers
  • Add an optional preparatory C/C++/Nachos-intro lab in the beginning, or extend Lab-0 [2]
  • More information about the labs / Nachos
  • Printed, relevant information about lab theory would be nice [2]
  • Change / Remove some of the labs [2]
  • Summarizing documents about major topics: locks, conditions etc.
  • More action (e.g. whiteboard) in the lectures [3]
  • Lectures better without the microphone
  • The course / web information should be given in swedish [2]

Conclusion

By and large, the course seems to run well.

Lectures: Pictures and animations are nice but take much time to prepare. I will try to use the whiteboard more often, and reduce the amount of text on the slides. In order to further increase interactivity, please don't hesitate to ask questions during lectures.
For next year, locks, conditions and monitors should get more emphasis.
I will keep presenting without the microphone from now on; please let me know when I should speak louder.

Labs: We are aware that the labs are hard, and that the threshold for the first lab is high, especially for those who have not been exposed to C/C++ before. However we (and many of you) think that the labs are useful in their current form. It is absolutely normal that lab 1 takes longer time than the others.
In general, the lab sessions seem to work very well, and the lab assistants are appreciated. The remarks about an unprepared lab assistant are unfortunate, we are trying to fix this.

Lab documents on the web page: We will remove some of the older documents that are not absolutely necessary for doing the labs.

Introductory C / C++ / Nachos lecture: I admit that 90 minutes was not enough to introduce C/C++. I plan to extend the lecture on C/C++ by 45 minutes for next year and propose an optional introductory C/C++ programming exercise focusing on pointer usage. That is all I can do within the scope and budget of this course. More lectures in the beginning are not possible because we already used up all time slots available for our course in the block schedule. Adding a proper C/C++ course in the C and D programs before our course may become possible in the upcoming Bologna restructuring process but will not take effect before 2009. Note that there also exists the optional course TDDB89 Advanced programming in C/C++, which is given every term and open for students in the C and D program.
The suggestion of having a central lecture on Nachos early in the course sounds interesting; to some degree this should actually have been a subject of the first lab lesson. We will discuss this for next year's course.

Thanks for your comments!

Christoph Kessler, course leader TDDB68/72