Thanks to all for giving feedback - below is the result of the survey, with only identities censored. My comments are in red.
Survey ID1299
Fill Ratio72% (65/90)
# Filled65
# Suspended11
# Not Filled14
(required) indicates required field

Please provide us with as much constructive feedback as you can. We do read these surveys and act on the information you provide. Thanks for your input.
1. Quick Evaluation
1. Give a high rating if you have a good opinion of something (e.g. interesting, useful, well-structured, etc.). Give a low rating if you have a bad opinion of something (e.g. too slow, confusing, disorganised, etc.)

Question type : Single answer -- Radio Button

Poor N/F
Lecturer: Kevin Elphinstone 37 (57%) 22 (34%) (8%) (0%) (0%) 1 (2%)
Lecturer: Leonid Ryzhyk (8%) 24 (37%) 23 (35%) (9%) (3%) 5 (8%)
General OS lectures 20 (31%) 36 (55%) (9%) (2%) (0%) 2 (3%)
Consultations 13 (20%) 22 (34%) 20 (31%) (2%) (0%) 9 (14%)
Your tutor 22 (34%) 16 (25%) 11 (17%) (3%) (0%) 14 (22%)
Tutorials 19 (29%) 16 (25%) 17 (26%) (2%) (0%) 12 (18%)
Asst1: Synchronisation 27 (42%) 26 (40%) (14%) (3%) (0%) 1 (2%)
Asst2: Syscalls 24 (37%) 26 (40%) (12%) (6%) (3%) 1 (2%)
Asst3: Virtual Memory 23 (35%) 26 (40%) 11 (17%) (5%) (2%) 1 (2%)
Textbook 13 (20%) 13 (20%) 28 (43%) (5%) (5%) 5 (8%)
OS/161 In general 16 (25%) 36 (55%) 11 (17%) (2%) (0%) 1 (2%)
C Language 22 (34%) 31 (48%) 10 (15%) (2%) (0%) 1 (2%)
Computing resources 16 (25%) 31 (48%) 12 (18%) (5%) (0%) 3 (5%)
Course web page 20 (31%) 31 (48%) 13 (20%) (0%) (0%) 1 (2%)
Message Board 31 (48%) 18 (28%) 10 (15%) (6%) (0%) 2 (3%)
Wiki 19 (29%) 21 (32%) 17 (26%) (9%) (2%) 1 (2%)
Help with technical questions 25 (38%) 15 (23%) 16 (25%) (9%) (2%) 2 (3%)
Lecture slides 19 (29%) 28 (43%) 14 (22%) (5%) (0%) 1 (2%)
Operating Systems overall 28 (43%) 31 (48%) (8%) (0%) (0%) 1 (2%)

The seems very similar to the favourable view of the course of previous years.

2. General
2. Please rate which of the following factors influenced your decision to enrol in this course

Question type : Single answer -- Radio Button

  Major Minor No N/F
Interest in operating systems as a field of study 29 (45%) 27 (42%) (12%) 1 (2%)
Chance to get hands dirty with low-level code 28 (43%) 22 (34%) 14 (22%) 1 (2%)
Jobs propects for OS hackers (8%) 27 (42%) 32 (49%) 1 (2%)
Would llike to do OS research (8%) 27 (42%) 32 (49%) 1 (2%)
Course is core for me 13 (20%) (8%) 46 (71%) 1 (2%)
Friends told me it was good 32 (49%) 10 (15%) 22 (34%) 1 (2%)
Chance to do challenging programming assignments 35 (54%) 13 (20%) 16 (25%) 1 (2%)

This is similar to previous years except the significant rise in "Friends told me it was good" from 21% to 49%. I can only speculate why?

3. Any other factor that influenced your decision?

Question type : Short-answer

Answer at the bottom page (27 comments)
4. Would you recommend this course to another student such as yourself?

Question type : Single answer -- Radio Button

Yes 60 (92%) chart
No (6%) chart
N/F 1 (2%)
5. Please provide feedback on the kind of material covered

Question type : Single answer -- Radio Button

  Too much
Too little N/F
High-level OS issues (0%) 13 (20%) 46 (71%) (6%) (0%) 2 (3%)
Low-level (implementation) issues (0%) 13 (20%) 38 (58%) 12 (18%) (0%) 2 (3%)
Unix/Linux (2%) (11%) 42 (65%) (14%) (6%) 2 (3%)
Windows NT (2%) (6%) 29 (45%) 21 (32%) (11%) 3 (5%)
OS/161 Internals (5%) 13 (20%) 34 (52%) 10 (15%) (3%) 3 (5%)
Other Systems (2%) (2%) 40 (62%) 16 (25%) (6%) 3 (5%)

Again, very similar to previous years.

6. What were the best things about this course?

Question type : Long-answer

Answer at the bottom page (58 comments)
7. What were the worst things about this course?

Question type : Long-answer

Answer at the bottom page (50 comments)
8. How does the workload in this course compare to workloads in other ...

Question type : Single answer -- Radio Button


COMP courses (2%) (5%) 11 (17%) 40 (62%) (12%) 2 (3%)
INFS courses (2%) (3%) 14 (22%) 14 (22%) 20 (31%) 14 (22%)
Courses in general (0%) (5%) (12%) 35 (54%) 17 (26%) 2 (3%)
9. Did you get the impression that the staff (lecturer, tutors, consultants) tried their best to answer your questions and help you? Please tick N/A if you did not attend lecture, consults, tutes)

Question type : Single answer -- Radio Button


Lectures 34 (52%) 20 (31%) (6%) (2%) (2%) (6%) 1 (2%)
Tutorials 23 (35%) 14 (22%) (5%) (2%) (0%) 23 (35%) 1 (2%)
Consultations 16 (25%) (8%) (9%) (2%) (0%) 35 (54%) 2 (3%)

The Tutorial mark is lower than previous years, but this is due to the much larger enrolment in extended - N/A is much higher.

10. How does the quality/value of this course compare to other....

Question type : Single answer -- Radio Button

the best

the worst
Year 3 COMP courses 35 (54%) 23 (35%) (5%) (2%) (0%) 3 (5%)
COMP courses in general 30 (46%) 25 (38%) (9%) (3%) (0%) 2 (3%)
Courses in general 32 (49%) 23 (35%) (11%) (0%) (2%) 2 (3%)
11. What background knowledge do you think you were missing that would have helped you in this course? Are the official pre-requisites a suitable preparation?

Question type : Long-answer

Answer at the bottom page (45 comments)
3. Content/Syllabus
12. What topics caused you the most difficulty? You can select more than one item

Question type : Multiple answer -- Check Box

System calls 10 (15%)
Processes (2%)
Threads (5%)
Low-level implementations issues 25 (38%)
Synchonisation and concurrency (11%)
Deadlock (8%)
Memory Management and Virtual Memory 30 (46%)
File Systems 20 (31%)
I/O Management 13 (20%)
Scheduling (9%)
Multiprocessor Systems 15 (23%)
Security (9%)

The file system component has improved a little from last year,  VM is still the consistently challenging topic, which is understandable.

13. Which material do you think you will be most useful to you in the future?

Question type : Short-answer

Answer at the bottom page (52 comments)
14. What material related to operating systems, but not currently in the course, would you like to have seen covered?

Question type : Short-answer

Answer at the bottom page (33 comments)
15. Which of the current topics would you like to see scaled back or excluded?

Question type : Short-answer

Answer at the bottom page (37 comments)
4. Lectures
16. Is the current mode of lecture delivery, using computer-projected slides, effective?

Question type : Single answer -- Radio Button

Yes 61 (94%) chart
No (0%) chart
N/F 4 (6%)
17. Was the subject material (lecture notes, information on the subject web page, textbook, tutorials, manuals, etc.) sufficient to follow the course?

Question type : Single answer -- Radio Button

Always 13 (20%) chart
Most of the time 42 (65%) chart
Sometimes (11%) chart
Rarely (2%) chart
Never (0%) chart
N/F 2 (3%)
18. Did the explanations in the lecture help you to understand the subject material? (please choose N/A if you generally did not attend lectures)

Question type : Single answer -- Radio Button

Always 13 (20%) chart
Most of the time 37 (57%) chart
Sometimes (12%) chart
Rarely (2%) chart
Never (0%) chart
N/A (6%) chart
N/F 2 (3%)
19. If you have not been attending lectures, what factors influenced your decision not to attend?

Question type : Long-answer

Answer at the bottom page (19 comments)
20. Any suggestions for improving lectures?

Question type : Long-answer

Answer at the bottom page (30 comments)
21. If you used other textbooks other than Tannenbaum (e.g. Silberschatz, Stallings), how do you think they compare to each other? Which gives the best explanations, which has the best structure, etc....

Question type : Short-answer

Answer at the bottom page (15 comments)
5. Tutorials
22. The aim of the tutorials is to help you understand the subject material better. Please convey how they performed in this role

Question type : Single answer -- Radio Button

  Strongly Agree
Strongly Disagree N/A N/F
The tutorials helped me understand the material 14 (22%) 13 (20%) (6%) (0%) (0%) 28 (43%) 6 (9%)
The questions were appropriately timed 11 (17%) 11 (17%) (9%) (3%) (0%) 29 (45%) 6 (9%)
The questions were of appropriate difficulty (11%) 16 (25%) (9%) (3%) (0%) 28 (43%) 6 (9%)
The questions should have increased difficulty (6%) (6%) 14 (22%) (9%) (3%) 28 (43%) 7 (11%)
The number of questions was appropriate (5%) 14 (22%) (12%) (9%) (0%) 28 (43%) 6 (9%)
The number of questions should be expanded (3%) (9%) 15 (23%) (8%) (5%) 28 (43%) 6 (9%)
I always prepared for the tutorials (0%) (9%) 12 (18%) (9%) (9%) 29 (45%) 6 (9%)
Preparation beforehand improved my understanding of the material (8%) 12 (18%) (9%) (2%) (2%) 34 (52%) 6 (9%)
Class participation is important for understanding the material (14%) 11 (17%) (11%) (3%) (2%) 29 (45%) 6 (9%)

There was a significant drop in agreement this year. This is related the the large number of good students in extended this year, so it is difficult to judge whether the similar material to previous years performed more poorly this year, or whether material was only used by less capable students?

23. Please rate how effective your tutor was. Check N/A if you did not deal with the particular tutor.

Question type : Single answer -- Radio Button

Poor N/A N/F
Tutor A (11%) (8%) (5%) (0%) (0%) 44 (68%) 6 (9%)
Tutor B
13 (20%) (6%) (6%) (0%) (0%) 36 (55%) 8 (12%)
24. Any suggestions for improving tutorials?

Question type : Long-answer

Answer at the bottom page (26 comments)
6. Assignments
25. Please rate the level of difficulty of the assignments

Question type : Single answer -- Radio Button

  Too easy
Just right
Too difficult N/F
Asst1: Synchonisation (6%) 20 (31%) 34 (52%) (6%) (0%) 3 (5%)
Asst2: System Calls (2%) (3%) 32 (49%) 21 (32%) (9%) 3 (5%)
Asst3: Virtual Memory (0%) (3%) 26 (40%) 23 (35%) 10 (15%) 4 (6%)
26. How well was each assignment specified (taking into account a significant part of the assignments is understanding the environment you solution must work within)?

Question type : Single answer -- Radio Button

  Very clearly
Confusing N/F
Asst1: Synchonisation 29 (45%) 18 (28%) 11 (17%) (5%) (2%) 3 (5%)
Asst2: System Calls 15 (23%) 16 (25%) 16 (25%) (11%) (12%) 3 (5%)
Asst3: Virtual Memory 10 (15%) (14%) 13 (20%) 19 (29%) 11 (17%) 3 (5%)
27. Did the supporting material (manuals, notes, comments in code) provide sufficient information for solving the assignment?

Question type : Single answer -- Radio Button

  Very much
Not at all N/F
Asst1: Synchonisation 27 (42%) 19 (29%) 11 (17%) (3%) (0%) 6 (9%)
Asst2: System Calls 13 (20%) 20 (31%) 18 (28%) (8%) (5%) 6 (9%)
Asst3: Virtual Memory 10 (15%) 12 (18%) 24 (37%) 11 (17%) (3%) 6 (9%)

In general, the assignments seem to be percieved similarly to previous years, if not maybe a little easier this year.

28. Rate which factors (if applicable to you) contributed to the assignments being difficult in your eyes

Question type : Single answer -- Radio Button

No N/A N/F
Topics are conceptually difficult (8%) 17 (26%) 22 (34%) (6%) (12%) (9%) 3 (5%)
Implementation is difficult (14%) 19 (29%) 18 (28%) (5%) (12%) (8%) 3 (5%)
Lack of familiarity with C (3%) (9%) 19 (29%) (11%) 22 (34%) (9%) 3 (5%)
Lack of experience with a large code base 18 (28%) 13 (20%) (9%) (12%) 11 (17%) (9%) 3 (5%)
Lack of experience debugging C 11 (17%) 11 (17%) 16 (25%) (8%) 13 (20%) (9%) 3 (5%)
Lack of previous low-level programming 10 (15%) (14%) 17 (26%) (8%) 15 (23%) (8%) 4 (6%)
Lack of familiarity of programming on the UNIX OS (8%) (2%) 14 (22%) 10 (15%) 25 (38%) (11%) 3 (5%)
29. The aim of the assignment work was for you to develop practical skills with the concepts covered in lectures.

Question type : Single answer -- Radio Button

  Not really
Very much N/F
Did the assignment work help with this? (0%) (8%) (14%) 18 (28%) 30 (46%) 3 (5%)
30. We are always evolving the assignments, especially with the change in structure of the session. We would appreciate feedback on the following ideas.

Question type : Single answer -- Radio Button

  Strongly Agree Agree In-between Disagree Strongly Disagree N/A N/F
ASST0 should be kept as a warm-up 32 (49%) 21 (32%) (9%) (5%) (0%) (0%) 3 (5%)
I found ASST0 useful to get started 30 (46%) 14 (22%) (14%) (11%) (3%) (0%) 3 (5%)
The guided questions in the assigments are useful 18 (28%) 25 (38%) 15 (23%) (5%) (0%) (2%) 3 (5%)
I mostly ignored the guided question part of the assignment an just got started (5%) 12 (18%) 11 (17%) 21 (32%) 14 (22%) (2%) 3 (5%)
ASST2 helped me warm up for ASST3 (3%) 16 (25%) 18 (28%) 19 (29%) (6%) (5%) 3 (5%)
Fork() should be put back in ASST2 (9%) (14%) 12 (18%) 19 (29%) (12%) (12%) 3 (5%)
Three weeks is enough to attempt an individual assignment (11%) 32 (49%) 11 (17%) (9%) (3%) (6%) 3 (5%)
The assignment -related questions should be dropped from the tutorials (0%) (9%) (14%) 13 (20%) 19 (29%) 14 (22%) 4 (6%)
I found the extra lecture on ASST3 useful 19 (29%) 17 (26%) (9%) (2%) (0%) 19 (29%) 3 (5%)
The assignments should be worth less of the assessment of the course (6%) (8%) 11 (17%) 16 (25%) 25 (38%) (2%) 3 (5%)
The assignments should be completely automarked to have them marked quicker (8%) (8%) 14 (22%) 17 (26%) 19 (29%) (3%) 3 (5%)
The give submission test should test completely and tell you your mark each time you submit, and assignments should be worth much less of the assessment for OS (3%) (5%) 23 (35%) 16 (25%) 17 (26%) (2%) 3 (5%)
Complete give submission testing should only be done for the advanced assignments (8%) (8%) 16 (25%) 17 (26%) (12%) 11 (17%) 3 (5%)

Again, this reinforces my perceptions that students want the assignments to form a significant component of their assessment, given the effort involved. The manual marking is also appreciated.

31. Do you have any specific comments about OS/161

Question type : Long-answer

Answer at the bottom page (23 comments)
32. Please indicate whether you (dis)agree with the following statements regarding group assignment work.

Question type : Single answer -- Radio Button

  Strongly Agree
Strongly Disagree N/F
Group work is a better than working as an individual 17 (26%) 11 (17%) 17 (26%) (9%) 11 (17%) 3 (5%)
Groups reduce the assignment workload 14 (22%) 15 (23%) 14 (22%) (9%) 13 (20%) 3 (5%)
Groups should be optional, but every submission is marked the same 16 (25%) 13 (20%) 19 (29%) (9%) (9%) 5 (8%)
Groups are unfair as inevitably one member does all the work 10 (15%) 11 (17%) 24 (37%) 14 (22%) (3%) 4 (6%)
Larger groups would be better (6%) (3%) 11 (17%) 16 (25%) 28 (43%) 4 (6%)
Having a partner to help understand the assignment really helps 29 (45%) 15 (23%) 11 (17%) (5%) (5%) 4 (6%)

Groups seem to be slightly less popular this year, though still heavily in favour of. And while being slightly less popular, a higher percentage thought groups help them understand the assignment.

33. What do you think of the advanced assignments?

Question type : Single answer -- Radio Button

Great Idea! 26 (40%) chart

10 (15%) chart
Don't care 23 (35%) chart

(0%) chart
Abolish! (3%) chart
N/F 4 (6%)
34. Any suggestions for improving the assignments?

Question type : Long-answer

Answer at the bottom page (29 comments)
7. COMP3891/9283 Extended Operating Systems
Skip this section if you did not do COMP3891/9283 Extended Operating Systems.
35. How would you rate extended OS as a whole?

Question type : Single answer -- Radio Button

Excellent 13 (20%) chart

11 (17%) chart
Average (9%) chart

(2%) chart
Poor (0%) chart
N/A 10 (15%) chart
N/F 24 (37%)
36. What were the strong points of COMP3891/9283?

Question type : Long-answer

Answer at the bottom page (26 comments)
37. What were the weak points of COMP3891/9283?

Question type : Long-answer

Answer at the bottom page (19 comments)
38. Any suggestions for improving COMP3891/9283 Extended OS?

Question type : Long-answer

Answer at the bottom page (15 comments)
8. Exam
39. Answer the following questions to convey your opinion of the final exam

Question type : Single answer -- Radio Button

  Strongly Agree Agree Neutral Disagree Strongly Disagree N/F
The exam overall was too hard (2%) (12%) 24 (37%) 20 (31%) (6%) 8 (12%)
The exam overall was too short - i.e. it should be 3 hours (6%) (12%) 15 (23%) 23 (35%) (11%) 8 (12%)
The exam should contain more True/False questions (5%) (9%) 15 (23%) 23 (35%) 10 (15%) 8 (12%)
The exam gave me the oppurtunity to demonstrate my understanding of operating systems (8%) 31 (48%) 17 (26%) (6%) (0%) 8 (12%)
I think my exam result will be representative of my operating systems knowledge (8%) 22 (34%) 20 (31%) (14%) (2%) 8 (12%)
The final assessment should be weight ed more towards the exam (5%) (8%) 17 (26%) 24 (37%) (12%) 8 (12%)

A very similar perception of the exam compared to previous years. The balance seems correct to me, though the actual results seem to indicate it was a little easy.

40. Do you have any particular comments you would like to make about the exam?

Question type : Long-answer

Answer at the bottom page (33 comments)
9. Miscellaneous
41. We always look for evidence of cheating in assigments and try or best to catch and penalise cheaters. Please tell us what you think about the treatment of cheaters in the course.

Question type : Single answer -- Radio Button

Too soft (6%) chart

(5%) chart
Just right 45 (69%) chart

(2%) chart
Too harsh (0%) chart
N/F 12 (18%)
42. What do you think your final result will be for the course?

Question type : Single answer -- Radio Button

HD 11 (17%) chart
DN 20 (31%) chart
CR 11 (17%) chart
PS (11%) chart
FL (5%) chart
No Idea (12%) chart
N/F 5 (8%)

Back to Summary
3. Any other factor that influenced your decision?

1: -

2: Enjoyed COMP2121, combined with interest in OS

3: Flexible lab time

4: Fundamental knowledge for computing

5: I have been working on FreeRTOS in UNSW BLUEsat and would like to understand better in what I am doing.

6: Inspired by a tutor from cs2911 about OS

7: Interest in Kernel programming.

8: It just fun

9: It's one of the layers of a computer system hierachy!

10: John Garland and Rupert Shuttleworth

11: My friend got a HD last year. This was my challenge :)

12: No

13: OS is a course i would have liked to do during uni

14: Read the course outline. Sounded interesting and challenging.

15: Sounded cool.

16: Study a wide range of topics that I didn't know much about

17: To become a real programmer.

18: Wanted to understand computers better.

19: compulsory course to complete program

20: difficulty of assignments

21: learn how OS's work since they are kind of important in computing

22: n/a

23: na

24: no

25: nope

26: patch up c skills

27: touch more field in computing
6. What were the best things about this course?

1: -lectures pretty good -lecture slides too study from

2: Ability to implement key OS functions

3: Assignment. Gives you a chance to play around with a monolithic OS kernel.

4: Assignments

5: Assignments are challenging but fun. It's not every day that I learn about the computers that I use.

6: Assignments are challenging especially the advance part.

7: Challenging assignments

8: Challenging assignments

9: Challenging assignments

10: Challenging with interesting subject matter and lecturer who made it interesting.

11: Clear, relevant, well-organised content.

12: Content very useful, assignments were fun

13: Covered all the main aspects of the course. Challenging assignments were fun after they were completed.

14: Discovering the internals of OS/161 (and OSs in general)

15: Flexible lab time

16: I enjoyed the style of the lectures. You didn't just read from the slides, but explained. Most concepts became clear quickly. The dedication of staff in helping with assignments was also excellent (ie consults, forum).

17: Implementing low level systems

18: Interesting and challenging programming assignments Supportive and communicative lecturer (eg always ready to answer on forums and actively encouraging students to attend consults)

19: Introduce the student into the world of OS and get some experience with designing OS.

20: It has been taught very well and is pretty much better than any other course I have taken at university so far. Course is well organised and the difficulty of the assignments is appropriate. Contents are very interesting and more importantly we actually have a chance to look into the kernel and do something. Also it covered a lot of things that I need to know for BLUEsat OS which is a plus.

21: It was thoroughly interesting throughout.

22: It was very challenging.. assignments involved actually applying ideas from the course

23: Learning about real world OS problems and then using that knowledge to create a solution to them in the assignments.

24: Learning the mechanics behind the OS and the steps it takes after a system call

25: Lecturer is very smart and willing to help.

26: Lectures are good and material is interesting. Being able to build an OS is an awesome set of assignments

27: Lectures were excellent

28: More or less everything. Easily one of the more fun/challenging courses to do.

29: OS concepts.

30: Organisation. It's a massive course with lots of content and lots of students, and everything seemed to flow very smoothly. Kevin's attention to detail, knowing his lectures down to the minute ("we're fifteen minutes early/late") was awesome.

31: Real life examples and issues faced by the underlying OS which we take for granted

32: The 3rd assignment was great, it taught me a lot, because it involved implementing a core part of the OS. The 1st and 2nd assignments seemed more on the periphery in comparison. The wide range of topics covered, from concurrency to disk scheduling to virtual memory was great. There were a lot of terms I'd heard in courses before that I did not know before but now I do thanks to OS.

33: The assignments is where I learnt the most. It was quite rewarding to work with a big codebase and eventually find our way around it (by the third assignment round).

34: The assignments were pretty interesting, good, & challenging.

35: The assignments were quite challenging, especially fun when you eventually make them your bitch. Kevin's also a great lecturer and the topics covered were really interesting.

36: The assignments, once you finished them it was a great sense of achievement.

37: The assignments.

38: The assignments. They were challenging but not too challenging, drilled the course material in well, and were rewarding to complete.

39: The course assessment structure and volume of lecture notes and the details they covered

40: The lecturers Getting experience working with OS code

41: The lectures were engaging and provided informative and interesting content. Tablet Laptops are great for in-class problems and helping to understand concepts. The assignments were challenging and interesting. The extended lectures were great and always covered relevant topics to the current lecture content but added more interesting concepts.

42: The method of marking assignments. Giving bonus marks and allowing for an advanced challenge

43: The opportunity to be able to implement major parts in the OS

44: The tutorials were very good. The assignments were quite challenging

45: Very interesting lectures, despite most of it being new and difficult to me.

46: Very interesting, brought up a lot of issues and how to tackle them. Good questions at tutorials.

47: assignments

48: assignments + group work = fun

49: assignments are good and helpful for me to comprehend OS.

50: assignments were challenging but do-able and learnt a lot from them

51: content was interesting.

52: file systems security inclusion of Linux file permissions (eg chmod modes etc) (which was talked about for the assignment setup etc )

53: generally understanding how OS works

54: its like the combination of theory of computation and foundation of concurrency. It gave me a lot of low level info of computer behind the scene

55: os161.. u can hv experience on a real os(well, kind of), which is really similar to wt we need to in the future...

56: provided a good understanding of how OS work and interact with hardware below it and especially software about it, covering of some basic security considerations, buffer overflows, password salting, etc. not covered elsewhere

57: the course itself, i get to know how operating systems really work

58: very interesting, links very well with comp arch course

Okay, besides the general appreciation of the course content and assignments, the main take away from this is that the support from tutors, lecturers, and admin is appreciated. Thanks the feedback - it is good to know that the effort we put in is appreciated.
7. What were the worst things about this course?

1: -

2: -assignments too hard/long too complete

3: A lot of material to cover and the lectures are not very clear on explaining a few things (very minimal though)

4: Assignment specification sometimes not so clear.And the overall system performance is weighted too much compared to other course content.

5: Challenging assignments (or they look a lot harder than they are)

6: Concurrency bugs

7: Confusing jargon at times

8: Debugging the assignments.

9: Difficulty of assignments.

10: Don't have a lot of complaints, enjoyed the course. Perhaps the extended class should always have a tute to go to as well as the extended lecture.

11: Feedback

12: GDB. Good explanations during lectures (using drawings on the powerpoint) weren't carried across to the lecture slides to review later.

13: Hard Assignments

14: Hmm, the assignments maybe, they're interesting but hard at the same time, don't know if that's bad or not hehe

15: I couldn't make it to enough lectures because it clashed with other of my subjects.

16: I had to do assignments solo. ( Not the courses fault. )

17: I understand OS161 as an OS with the purpose of educating students. However there is still too much stuff in there for the course. Although I know a lot of things were actually covered in assignment help sessions but it will be still be better to include more points which aren't directly relevant to the assignment but may greatly affect the progress. The issue I had with virtual memory assignment was I did not realise I will have to set the ASID if it has not been implemented and it took me days to find out and missed early bonus/time to attempt advanced part.

18: Lack of practical exams. I had alot of difficulty linking theory to putting it into practice when it came to coding in OS161. Even though a far amount of time was spend review code it wasn't easy to make connections between theory and prac.

19: Last assignment was a bit tough.

20: Lectures slides need to be more graphics for illustrations, a little difficult in lectures as majority of explanations were verbal with hand movements.

21: Lectures were difficult to follow - especially if you miss a single thing, then you're lost for the rest of the lecture. It's easy to fall behind. Also, assignments were sometimes very difficult to test as you go! I liked having a guide as to the order in which to tackle things, as in assignment 3 though. In assignment 2 we implemented our syscalls in the wrong order which meant we didn't have any print statements to test with until we'd implemented everything! This caused a debugging nightmare.

22: Loosing marks on indentation hurts. Assignments could have been marked faster. Extended lectures overlapped with the tute, would have gone otherwise.

23: Mandatory group work (the assignments were not so hard that they required working in a group)

24: Not enough background / resources / info for starting more complicated assignment (particularly the last one, and some of the adv sections). Assignments were marked a bit slowly, and marker didn't always know what was going on, particularly in assignment 3, as they contradicted the lecturer a fair bit

25: Nothing particularly bad, but maybe more material could have been covered in the extended lectures.

26: One of the best subjects but when combined with other subjects during a semester not much time is available to exhibit our full potential towards the assignments

27: Should have put more time into assignments, as the course outline stated I (we) underestimated the assignment workload far too much

28: Some content like mips wasn't too interesting

29: Some material dragged on abit. The lecture on scheduling was kinda tedious, far too many examples for a relatively easy-to-grasp series of concepts, I think. Then again it really hammers the idea in. I think what I'm trying to say here is that if you were going to take time out of a section of a lecture to put elsewhere, steal it from scheduling.

30: Some of the topics like Security and the start of the File Management topic were high level and just overviews of WHAT certain things were rather than the HOWs and WHYs, which other topics covered a lot more of. What is the textbook for? Give examples of why we need it. I have just barely looked at it, and I'm not sure if I now need to read through the entire thing to prep for the seems like I can answer questions suitably without it. (Turned out I didn't need it at all for the exam)

31: Sometimes the assignments got a bit confusing, particularly the last one - it took several re-reads of the lecture notes and lots of questions to understand it fully. I felt that the workload/award payoff for the assignments was also unbalanced and a lot of my other courses suffered because the assignmnets for this course required so much work and understanding.

32: Staying up all night to finish challenging assignments

33: Strange Friday morning deadline. Why not Saturday morning?
If you are refering to week 13, I'm not allowed to give you the weekend.

34: The assignments.

35: The hours and hours of desperate coding before submitting assignments... there was perhaps something about "keeping things simple" and getting the code right on the first go, and proper debugging...that we didn't really quite get and it made assignment submission quite a hectic process. More guidance using debugging tools would be good.

36: The presentation needs more diagram to illustrated the concept rather than points

37: There was no form of peer review which made it very hard to address the issue of differing workloads in the assignment.

38: Too much of a disconnect between the OS theory and the implementation of the assignments. There was usually a cursory 1-2 line brief explanation on how to implement a major OS concept. Documentation/comments in the code not explicit enough. The assignment spec was also brief, not explaining how the parts of the code interacted with each other

39: Tuned out a lot during lectures (but that always happens). With the four subjects I took this semester, this one ranks second with appealing lectures. I think it may be because the examples were often a bit slow. e.g. filling and emptying a queue for the producer consumer problem. Often I only tune back in when I realise we've moved on five minutes ago.

40: ass2 had a heavy amount of reading with not much sucess

41: assignment due dates being at 8am.

42: assignment took time / bit difficult to get started, but once started wasn't too bad.

43: hard to get assignments working outside the cse environment, also made debugging hard

44: hard to learn well

45: leads to unhealthy lifestyle.

46: mix up in lecture material between what is general for OS's and what is specific for OS161 makes the assignment more confusing. Also the OS161 docs are very confusing to find your way around

47: na

48: nop

49: os161, although it is gd... but it is really hard for u to start up and actually work on it... it is too BIG!!! i mean, u will always afraid there are sth u need to implement...but u don't know... and some programmer just like/try to read through all the codes, as everyone thinking is different.. but that's hardly possible for this one, at least i don't understand wt is happening in some case... and even thought u got the idea, but the program just don't run for some reason.. maybe some restriction of os161... it make u sad

50: too many things to learn in such a close time

The general consensus seems the assignments are too hard, while the best thing about the course from above is the assignments. This conflict is something that I can't resolve. I believe the balance is about right, and the mark distribution this year indicates they are too easy if anything - 50% of the course got greater than 85% in the assignments.
11. What background knowledge do you think you were missing that would have helped you in this course? Are the official pre-requisites a suitable preparation?

1: 2121 and C practice (ie 1917/1927) were good preparation. I wish I'd sat down and read some of the textbook at the start, but I think that one's on me.

2: 2121/2911 are fair pre-reqs.

3: C is very necessary and i think the current pre-reqs are satisfactory

4: Conceptual high level coding ability. Yes.

5: Concurrency would have helped the understanding the initial topics in this course, however shouldn't be a pre-req.

6: I dont think COMP2121 was really a necessary pre-requisite for doing OS

7: I felt like I knew enough to do the course. Had to revise C a little as I hadn't used it really since first year.

8: I found that I was missing a bit of 'software construction' aptitude. I still don't really completely understand how all of OS161 fits together - just enough that was needed to hack at the various components to do the assignments. However, this was probably due to me being a post-grad without much prior CS experience, so can't really say that any prerequisites are required.

9: I needed to brush up on C before being capable of attempting the assignments, but other than that it was fine.

10: I think i had enough background knowledge. Comp2121 + 1927 seems plenty.

11: I think it sums it up

12: I think the official prerequisites are sufficient.

13: I think the pre-reqs are okay since any basic knowledge needed were discussed again during lects and tutes. however, having foundation of concurrency or theory of computation before taking the OS would be advantageous.

14: I'd recommend people should be able to read understand and debug a third persons code. I don't know how it could offered as a pre-req though

15: Lack of debugging tools experience. If there is a way to do a debugging tutorial where we can ask questions that might be good. Speaking to other people in the course, it seemed like GDB may have been underused a bit? Eventhough it should've been used all the time, maybe there was a lack of knowledge of how to use it. Prerequisites seem okay.

16: Lack of experience with a large code base. yes.

17: Make sure they're competent with c

18: More low level knowledge about operating systems. Some people I know already understood many of the concepts. Then again that was more due to their own experimentation than due to any official course UNSW offers (so yes the pre-requisites are suitable in that there's nothing more the uni could add anyway)

19: N/A. i think pre-requisites pretty much cover it.

20: No. COMP2121 didn't help at all. I don't think COMP2121 should be a prerequisite. I think maybe first years should be exposed to a tiny bit of assembly programming so they get the right idea (which they generally already are). If anything, a short description of what happens when you compile a program should be enough (takes ten minutes)

21: None

22: None

23: Not having done C since first year lead to a shaky assignment start.

24: Nothing

25: Nothing really.

26: Official pre-reqs were good.

27: Official pre-requisites is suitable.

28: Pre-requisites were quite suitable, although they didn't really prepare us for they way OS161 was written (besides the comments).

29: Pre-requisites were sufficient

30: Prereq was enough

31: The coding for the assignments was not difficult, it was more the understanding of the codebase that was important. The ability analyse code and write / alter ADTs is essential. And patience, lots of patience.

32: The course has a bit of a steep learning curve, especially with the latter assignments. Perhaps lectures can be organised such that before each specific topic, a quick overview of the context is presented. We often get carried away with the details of an operating system to realise under what context the lecture topics are presented.

33: The official pre-requisites were more than sufficient. Some knowledge of concurrency might have helped beforehand but a full course on it is not needed to do better in the course.

34: They're suitable.

35: To be pair no background knowledge was missing for me. Official pre-requisites are suitable.

36: Yes, C programming is DEFINITELY necessary for this course, so the pre-requisites were good. Other than that, I don't think there was any other required background knowledge.

37: Yes, i think the official pre-reqs are suitable for preparation, though emphasizing pointers in C as you did was the most helpful because we really need that ;)

38: done comp2121

39: i only take the cs2121 before... so, maybe i think wt i miss is some HUGE size project experience... ya, i mean i did hv, but not as large as this one...

40: more COMP courses, No,the official pre-requisites are not a suitable preparation

41: nothing

42: official pre-reqs were satisfactory

43: pointer arithmetic / bitmasking needs to be covered in 1st and 2nd year courses. Had to rely on the internet to learn a lot of concepts

44: prereqs are fine.

45: yes
13. Which material do you think you will be most useful to you in the future?

1: All of it

2: All of it.

3: An extra assignment for more low level file systems

4: Concurrency

5: Concurrency and security, security is always needed

6: Concurrency and synchronisation

7: Concurrency, Security, memory management.

8: Concurrency, Threads

9: Concurrency, Understanding virtual memory

10: Concurrency, memory management

11: Concurrent programming and viruses

12: Concurreny

13: Deadlock

14: Deadlocks, threads, concurrency, scheduling and multiprocessor systems

15: Everything

16: Everything

17: I think more top level thingy would be more useful to me

18: In a general sense? All of it.

19: Locks.

20: Memory management and virtual memory

21: Process and Threads

22: Security

23: Security/threads/deadlock

24: Synchonisation & concurrency, threads & processes, deadlock

25: Synchonisation and concurrency

26: Synchronisation, I/O

27: Synchronisation, Security

28: Synchronisation/Concurrency. Virtual Memory.

29: The general overview of OS's

30: Threading

31: Threads, Synchronisation and concurrency, Deadlocks, Virtual Memory, Scheduling, Security

32: Threads, VM

33: Understanding of all of it

34: Virtual memory

35: all of it

36: better book or more explanatory notes

37: concurrency

38: concurrency

39: concurrency

40: concurrency, file systems, i/o

41: file system, memory management

42: file systems, synchronisation

43: file systems, sys calls

44: multiprocessor systems and I/O management

45: processes/threads/synchronisation/concurrency

46: scheduling, synchronisation/concurrency, system calls, I/O management and memory management

47: security

48: synch & concurrency

49: textbook

50: the hardware knowledge, wt actually happen in the hardware; also, wt's happening "down" there

51: threads

52: threads, processes, VM, scheduling

Threads and concurrency is rightly the most relevant topic, even for those not interested in operating systems.
14. What material related to operating systems, but not currently in the course, would you like to have seen covered?

1: -

2: -

3: A closer look at the open source Linux kernel

4: A lecture to put it all together and explain the OS as a whole

5: API

6: Detailed exception handling mechenism.

7: I can

8: MIPS code (or x86, etc)

9: Maybe a history of OS shells (graphical and non-graphical)

10: More case studies, perhaps on the major OSes

11: N/A

12: N/A

13: N/A - any extra material is probably more suited for AOS

14: NA

15: None

16: None

17: Not sure

18: Perhaps a little more on where OS is heading.

19: Window Managers, GUIs

20: all above are enough

21: i see them alright as it is now

22: i think the course was nicely covered

23: more information about windows/linux

24: more security

25: n/a

26: na

27: networking

28: none

29: none

30: nothing

31: nothing

32: scheduling and multiprocessor assignments

33: windows

Nothing really significant, except "none". Suspect that is more related to avoiding extra workload :)
15. Which of the current topics would you like to see scaled back or excluded?

1: -

2: -

3: Every topic should be kept.

4: File Systems

5: File Systems - or ... perhaps I just didn

6: Low level syscall walkthrough, bit too detailed

7: Maybe security. It is interesting but seems more like something we need to worry about when we are actually implementing something about OS.

8: Mostly fine

9: N/A

10: N/A

11: None

12: None

13: None really.

14: None, i think its a good mix of topics

15: Security

16: Security and the start of File Systems

17: Security felt like it was kind of just tacked on at the end, and it would

18: Synchonisation and concurrency

19: Synchronisation and Concurrency, scaled back (might be because I had already done concurrency previously)

20: Too much time spent on concurrency

21: Virtual Memory

22: i see them alright as it is now

23: last few, security and MS not alot of time in spent in lectures so very brief understanding still

24: multiprocessors and security should be covered as major topics in separate courses

25: n/a

26: n/a

27: na

28: na

29: none

30: none

31: none

32: nothing. I do wish we had 13 weeks of lectures again though

33: os161, i will prefer start with some smaller program...then move to os161 after the concept is really clear by the previous assignment

34: scale back concurrency a bit (fewer examples, most of the "aha! so that

35: security

36: security

37: security where interesting but security was essentially a quick overview of what is covered in comp3441. Perhaps it is not required?

Security seems a common target, some coordination with COMP3441 seems worth investigating.
19. If you have not been attending lectures, what factors influenced your decision not to attend?

1: -

2: -

3: Assignments are more interesting.

4: Busy assignments

5: Clashes, especially if the other lecture's subject had a class test around the corner...

6: Class clash

7: Heavy workload at uni, and lots of time spent on assignments for this course - spent a few lectures doing assignments. The ones attended were good though.

8: I generally find lectures too boring. I do not work well with the lecture environment and much prefer courses that have the material online that allows for me to learn on my own

9: I make it a point to attend the lectures because without the knowledge of material in the lectures we'll not be able to understand the code.

10: I will admit I missed some extension lectures I would've liked to attend due to prioritising of other course work (eg special project) and I chose the extension ones to miss as the content wasn't always directly related and thus of a lesser priority

11: Lack of time and full-time work. Availability of lecture slides.

12: N/A

13: N/A

14: N/A

15: None

16: catch up the notes first(can't catch up to the current level or missed one before)

17: i attended

18: n/a

19: na

Unfortunately, clashing is out of my control - it is literally a lottery each year.
20. Any suggestions for improving lectures?

1: - have 1 lecturer cover the whole course - have an introduction to OS161 lecture

2: Bring more case study on implementation in the current OS, perhaps more on Windows, and Mac or embedded system OS

3: Drawing is a great way to illustrate ideas but need to be accessible after the lecture
You can always take notes.

4: EVERYTHING needs a diagram. Some things didnt have diagrams.

5: Having the pdfs available before the lecture would be handy, but not crucial. I very much enjoyed the lectures.

6: I would appreciate the slides having the ability to stand on their own, without the voice necessary. This was usually the case, but I found some sets of lecture slides difficult to understand their meaning without listening to the recording of the lecture.
As above, note taking is not meant to be replaced by slides.

7: Keep the tablet-PC!

8: Leonid should use a microphone. Kevin sometimes talk too fast.

9: More connections with the practical side of the course. There were lots of helpful topics in the lectures however because they werent related direct back to a practical example it was very hard to understand OS161 code.

10: N/A

11: NA

12: None

13: Nope

14: Not really, both Kevin and Leonid were engaging lecturers.

15: Not really.

16: Provide more multiple choices self checkpoint.

17: Should use more graphics for illustration of ideas. For example, the graphic used to explain the working set helped to clarify the verbal explanation further.

18: The lectures were okay.

19: There were some concepts (in particular the more high level ones) that the lecturer explained at length and at a depth that really wasn't necessary since they weren't that hard to understand. Though I guess this is just personal opinion. My main problems were with the spelling and grammatical mistakes in the lecture notes, which sometimes contradicted the real meaning and was rather confusing at times. Also while we're on the subject of lectures, I'd like to mention what the lecturer should keep doing that was already good (to maintain rather than improve the quality of the lecture) - using the smartboard or whatever it is to write out/explain problems on the slides and save them so they can be referred to even after the lecture.

20: Video lectures?

21: better segregation between OS161 and OS's generally

22: clearer tablet drawings/writing please. the text is very hard to read during the lectures and after they have been embedded into the slides

23: involve some practical coding examples instead of plain drawing

24: making sure the lecture notes which will be covered in the current lecture have always been uploaded to the course page beforehand. (although most of the time it is accessible from previous year's course page but it will still be better to see it on the page for current session)

25: more description to the graphs

26: n/a

27: pretty good, just make sure there is a break in the middle of a 2hour block

28: some times I did not get the accent but my be this is just me

29: the hourly breaks are good, but I think there needs to be more "hidden breaks". Every now and then Kevin will go off on a tangents and tell us about some historical blunder or something. These sorts of tangents are engaging and related. They're good for keeping students attention.

30: writing on the touchscreen of your laptop is a nice way since other lecturers didnt bother to even explain on boards resorting to just using lasers to point out stuffs, so i think ppt + explaining by writing is more than sufficient ;)

The tablet PC is a good tool, with the caveat  that my handwriting is pretty bad - there is not much I can do about that.  Regarding mistakes on the slides, point them out! Otherwise they don't get fixed.

Yes, the balance between boring stuff introductory stuff in depth, and needed background is a difficult line to walk given the varied backgrounds of students.

21. If you used other textbooks other than Tannenbaum (e.g. Silberschatz, Stallings), how do you think they compare to each other? Which gives the best explanations, which has the best structure, etc....

1: -

2: -

3: I used Tannenbaum

4: N/A

5: N/A

6: N/A

7: NA

8: None

9: None

10: Tanenbaum is the best.

11: Tannebaum was great, but somehow it was moved to IT in the business area @ the bookstore. WHAT?! OUTRAGEOUS!

12: Used Wikipedia. Didn

13: didnt use other textbooks

14: n/a

15: na
24. Any suggestions for improving tutorials?

1: * I didn't go to tutorials, but I went through the questions myself anyway, and they were good as an ongoing mini quiz thing to test my understanding of the course material.

2: -

3: - have a lab to introduce OS161 with hands on coding for one tute or something

4: Either more time or less questions, we frequently didn't cover all the material. A lot of people in my tutorial didn't prepare or attend the lectures perhaps and a lot of Dave's questions where left hanging despite being easy or sometime even answered previously. This is quiet frustrating for those who have

5: Good as is!

6: Make them compulsory for extended! *Sometimes* they're useful :)

7: More OS161 related tutorial questions. Probably a few less questions as during most tutorials we ran out of time to complete a few.

8: Most participants appeared scared. Maybe teach us how to hack.

9: N/A

10: N/A

11: N/A

12: NA

13: Need more assignment walkthroughs.

14: No

15: No tutorials - extended.

16: None

17: Not really.

18: Some tutorials had fewer questions which were answered quickly. A few tutorial lasted only about 30 minutes.

19: The last two weeks had lighter loads than the rest, this was both good and bad. It gave us time to talk about the assignment, but left me feeling those topics (security and I/O) were barely covered.

20: The tutor had an excellent knowledge of the course but lacked an ability to encourage students when they gave correct or partially correct answers.

21: The tutorial pages were useful.

22: Tutorials were good. At times we ran out of time. Didn't necessarily like the class participation marking scheme.

23: did cs3891

24: na

25: not really its been totally helpful to me. probably just give a simple weekly non obligatory programming tute as well to help students step by step understand the structure of OS161

26: things should be written on the broad mostly
31. Do you have any specific comments about OS/161

1: -

2: Actually OS wasnt too bad. The lectures did not really refer back to the OS and therefore was quite confused in some areas when it came to using the OS

3: Assignments should NOT be worth less. Giving your mark each give isnt a bad idea though

4: Code itself was hard to read although the comments were quite helpful. The main difficulty was probably the large code base.

5: Everything is good

6: Fun to explore the codebase / how things work in OS/161, once you get used to exploring a largish number of source files.

7: I have significant experience approaching large code bases, yet seemed like an unreasonable expectation for students to get their heads around OS/161 within the span of a single course.

8: It was generally well commented, making it possible to understand if you put in the time.

9: N/A

10: No

11: No

12: None

13: None

14: Sometimes it was unclear whether directions were from this course, or from the creators of the OS (who left it littered with all sorts of 'complete this' comments). It was infrequent, but it did happen. If this course just signed their comments as cs3231, or something similar, it would solve this problem.

15: The course was good, It helped me understand what happens under the hood which is always interesting

16: Thinking that if we can get one with everything implemented.

17: na

18: needs clearer comments

19: no

20: none

21: some comments seem to have been left out for certain data structures. these (very useful) comments were present in the os/161 code distributed by other universities

22: the comments are still not enough to understand the provided code easily. It will be great if some more comments are added for specific assignment.

23: this thing make u mad.. this is hard... really, this things is too BIG!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
34. Any suggestions for improving the assignments?

1: -

2: A little more time would've definitely helped but considering a 12 week semester and 3 weeks per assignment i can't think of a better way maybe lesser weeks for ass1 and a week more added to ass2 and ass3

3: ASST0, 1, 3 were quite alright. ASST2 was a bit confusing. I somehow didn't recall the part of the lecture explaining OS161's VFS and ended up reading/getting lost in the depth of the code for days.

4: Assignment 1 was too unrealistic, which was quite distracting and made the specification really hard to follow. I would have really liked to do the extended assignments but found that I didn't have enough time. Perhaps the extended deadline could be separate from the main assignment.

5: Assignment 3 was clearly marked by someone who had not communicated with the LiC (lecturer in charge). There were lots of marks taken away for things that the LiC said were acceptable or even encouraged. Examples include using an array for the frametable and flushing the tlb instead of using ASIDs. The array for the frametable was particularly upsetting as the wiki instructions used an array, yet it was marked down for not being a linked list...
It was probably marked down for not running the free list through the array, i.e. if you searched instead of order 1 allocated, then you will have lost marks.

6: Assignment structure overall was pretty good. Gave a good practical understanding of the theory covered in lectures. However relating lecture material to OS161 directly was quite difficult as there wasnt too many examples.

7: Asst3 had excellent documentation on the wiki about common pitfalls which really helped. I don't think the first two were as useful (still much better than nothing).

8: Avoid the asst0 and change it into, say, exception handling related practice.

9: Giving detailed answers to guided questions would be great. Also getting the marks back quicker would be good.

10: Make the specification more clear on what the lecturer is expecting from the student.

11: Maybe some of the hints on the wiki could be merged into the main assignment spec page.

12: Mayhaps alittle bit more information with the assignment 3 advanced parts? Of course part of the fun is figuring it out, but paging is pretty scary straight up :P

13: More background knowledge/resources provided, especially for getting started, and for the advanced section too. Also markers who keep in touch with the course. For example, during asst3, some of the feedback we got was that flushing the TLB on a context switch was slow and inefficient, yet the lecturer suggested doing so. The marker also said that we should be using shared pages to be more efficient, yet this was part of the advanced assignment (which we did do, just not in the basic part)
I investigate this a little deeper, as there are degrees of inefficiency. Also, I alway point out you can get a working assignment by simplifying. An excellent assignment that does more than the minimum will alway get more marks. Given that > 50% of the course got greater than 85% on the assignments, I don't think we were too harsh on this at all.

14: More convenient deadlines. It's easier to work all Friday night than all Thursday night

15: More implementation of core features, ASST1 and 2 to a lesser extent, weren't as interesting as 3, because you didn't get to implement anything that important and thus you didn't get as much practical experience in the things taught in the lectures. ASST3 drew upon this knowledge a lot more.

16: N/A

17: Need more comments in the code and hints. Also it will be good if we have a chance to attempt the advanced part of the assignments after exam with reduced bonus (maybe 1-5%).

18: None

19: Should provide more help and introduction to approach each assignments. Assignment 0 and 1 just waste time. Should give assignment 2 and 3 much more time to prepare. Remember we are not doing comp3231 one subject only.

20: The group work style is a problem, the assignment is too much, both in terms of complexity to understand and code to implement for a single person. But there is no easy way to divide the tasks to make group work effective

Actually, we used to do these assignments as individuals - it is nothing to do with the size of the groups, it is about learning how to discuss a large code base with another person - something that any programmer needs to learn.

21: give 4 weeks instead of 3, same due dates but release a bit earlier. i.e. give out asst2 before asst1 is due

22: i felt that ass1 was a good start to starting an assignment on OS161 though ass2 just threw is into the middle of it and expected us to understand how the whole thing worked with just c code and comments. me and my partner spent a lot of time reading with no success in achieving anything. we both attend lectures and tutorials. wiki should maybe have more help and integrated with the appropriate assignment webpage. assignment 3 was fun though unfortunately with everything stacked up to the end of semester, we did not have enough time to complete the project.

23: make a easier individual assignment... as u will still need to understand all parts.. but that's for 2 people... and individual works make u less stress...

24: make it easy

25: more comments on the marking scheme, usually it is not quite clear which implementation is the best

26: more hints

27: na

28: only thing was it was hard to get started so maybe little bit more support on getting started. As for advanced maybe lose the finish basic one week in advanced to encourage more participants.

29: release the assignments earlier to allow more time to understand them. eg. instead of releasing ASST2 after file systems, release it before, then make references to the implementation points during the lectures. Helps understanding if the theory and the implementation are bridged
36. What were the strong points of COMP3891/9283?

1: - Analysis of OS literature felt very hands-on and relevant - Looking at data structures / algorithms used in real-world OSes also felt hands-on

2: Bring up to date issues in the os

3: Deep inside the topics selected.

4: Exposed new and up to date ideas in the current OS world.

5: Extended assignments

6: Extended lectures were great for seeing more implementations of what we learned in the lectures as well as general stuff about Operatings Systems which aren't core material to the course

7: Get to see which students are more "interested" in the course compared to others.

8: Interesting additional material

9: Interesting content that were not assessed on :)

10: Interesting extended lectures Lectures uploaded, also with annotations from the lecture :)

11: Interesting learning more about how real systems operate and other aspects of the course

12: Interesting topics

13: Interesting topics of discussion in the advanced lecture

14: Interesting topics, small discussion-like lectures

15: It had a depth of topic that wasn't the case for the lecture.

16: NA

17: Really liked the topics covered

18: Smaller class, more flexible, more open, less formal, more targeted/interesting

19: The extra lecture was interesting and different to the normal lectures which kept it fun.

20: Very high quality lectures, relevant topics

21: being in a small room, felt like we could engage with the lecturer more.

22: interesting

23: just learning about random stuff

24: lecture on flash memory, lottery scheduling

25: na

26: the extended lecture covered a lot of interesting information.
37. What were the weak points of COMP3891/9283?

1: - Too little time to get a good grasp of the material - Jumped a bit from topic to topic

2: Didn't really learn anything more, no tutorials.

3: It is not as systematic as the general lecture if it is conveyed in lecture form.

4: It was a little bit random, but with 1 hour to cover topics it's hard not to be.

5: Lack of compulsory tutorials.

6: N/A

7: NA

8: Nothing really. Extra lecture > Tutorial. Found myself a little bit in the deep end sometimes, but that is a good thing

9: Other than the extended assignments, no much to develop your knowledge with.

10: Probably could have used some of the tutorials. It seems kind of all or nothing with the tutorials? Also a _lot_ of material is covered o.o hard to study for the exam haha. But the sample questions/sample exam/and tute questions&answers are a great help

11: See below.

12: Sometimes had trouble following the ideas involved, as they could get rather complicated.

13: Topics discussed were not examinable, hence students are not focused on studying the extended part of the course.

14: You couldn't attend the tutorials if you did extended as it was on the same time. I think I would have benefited something from them

15: marked too harshly too little introduction to os161

16: na

17: not covering too much content.

18: some of the random stuff not as interesting and hard to pick up quickly (so eventually one just tunes out)

19: the class was big this semester and we sometimes didn't all fit in the room

This year was a big enrolment. I think a substantial fraction of the enrolment should have stayed with normal OS. This seems to be backed up by two themes above - the desire for tutorials (sorry, I'm not allowed to schedule more that 4 hours for a course, so you have to choose between tuts or extended), and inability to follow or lack of interest in the material. It is an advanced course covering advanced material in depth, if it is too hard or does not interest you, maybe you should be elsewhere where your interests lie.

38. Any suggestions for improving COMP3891/9283 Extended OS?

1: Extended tut questions based on the extended course load maybe?

2: Have plan B for unusual enrollment size before semester started.

3: I think allowing enrolment in tutes would be good. I know that we were meant to understand the tute questions anyway, but there's no harm in having the tute.

4: Make tutorials compulsory, simply because they can make life much easier. Or, at least, make tutorials optional like the postgrad OS course.

5: May improved by introducing more interesting topic.

6: Maybe assess more in extended Also, tutorials should be an option

7: More focus on real-world OSes, more looking at the actual codebase of Linux / other unices / other real-world OSes.

8: More on sections related to advanced assignment to help with doing those

9: N/A

10: NA

11: Needed way cooler topics. VMs were a little interesting, but they needed to be explained in a more passionate way as to why they are interesting. Instead we went straight into OS/161 and how it could be used as a VM/the VM behind it (I cannot really remember, perhaps a testament to my feedback). Also, in the extended lecture about SSDs, I just got completely lost (although maybe I should have asked the lecturer to slow down). Extended just seemed like another lecture, nothing that interesting. Maybe some cool demonstrations of how the theory affects what happens on an actual OS?

12: Needs a tutorial class

13: There should be more materials given to be studied, for example topics of research (i.e. online texts on current topics), and instead of scaling the basic assignments to 100, it should be worth less, perhaps 60%, and the other 40% for advanced topics - maybe quizzes if not going to include in exams. This is because as there are no extended topics covered in exams, there is no way of differentiating knowledge held by extended or basic OS course. (i.e. "Extended" may be given as an additional cool free name in academic statement) Yes, you have hit the conundrum for assessing extended. If the perception has become simply a label on the transcript, then I'll have to assess it separately at the risk of extended students getting less than normal OS students due to the advanced material.

14: make some assignments related to the extended content (i think people learn the content properly when it's hands on)

15: na
40. Do you have any particular comments you would like to make about the exam?

1: (haven't done it yet)

2: -

3: A little bit more content in 2 hours exam, may extend the exam for 1 hour.

4: As with all exams (this can't really be helped), it ends up being a regurgitation of what you've read, there's no real demonstration of your understanding, it's more just what you've managed to remember. Creating an exam that forces you to show your understanding would probably be extremely difficult to get right, so perhaps this is the best way.

5: Didn't like so many T/F qs

6: Exam was a bit too long. Ran out of time need about maybe 15 more minutes?

7: Have not taken the exam yet.

8: Haven't done it yet... Didn't realise when i started the survey :

9: I didn't think it was too difficult but I thought it was one of the more annoying and stressful exams.

10: I enjoyed the FAT question :P

11: I should have studied a bit more. To be honest it probably wasn't too bad if I had put more time in the study. I think I got more out of it than just getting marks in this course I like to here this kind of comment. There is more to uni than marks.

12: I very much didn't like the True/False questions. At times I had more difficulty in trying to interpret what you wanted me to answer, rather than an understanding of the content. Perhaps a short answer (one or two words) would be more useful in determining what people understand.

13: It didn't really feel like I demonstrated all my understanding of OS in the exam, partly because it didn't cover a lot of areas, though it did cover some in more depth instead. But perhaps that's the main goal instead of covering more high level concepts, especially in a 2 hour exam. That being said, short exams are good :)

14: It was a bit short. A 3-hour exam seems more appropriate, after all, quite a lot was taught.

15: It's good that the questions focused on key components of an OS rather than obscure things. Except for the TF questions which is okay I guess

16: NA

17: None

18: Not a fan of the penalisation scheme for the True/False questions but other than that, I thought the exam was well-written and covered the breadth of the course.

19: Overall exam structure was pretty good. The amount of study done because of the theory in the lectures was alot more than what the actually exam covered. More short questions across topic?

20: Overall it was very good and the number of questions (and difficulty of the questions) was very good for the time we were given to complete them.

21: Some true or false questions were too ambigious

22: The exam was well structured and provided the sample questions it was very helpful

23: The final exam is going to negatively affect my final mark regardless of how much work was put into getting a good class mark sure to harmonic mean, and by a lot (I imagine) which kinda sucks

24: The questions were good. I'm glad that in some questions, it isn't expected that students remember every little detail, and prompt students to remember using key words / policy names. e.g. "Differentiate between X and Y" instead of "Describe the policies learnt to do X". It makes it much better, especially considering how much material is covered in the course.

25: There are too much topics covered in the course to be examined in the exam, hence the questions posted in the exams might not resemble the "real" knowledge held by the students. Explaining OS topics in the exams very completely (to get full marks) requires a lot of memory. Perhaps questions asked could be more towards looking at the understanding. For example, illustrate and explain how virtual file systems work considering one of the four allocation methods discussed in lectures, draw graphs to clarify further. Hence this way the exams could be open book. The reason exams should weigh less than the assignments is because most of the "learning" occurs through doing the assignments, and personally I think the knowledge that will stick with me in the future is the practical part.

26: assignments worth 50% -> spent 50-60 hours (did a few ext parts) exam worth 50% -> 2 hours + study (which was not 50 hours worth of study) seems imbalanced

27: broad coverage

28: multichoice instead of true/false, no negative marking.

29: none

30: nothing

31: release more sample questions to practice before the exam

32: some times it was hard to ensure that one answered the question which was desired to be asked.

33: the True/False question... -1 marks if u make a wrong answer... omg, then ever though u got 17 qs right, other 8 wrong, u got 9 marks only... that really not fair...

The T/F section is meant to be the hard part of the exam. The questions are tricky and are not ambigious if you know the material well. The questions are designed that way. The negative marking is fair as statistically you get zero for guessing. If you don't know the answer, leave it blank. It is also the scection that tries to cover the breadth of the course.

Regarding difficulty, 30% of the course got > 80%, and the average was 71% so the exam was not too hard - it may have been a little too easy if anything.

Summarising the main minor issues.

  • Look into the assessment for extended next year, and how to more clearly articulate the intended target audience.
  • Check that assignment 3 is marked consistently with what I say - I'm pretty sure it is, but I'll check anyway.

2003-2004, phpSurvey