Thanks to all for giving feedback - below is the result of the survey, with only identities censored. My comments are in red.
Survey ID1315
TitleCOMP3231/3891/9201/9283 12s1
Fill Ratio79% (78/99)
# Filled78
# Suspended1
# Not Filled20
(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 53 (68%) 25 (32%) (0%) (0%) (0%) 0 (0%)
Lecturer: Leonid Ryzhyk (10%) 23 (29%) 29 (37%) 15 (19%) (3%) 1 (1%)
General OS lectures 29 (37%) 40 (51%) (12%) (0%) (0%) 0 (0%)
Consultations 12 (15%) 16 (21%) 38 (49%) (0%) (0%) 12 (15%)
Your tutor 32 (41%) 17 (22%) 15 (19%) (6%) (0%) 9 (12%)
Tutorials 25 (32%) 23 (29%) 18 (23%) (5%) (1%) 7 (9%)
Asst1: Synchronisation 38 (49%) 28 (36%) 11 (14%) (1%) (0%) 0 (0%)
Asst2: Syscalls 33 (42%) 32 (41%) 12 (15%) (0%) (0%) 1 (1%)
Asst3: Virtual Memory 31 (40%) 22 (28%) 16 (21%) (5%) (6%) 0 (0%)
Textbook 23 (29%) 21 (27%) 23 (29%) (5%) (1%) 6 (8%)
OS/161 In general 28 (36%) 37 (47%) 10 (13%) (3%) (1%) 0 (0%)
C Language 38 (49%) 23 (29%) 11 (14%) (5%) (1%) 1 (1%)
Computing resources 31 (40%) 27 (35%) 17 (22%) (3%) (0%) 1 (1%)
Course web page 29 (37%) 36 (46%) 13 (17%) (0%) (0%) 0 (0%)
Message Board 24 (31%) 18 (23%) 27 (35%) (9%) (1%) 1 (1%)
Wiki 22 (28%) 27 (35%) 24 (31%) (4%) (1%) 1 (1%)
Help with technical questions 20 (26%) 24 (31%) 24 (31%) (5%) (1%) 5 (6%)
Lecture slides 28 (36%) 36 (46%) 11 (14%) (4%) (0%) 0 (0%)
Operating Systems overall 31 (40%) 38 (49%) (9%) (1%) (1%) 0 (0%)
A small positive improvement compared to last year, if anything. Nothing particularly worrisome.
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 44 (56%) 27 (35%) (9%) 0 (0%)
Chance to get hands dirty with low-level code 39 (50%) 26 (33%) 13 (17%) 0 (0%)
Jobs propects for OS hackers 13 (17%) 30 (38%) 35 (45%) 0 (0%)
Would llike to do OS research 14 (18%) 32 (41%) 32 (41%) 0 (0%)
Course is core for me 26 (33%) (8%) 46 (59%) 0 (0%)
Friends told me it was good 31 (40%) 19 (24%) 28 (36%) 0 (0%)
Chance to do challenging programming assignments 38 (49%) 26 (33%) 14 (18%) 0 (0%)
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 69 (88%) chart
No (12%) chart
N/F 0 (0%)
Again similar to previous years.
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 (3%) 16 (21%) 57 (73%) (4%) (0%) 0 (0%)
Low-level (implementation) issues (3%) 14 (18%) 47 (60%) 10 (13%) (6%) 0 (0%)
Unix/Linux (3%) (9%) 54 (69%) 13 (17%) (3%) 0 (0%)
Windows NT (0%) (8%) 45 (58%) 18 (23%) (12%) 0 (0%)
OS/161 Internals (1%) 12 (15%) 47 (60%) 13 (17%) (6%) 0 (0%)
Other Systems (0%) (3%) 55 (71%) 18 (23%) (4%) 0 (0%)
6. What were the best things about this course?

Question type : Long-answer

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

Question type : Long-answer

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

Question type : Single answer -- Radio Button


COMP courses (0%) (3%) 31 (40%) 29 (37%) 15 (19%) 1 (1%)
INFS courses (3%) (3%) 20 (26%) 16 (21%) 22 (28%) 16 (21%)
Courses in general (1%) (3%) 16 (21%) 31 (40%) 23 (29%) 5 (6%)
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 46 (59%) 21 (27%) (9%) (3%) (0%) (3%) 0 (0%)
Tutorials 37 (47%) 14 (18%) (10%) (3%) (0%) 16 (21%) 1 (1%)
Consultations 15 (19%) (6%) (9%) (0%) (0%) 48 (62%) 3 (4%)
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 40 (51%) 25 (32%) (12%) (3%) (0%) 2 (3%)
COMP courses in general 36 (46%) 30 (38%) 10 (13%) (0%) (0%) 2 (3%)
Courses in general 41 (53%) 29 (37%) (8%) (1%) (0%) 1 (1%)
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 (59 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 12 (15%)
Processes (6%)
Threads (10%)
Low-level implementations issues 27 (35%)
Synchonisation and concurrency 17 (22%)
Deadlock (5%)
Memory Management and Virtual Memory 45 (58%)
File Systems 29 (37%)
I/O Management 10 (13%)
Scheduling (5%)
Multiprocessor Systems 20 (26%)
Security (8%)
Generally consistent with past years
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 (69 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 (48 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 (48 comments)
4. Lectures
16. Is the current mode of lecture delivery, using computer-projected slides, effective?

Question type : Single answer -- Radio Button

Yes 75 (96%) chart
No (4%) chart
N/F 0 (0%)
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 20 (26%) chart
Most of the time 52 (67%) chart
Sometimes (6%) chart
Rarely (0%) chart
Never (1%) chart
N/F 0 (0%)

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 22 (28%) chart
Most of the time 37 (47%) chart
Sometimes 11 (14%) chart
Rarely (3%) chart
Never (0%) chart
N/A (8%) chart
N/F 0 (0%)
Seems I coherent most of the time :-)
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 (37 comments)
20. Any suggestions for improving lectures?

Question type : Long-answer

Answer at the bottom page (48 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 (17 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

A small uptick in the stats this year.
  Strongly Agree
Strongly Disagree N/A N/F
The tutorials helped me understand the material 31 (40%) 16 (21%) (8%) (1%) (3%) 18 (23%) 4 (5%)
The questions were appropriately timed 15 (19%) 26 (33%) 15 (19%) (1%) (0%) 18 (23%) 3 (4%)
The questions were of appropriate difficulty 19 (24%) 23 (29%) 15 (19%) (1%) (0%) 17 (22%) 3 (4%)
The questions should have increased difficulty (5%) (12%) 29 (37%) 12 (15%) (5%) 17 (22%) 3 (4%)
The number of questions was appropriate 11 (14%) 30 (38%) 13 (17%) (5%) (0%) 17 (22%) 3 (4%)
The number of questions should be expanded (3%) 10 (13%) 28 (36%) 13 (17%) (6%) 17 (22%) 3 (4%)
I always prepared for the tutorials (12%) 10 (13%) 19 (24%) 13 (17%) (5%) 20 (26%) 3 (4%)
Preparation beforehand improved my understanding of the material 19 (24%) 22 (28%) 11 (14%) (1%) (1%) 19 (24%) 5 (6%)
Class participation is important for understanding the material 20 (26%) 18 (23%) 17 (22%) (1%) (1%) 17 (22%) 4 (5%)
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
(10%) (6%) (5%) (0%) (1%) 53 (68%) 7 (9%)
Tutor B
21 (27%) (6%) (4%) (1%) (1%) 41 (53%) 6 (8%)
Tutor C
(6%) (4%) (3%) (3%) (4%) 58 (74%) 5 (6%)
24. Any suggestions for improving tutorials?

Question type : Long-answer

Answer at the bottom page (36 comments)
Tutor C seems to be a divisive character, with a pretty flat distribution between excellent and poor. I'll make sure he gets the feedback.
6. Assignments
25. Please rate the level of difficulty of the assignments

Question type : Single answer -- Radio Button
Pretty similar to previous years: start easy, finish hard.
  Too easy
Just right
Too difficult N/F
Asst1: Synchonisation (10%) 23 (29%) 40 (51%) (9%) (0%) 0 (0%)
Asst2: System Calls (0%) (5%) 48 (62%) 25 (32%) (1%) 0 (0%)
Asst3: Virtual Memory (0%) (3%) 27 (35%) 31 (40%) 18 (23%) 0 (0%)
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
I think I need a different question next year to find out if asst3 is confusing because it is simply hard?
  Very clearly
Confusing N/F
Asst1: Synchonisation 35 (45%) 16 (21%) 22 (28%) (5%) (1%) 0 (0%)
Asst2: System Calls 16 (21%) 20 (26%) 21 (27%) 17 (22%) (5%) 0 (0%)
Asst3: Virtual Memory (9%) 19 (24%) 20 (26%) 18 (23%) 14 (18%) 0 (0%)
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 38 (49%) 22 (28%) 15 (19%) (3%) (1%) 0 (0%)
Asst2: System Calls 14 (18%) 32 (41%) 20 (26%) (10%) (5%) 0 (0%)
Asst3: Virtual Memory 14 (18%) 23 (29%) 21 (27%) 13 (17%) (8%) 1 (1%)
28. Rate which factors (if applicable to you) contributed to the assignments being difficult in your eyes

Question type : Single answer -- Radio Button
Similar to previous years
No N/A N/F
Topics are conceptually difficult 11 (14%) 15 (19%) 24 (31%) (10%) 16 (21%) (3%) 2 (3%)
Implementation is difficult 17 (22%) 23 (29%) 15 (19%) (9%) 11 (14%) (3%) 3 (4%)
Lack of familiarity with C (8%) (10%) 18 (23%) (12%) 33 (42%) (4%) 1 (1%)
Lack of experience with a large code base 16 (21%) 19 (24%) 13 (17%) (9%) 19 (24%) (3%) 2 (3%)
Lack of experience debugging C 14 (18%) 14 (18%) 19 (24%) 10 (13%) 17 (22%) (4%) 1 (1%)
Lack of previous low-level programming (6%) 12 (15%) 23 (29%) 12 (15%) 22 (28%) (4%) 1 (1%)
Lack of familiarity of programming on the UNIX OS (10%) 13 (17%) 11 (14%) (12%) 34 (44%) (3%) 1 (1%)
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? (4%) (1%) 14 (18%) 22 (28%) 36 (46%) 2 (3%)
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
A general resisitance to change, and confirmation the existing setup works  satisfactorily.
  Strongly Agree Agree In-between Disagree Strongly Disagree N/A N/F
ASST0 should be kept as a warm-up 45 (58%) 24 (31%) (6%) (4%) (1%) (0%) 0 (0%)
I found ASST0 useful to get started 38 (49%) 22 (28%) 11 (14%) (9%) (0%) (0%) 0 (0%)
The guided questions in the assigments are useful 21 (27%) 36 (46%) 17 (22%) (4%) (1%) (0%) 0 (0%)
I mostly ignored the guided question part of the assignment an just got started (3%) 13 (17%) 17 (22%) 30 (38%) 14 (18%) (3%) 0 (0%)
ASST2 helped me warm up for ASST3 (3%) 28 (36%) 26 (33%) 16 (21%) (6%) (1%) 0 (0%)
Fork() should be put back in ASST2 12 (15%) (9%) 16 (21%) 23 (29%) 12 (15%) (10%) 0 (0%)
Three weeks is enough to attempt an individual assignment 16 (21%) 23 (29%) 24 (31%) (12%) (8%) (0%) 0 (0%)
The assignment -related questions should be dropped from the tutorials (0%) (6%) 10 (13%) 31 (40%) 22 (28%) 10 (13%) 0 (0%)
I found the extra lecture on ASST3 useful 26 (33%) 32 (41%) (9%) (4%) (0%) 10 (13%) 0 (0%)
The assignments should be worth less of the assessment of the course (4%) (8%) 23 (29%) 21 (27%) 25 (32%) (0%) 0 (0%)
The assignments should be completely automarked to have them marked quicker (3%) (9%) 20 (26%) 28 (36%) 20 (26%) (1%) 0 (0%)
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 (8%) 10 (13%) 20 (26%) 24 (31%) 16 (21%) (3%) 0 (0%)
Complete give submission testing should only be done for the advanced assignments (3%) 12 (15%) 17 (22%) 25 (32%) (12%) 13 (17%) 0 (0%)
31. Do you have any specific comments about OS/161

Question type : Long-answer

Answer at the bottom page (36 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 36 (46%) 20 (26%) 12 (15%) (8%) (5%) 0 (0%)
Groups reduce the assignment workload 28 (36%) 21 (27%) 19 (24%) (6%) (6%) 0 (0%)
Groups should be optional, but every submission is marked the same 15 (19%) 19 (24%) 30 (38%) (6%) (12%) 0 (0%)
Groups are unfair as inevitably one member does all the work (12%) 20 (26%) 22 (28%) 19 (24%) (10%) 0 (0%)
Larger groups would be better (9%) (12%) (9%) 20 (26%) 35 (45%) 0 (0%)
Having a partner to help understand the assignment really helps 35 (45%) 25 (32%) 14 (18%) (1%) (4%) 0 (0%)
33. What do you think of the advanced assignments?

Question type : Single answer -- Radio Button

Great Idea! 28 (36%) chart

12 (15%) chart
Don't care 33 (42%) chart

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

Question type : Long-answer

Answer at the bottom page (47 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 16 (21%) chart

(12%) chart
Average (10%) chart

(0%) chart
Poor (1%) chart
N/A (4%) chart
N/F 41 (53%)
36. What were the strong points of COMP3891/9283?

Question type : Long-answer

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

Question type : Long-answer

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

Question type : Long-answer

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

Question type : Single answer -- Radio Button
General take-away is the exam is probably a little easy, except for the True/False part which is by design.

Might be time to crank up the degree of difficulty next year :-)
  Strongly Agree Agree Neutral Disagree Strongly Disagree N/F
The exam overall was too hard (3%) (10%) 32 (41%) 24 (31%) (9%) 5 (6%)
The exam overall was too short - i.e. it should be 3 hours (4%) (9%) 23 (29%) 25 (32%) 16 (21%) 4 (5%)
The exam should contain more True/False questions (0%) (9%) 25 (32%) 29 (37%) 12 (15%) 5 (6%)
The exam gave me the oppurtunity to demonstrate my understanding of operating systems 14 (18%) 42 (54%) 13 (17%) (3%) (1%) 6 (8%)
I think my exam result will be representative of my operating systems knowledge 12 (15%) 37 (47%) 15 (19%) (9%) (1%) 6 (8%)
The final assessment should be weight ed more towards the exam (9%) (10%) 23 (29%) 21 (27%) 12 (15%) 7 (9%)
40. Do you have any particular comments you would like to make about the exam?

Question type : Long-answer

Answer at the bottom page (43 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 (4%) chart

(8%) chart
Just right 65 (83%) chart

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

Question type : Single answer -- Radio Button

HD 15 (19%) chart
DN 27 (35%) chart
CR 24 (31%) chart
PS (9%) chart
FL (0%) chart
No Idea (5%) chart
N/F 1 (1%)

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

1: Former working experience

2: I feel the concepts taught are really fundamentals (memory management, etc), and it was basically necessary material for any sort of technical mastery

3: Challenge myself

4: It is essential to know OS as a CSE student

5: No

6: I thought that it would have been a useful course to gain experience with large code bases.

7: I visited one of the lectures when I wasn

8: I work on seL4 verification, figured I should learn about OS

9: I am computer science student. I felt if I can only program application programs and dont know what is going on under the hood specially how the OS organise and handle things, I would always miss something that I should have learned at Uni.

10: None

11: None

12: The mystery between hardware and software interface.

13: Core subject

14: i have to restate the "friends told me it was good thing"

15: Seemed like an important subject to get knowledge on

16: curiosity

17: If not study OS, you can't say you have learned computer science!!!

18: I work on l4.verified on the verification side, but I didn't really know the technical details of the actual OS so sometimes things got a bit confusing.

19: Enjoyed previous programming courses

20: Friend

21: No

22: I needed an awesome course to counter-balance the shitty courses I had to endure this semester. I also had an awesome assignment partner going into the course.

23: comp2121

24: Wanna go Microsoft

25: Use for Embedded Systems

26: OS is the basic knowledge for a postgraduate to learn more.

27: Deepen the understanding of how computers work in various ways, in which one of them were to look at how OS works
6. What were the best things about this course?

1: The lecture explained the materias really well, also the tutorials.

2: Good overall knowledge on the field of OS, as well as some interesting historical info. Very good lecturer.

3: Really nice lecture notes. Interesting assignments. The live demonstrations of algorithms in lectures are really useful.

4: OS/161 System

5: Challenging, interesting and low level.

6: to have a chance to program and modify and test OS kernel

7: The course content + the assignments

8: Interesting challenging assignments. Lecturers were engaged and knowledgeable about the subject material.

9: The organisation and structure.

10: Theoratically teaching combined with practical experiences !

11: Multithreading and deadlocks

12: I really enjoyed learning about the internals of an operating system. In particular, the real world examples of what we were studying and how they are used in linux/windows. Dealing with the large code base definitely made me a more competent programmer and also improved the way i think of solving problems.

13: It was interesting to see how operating systems actually work under the hood, the EOS lectures were fun because of the more relaxed atmosphere.

14: learning how a kernel works, especially the hands on experience with OS/161 code.

15: learning about what the OS actually works

16: Cleared up a lot of implementational issues.

17: assignments

18: Assignments.

19: Learning more about Linux which helps in many other areas of computing. Assignments were challenging but worth the effort.

20: The content on operating systems. :P

21: Tutorials. Tutor was very informative. I liked the MIPS based material, but that's probably because I'm a computer engineer.

22: OS are really interesting. Playing around with OS161 and seeing how it works is fun.

23: Great teaching, great assignments, interesting work.

24: I loved the concepts and simple algorithms.

25: good tut ~ and lecture

26: assignments are fantastic that I could apply the theoretical knowledge into implementation

27: Programming assignments were relevant to content, content was interesting

28: Its a good OS course to start off.

29: The challenging assignments and low-level coding

30: Enthusiastic lecturers/tutors

31: Subject matter is pretty interesting. Different challenges to my other courses.

32: challenging and very rewarding. tuts were also awesome. Dave is an amazing tutor!

33: In depth understanding of OS concepts

34: The assignments were really detailed and allowed application of many concepts taught in lectures

35: - Kevin is an excellent lecturer - The course is challenging and really interesting - Group work is a good idea and CompSci lacks in it overall

36: quality of teaching, course content gave good coverage of the field.

37: Materials are interesting and assignments are relevent

38: Extension Lectures. Assignments.

39: I like the variety of content, and I learnt a lot.

40: OS implementation details

41: I found that I learnt A LOT of information very quickly, the course was quite interesting and had some interesting content.

42: The assignments were fun and the content was really interesting - It was refreshing to escape the massive abstractions of other courses to discuss low level stuff.

43: Assignments - they really helped to understand the material.

44: A fantastic introduction to how an OS works and actually working on implementing parts of the OS.

45: Interesting content, challenging but achievable assignments

46: It was quite interesting and very challenging, if you like that sort of thing.

47: Without sounding generic, fundamentals like memory management (virtual to physical translation, etc), and the interaction between user-level and kernel code. Also, the interaction between hardware and software (i.e. RAM size + paging, memory management, etc) was vital.

48: Hands on experience with an OS system

49: The highlights were the interesting content, and also challenge to program the assignments.

50: Lectures and assignments were among the best even within CSE itself. Lecturers and tutors are also helpful.

51: Content. Tutorials were good for re-enforcing knowledges

52: the slides

53: Interesting topics and challenging assignments.

54: Know how the whole system works

55: The joy of pressing the compile button after 30h of work and realising you passed the test. Improved my work ethics in general, coping better with pressure.

56: Kevin as th lecturer and his sense of enthusiasm with the subject. Not too much information overload. Finally dealing with some real issue not just theoretics.

57: Low level understanding of OS

58: The requirement of answering questions in tutorials in order to gain attendance mark really helped me in doing weekly revision.


60: In-depth coverage of OS internals, and opportunity to actually code parts of the OS (if I wasn't doing 4 other courses in the same semester...)

61: Really well planned out lectures. Kevin was also able to provide many different examples to explain one topic. This really helped. Also all the topics were interesting because you could relate it to real world examples. Especially the security lectures.

62: Good look into the workings of an OS and the principles behind one.

63: Everything! Best course ever.

64: tutorials. my tutor was great and it helped a lot to discuss the topics of the course for an hour each week.

65: The lecturer was very good. Communicated topics clearly.

66: Good real world references. We can see how OS's are used in the real world.

67: - The assignments were challenging and rewarding. - The content was thoroughly interesting and well taught - The extended content was also very interesting and gave me further insight into operating systems - The advanced assignments were also extremely rewarding, and I feel that the weighting for their marks were correct - Having extra (bonus) marks available was a very good system - The 10% bouns for finishing assignments a week early was a good lot of fun

68: Learning about synchronization, deadlocks, virtual memory and physical memory.

69: Get to learn how OS works in general

70: Interesting Lecturer, nice content, great assignments

71: Challenging and relevant. Taught me a lot about low-level software. I could also finally understand the stuff the NICTA guys are talking about when they hype up the L4 microkernel and why that was amazing.

72: Teaching the concepts of OS in every aspects. Great assignments which helped understanding.
7. What were the worst things about this course?

1: The assignments were hard and often involved many hours fixing a small issue that was overlooked because of the unfamiliar environment. This certainly tests one's patients.

2: Didn't like the large lectures, I just learnt from the textbook. I would like to have more discussion on modern OS work (microkernels, security models etc.) without having to do AOS.
Interesting, given the diverse background of students it is hard to go into much more depth. I wonder what the issue is here in doing AOS given you have the interest?

3: Nothing really. Its more the last assignment that needed to be addressed a bit more but it certainly is not the worst thing about this course.

4: - Leonid (sorry, I just found him boring/harder to understand but I'm probably just really critical) - Group work, although good, had it's disadvantages. Maybe you should provide suggestions for how one could *fairly* divide up the work? Sometimes it ends up with one doing more the other.

5: timing of assignments whiteboard lecture didn't get notes put up

6: Too much content in lectures, a lot of rote learning as opposed to problem solving.

7: the lecture room and lack of ventilation

8: The amount of preparatory reading required for assignment. This grew tedious and misled a fair bit about the amount of work required to finish an assignment (got hit with this problem big time on assignment 3).

9: A lot of implementation left to own devices, very unsure of correct operation

10: N/A. It was overall a good course.

11: Too much technical coding and not enough explanation. I found myself lost in all 3 assignments

12: There is very little help in the assignments. The lecture about assignment 3 should of also be done for the first 2 assignments. There should also be code walkthrough for 3231 students.

13: I would of liked there to be labs. The tutorials were extremely helpful when dealing with assignments, however I could of benefited more from occasional labs where tutors could provide more direct assistance with os161.

14: Assignments are deceptively tricky. Keyword deceptively.

15: Parts of the assignment specifications were sometimes hard to interpret(Perhaps personally). (e.g. What the output for asst3 would look like).

16: SVN. HATE IT. Assignments a little hard. There are too many files and code to understand with not enough guidance.

17: EXT material was a bit dry. A lot to take in.

18: the assignments are difficult

19: The reading time is way too much. I spent maybe 25 hours reading code for the last assignment. But I am not very good with this kind of thing so I am sure I would have been one of the slow ones here.

20: The assignments were deceptive in that it didn't sound like there was a lot to do but it took a long time to understand the code and hence submitting on time.

21: Very time consuming.

22: Not much, just a fair amount of work.

23: lack of assignment related examples

24: Staying up to date with OS (because I had heaps of work in another course)

25: Having a project group partner with low C competence.

26: assignment too less hint to start. some time cant even start the assignment and dont know how to start

27: Only having tutorial questions 2 days before the first tutorial. While having the lecture slides for the lecture is not necessarily required, having them within 2-3 days allows for more effective consolidation

28: Assignments were a bit too tough.

29: - The assignment marks take quite a while to come back - The advanced assignment marks take an extremely long time to come back. There should be a deadline on when students are required to present their solutions. - Marks above the cap in assignments didn't carry over to other assignments/the exam - The "bonus" two marks in the test were actually two marks required to get full marks. I.e. they weren't bonus marks, rather they the easiest question on the test

30: Too much memorisation involved for exam Disparity between content of lectures and that of assignments - assignments only tested implementation of basic concepts; difficulty was mainly in understanding how to work with existing code; would be nice if there was challenging implementation of OS-relevant data structures/algorithms

31: Assignments can be a time sink. I easily invested more than 20h for each assignment (was worth it though).

32: Assignment submission deadline encouraged all-nighters

33: assignment 3 is too hard to debug and we have too little time to focus on it since a lot other subjects' assns were also due on same week. Also, the textbook covers so little stuff about the VM compares what we learned in lecture. I'd like to know its reference that might be helpful to exam and assignment 3.

34: A lack of practical examples (ie. looking at code for implementations of certain OS features) which unfortunately seems impractical given the breadth of subjects covered in the course.

35: sometimes i find lecture Leonid's accent is a bit hard to understand

36: too few tips to how to start the asssignment

37: Lectures aren't exactly exciting.

38: Assignment 3 was too hard. It was just a really hard course, and tough to keep up with, but the standard really seemed to shoot up at the end. Pretty intense.

39: Assignment 3 was too heavy on the weighting.

40: Lack of help with the assignments.

41: tut is boring

42: Some of the teaching materials are out of date. Some topics could be more cutting edge.

43: The exam paper. Sure, there are marks for doing things correctly, but lets be honest, it didn't need to be that complicated!

44: It feels like there's too much stuff to memorise

45: Part not covered by assignments will be the weak points

46: There is no lab tutorial

47: Assignments takes too much reading

48: Switching lecturers for File Systems.

49: The langue c... I spent hours with stupid c bugs...

50: As with most computing courses I feel that lectures are a little too fast paced and has not enough examples.

51: There was not enough written information about the programming assignments. I had to find good one from the internet from another university.

52: File systems was really dry. Not sure if you can make it less dry. Also I felt like that whole I/O interrupt lecture was kind of thrown in there and not really referenced after that week.

53: The group assignments - none of the assignments were really hard enough to warrant needed to work as a team.

54: * 3 hours lecture (hard to maintain concentration) * Lecture slides were too verbose

55: Memorising question answers for the exam...

56: The lecture notes for extended are a tad lacking in places. High workload I guess.

57: Assignments - you're screwed unless you understand the material.
I would hope this is true of all courses????

58: There was SO much content in some parts that it was almost impossible to keep up. Towards the end of the course I found myself falling behind due to other commitments, making the final assignment difficult to complete.

59: Nothing that I can think of!

60: Final VM assignment was hard to understand.

61: Very little.

62: the virtual memory assignment was a killer

63: Assignment released too late.

64: Friday 8am deadline; it'd be better if it were a Saturday 8am deadline, because Friday all-nighters are easier than Thursday all-nighters --- not that I'm suggesting we do things at the last minute, of course. :P

65: I felt the basic OS lectures were generally a bit slow. I also found that although Leonid was very smart, I did find him harder to understand (generally quieter, not as much of a lecturing voice, accent), especially considering all the jargon the file system part of the course ends up having. I think the lectures should have covered more details about OS/161 in relation to the assignments.

The last assignment is hard, by choice, some people don't like it, others think it's too easy. In general, the marks for the assignments are quite high, so I don't beleive it disadvantages students to work a little in order to get some practical experience.

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: Nothing I can think of.

2: Some C background knowledge since I haven't touched C in a while. But it wasn't too hard to pick up on it as I went.

3: I found that the introduction of page tables and TLB's was quite fast for me to fully comprehend. Although the course did teach this, so there is no need for a pre-requisite, I found that it was a very important concept that needed more time spent on understanding in lectures, I found my assignment partner picked it up better then I did and he was able to help me understand.

4: Perhaps more low level C coding, ie calling functions from other files, make files, more C programming

5: almost everything I was taught in this course I didn't really know anything/close to nothing about before I took it. The pre-requisites are 'suitable' but I don't think comp2121 is necessary, although helpful.

6: Assembly language, some basic hardware knowledge would help.

7: Nope.

8: I think the official pre-requisites are fine as they are.

9: Pre-requisites are fine. As with background knowledge, it wasn't so much that I didn't know how to code or didn't understand, it was more that the information was spread across many files and hard to link.

10: I hadn't done COMP2121 though I did have some experience with machine code. I found this to be suitable preparation.

11: current pre-requisites are adequate

12: Knowledge of computer architecture would probably have helped me to gain a deeper understanding. The pre-requisite (comp2121) doesn't really cover it (that course is just some boring assembly programming). comp3151 would have made a better prereq.

13: They are suitable.

14: No background knowledge besides first year C is required.

15: N/A

16: My background knowledge I felt was adequate to not be disadvantaged.

17: Personally, I felt the background knowledge I had was fine for this course. However I would be more interested to know how the architecture of OS161 was formed virtually.

18: Experience with handling a large code base which isn't entirely your own would be a great help before entering this course.

19: No. The official pre-requisites is good enough

20: I was very rusty with C. I wish I had known in advance just how important it was for me to go back and learn debugging etc.

21: Coming from electrical engineering, I felt I lacked a lot of the 2nd year education offered from computing courses, apart from understanding Assembly.

22: Maybe if I had understood 2121 better, and had a better grasp of all the low-level concepts... But even that probably wouldn't have helped as much as I think. It's just really hard!

23: how compilers work and practical experience

24: Official perquisite is good!

25: SVN.. always have issues..zzz we always went to consultation to solve svn problem

26: COMP2121 isn't really needed as a prerequisite.

27: official pre-requisites are suitable preparation

28: There wasn't any background knowledge necessary besides first year computing. One thing I would recommend is to remove COMP2121 as a prerequisite so that Bioinformatics student don't have to do COMP2121 to do OS like I had to.

29: Nothing. The official pre-requisites are completely suitable.

30: N/A

31: Since I studied c programming in first year I felt a little behind when trying to understand os/161 source code. A refresher task/crash course in C at the start of the course would have been beneficial.

32: Official prerequisites are not enough. A C coding course other than 1917 or 1911 + 1921 might be necessary.

33: Pre-reqs were definitely adequate.

34: I did not find there was anything missing. I had done the standard poorly-taught 2121 prereq, and I don't actually think it helped more than a little. Generally the lectures in 3891 were good enough to cover what was needed - the main skill which I had (not from uni courses, but from experience) that I feel helped was working with large codebases.

35: The pre-requisites are suitable and helpful. I lacked memory allocation background specially grabbing physical memory (without kmalloc()), it was very hard for me to understand that concept perhaps it is because this is the first time I am exposed into it. If I were exposed a little bit earlier it would have been better.

36: Having not done the prereqs or any comp courses at all beyond 1927, this course explained everything I needed to know in terms of requisite knowledge.

37: None. COMP1927 is plenty.

38: I believe the C and assembly language already learnt is adequate.

39: The official prereqs were all sufficient, no additional background knowledge required.

40: how the hardware link with others

41: Using Eclipse(making open declaration(the jumping to definition thing) work was troublesome. However I guess it's reasonable to assume knowing that for 3rd yearr CSE students.

42: There are some thing in C that is not covered from comp1927. For example the bitwise functions and macros in C.

43: None. The official pre-requisites are a suitable preparation.

44: Official pre-requisites are enough. Don't think we need other background knowledge since its an introductory course which goes into detail as we move on. Perhaps just self study before the course will definitely help!

45: The official pre-reqs are adequate

46: Suitable pre-requisites

47: Doing this course along with COMP3211 (Computer Architecture) was very helpful.

48: I felt I had adequate knowledge coming into the course

49: Not really, the official pre requisites are enough preparation

50: Wider knowledge of hardware devices (e.g. networking devices) and UNIX tools would have helped understanding some of the examples in lectures. Better understanding of computer architecture might have been helpful as well. COMP2121 should be a suitable preparation but it depends on the success of that course...

51: Computer internal thing

52: Some more experience with C - some of the low level stuff (in C) and useful tips like bit-fields are not covered in ELEC2142, since this course is mostly in ARM. Further, some more MIPS experience would have been useful - only time I have seen MIPS before was briefly in COMP1917.

53: I don't know what the official prerequisites are... It is 2121 right? I didn't pay attention in 2121 at all and didn't regret that with respect to this course. I felt that a lot of people already had a lot of knowledge in general that I did not, but I get that going into every non-algorithms course that I do, I always start at the bottom and so feel that this is just me.

54: Pre-requisites seemed sufficient.

55: Definitely, maybe you could even drop the pre-reqs. I did the course without having done COMP2121 and managed fine.

56: some the about about process and threads

57: a quick recap of C would have been helpful

58: The only background knowledge that I was missing was never handling large code bases before. The programming was straightforward because most of it was covered in lectures. I was fine with the pre requisites.

59: None. Yes.

Hmmm, seems a general desire for more comp architecture in COMP2121. Maybe with core course revision process underway in the school we can get more comp arch earlier in the degree. I do spend time and the begining outline what is required. There are lots of material available if you find yourself a little lacking in a particular area. The majority seem to think the pre-reqs are okay.
13. Which material do you think you will be most useful to you in the future?

1: All of it

2: Virtual Memory and File Systems

3: Interaction between userspace and kernel, understanding why simple calls might actually slow down a program, better understanding of threads.

4: General knowledge of how an OS works

5: OS Textbook as well as the Lecture notes

6: Synchronisation and concurrency

7: Synchronisation and concurrency

8: Memory management

9: implementation details

10: File Systems, Threads and memory management

11: None. Well, all of it a little. I intend to spend my time working at a higher level and don't particularly care what happens under the hood, but obviously a bit of an understanding is useful.

12: The Security portion was very handy

13: General knowledge about how OSs work - syscalls, etc.

14: I believe security has a very important role.

15: All of it.

16: Synchronisation and Concurrency

17: textbook

18: sys calls

19: Concurrency

20: Concurrency

21: Synchronisation and concurrency

22: The whole course I think

23: Most of this really - even if it is just an exposure to it, I know/have been made aware of what is happening in the background in the OS.

24: memory and file management. Thread and process models.

25: coding

26: everything is useful.

27: Memory Management and Virtual Memory

28: textbook

29: Probably memory management and scheduling, at least they helped clarifying some misunderstandings I had in my job.

30: Concurrency and low-level stuff

31: Virtual Memory & File Systems

32: Can I say everything? If I had to pick, probably the scheduling.

33: Synchronisation, File Systems

34: Multi-threading

35: file system, synchronizations, memory management

36: the text biik

37: Threading related, File systems, I/O management, and Memory Management.

38: Unsure, though an improved understanding of OSs in general will be very useful

39: I don't feel much of this course will be useful to me in future, beyond my understanding of virtual memory and schedulers.

40: synchronisation, memory management and general knowledge of OS (process/threads etc)

41: Synchonisation and concurrency

42: Synchronisation and deadlocks

43: Threading and deadlocks

44: The understanding of low-level system calls and virtual memory

45: Synchronisation and concurrency

46: memory management

47: I/O Management,Synchronisation, and General Internal view of a working operating system.

48: System Calls

49: Context switches, RT scheduling, concurrency and memory management. Mostly things necessary for embedded systems.

50: Synchonisation and concurrency

51: concurrency

52: Understanding the structure of how an operating system works.

53: Everything

54: Scheduling & VM

55: The knowledge that the magic that I thought was existent in OS implementation because I couldn't figure out how to do it well. I now realise that I was right, everything is just hacks.

56: virtual memory and security

57: Unsure. Not sure where I'll go with CompSci, so any of this might be helpful.

58: Assignments.


60: All of them

61: Pretty much everything. Mainly synchronisation, system calls, threads & memory.

62: Memory management and concurrency

63: Concurrency and related stuff (e.g. deadlock)

64: Security, Low-level implementation issues, Synchronisation and concurrency

65: processes, threads and concurrency

66: Understanding the underlying functionality of a OS and extrapolating it to other fields, such as networks

67: Memory management issues and knowledge of multiprogramming concepts (thrashing, etc)

68: concurrency, memory management, I/O

69: lecture notes
14. What material related to operating systems, but not currently in the course, would you like to have seen covered?

1: none

2: I googled some other universities

3: I'd have liked to have seen more information about how operating systems boot

4: Not sure if there was time for more!

5: I would like to see more of the mobile OS features that are appearing in the world lately. I feel as though this is an upcoming area that may be interesting to study

6: failures/imporvements of operating systems throughout the past few decades

7: Nothing I can think of (I

8: Networking would be interesting.

9: Touching on Displays/GUI would be nice

10: hacking

11: Can't think of one :(

12: All things security. Mainly hardening. How to help protect user level programs from attackers rather than just how to stop that translating into kernel space.

13: no

14: None

15: More computer architecture techniques to combine with operating systems

16: None that I can think of if taking extended lectures into account.

17: A bit more on microkernels, hypervisors, how other OS designs work

18: compiler theory and practical

19: Security - in more depth

20: State of the art OS systems, in the sense of where the field is going currently

21: Can

22: Nothing really springs to mind

23: A bit more on Windows.

24: None

25: Current OS

26: more on driver?

27: towards the end of the course, some comparion between unix and windows in general would give a good overview of current operating systems.

28: Add in some older operating systems (perhaps Classic Mac OS) to show how things have evolved.

29: More on securty

30: More security

31: Can't really think of anything.

32: microkernel design (please!)

33: No idea.

34: N/A

35: N/A

36: Basic C syntax

37: No idea what else there is.

38: Not sure

39: Power management

40: N/A

41: A focus on embedded operating systems on small devices like consumer electronics/phones

42: It would be cool to have an assignment on security. Make us hacking into the os to learn about it.

43: Some more UNIX/WINDOWS things that related to reality

44: More real world applications if possible. Teach more OS hacks =D

45: Can we use the knowledge from OS to improve the preformance of programs in general?

46: not sure yet

47: User-level device drivers, Flash fs in detail, power management

48: I'm not that knowledgeable in OS to suggest one
15. Which of the current topics would you like to see scaled back or excluded?

1: It's all pretty good.

2: File systems.

3: IO management

4: I/O management.

5: security, may be in another course

6: System calls

7: None

8: They are fine as they are.

9: None

10: None

11: None

12: Security, feels slightly rushed and out of place

13: I think everything included in this course is enough. All the critical things are taught.

14: Reference to Windows

15: security is excluded.

16: The file systems topic was quite hard to learn

17: Not so much hardware-specific details

18: Disk arm scheduling algorithm

19: Less material on file systems, there was a lot to learn

20: None.

21: security

22: N/A

23: thresds

24: None

25: Memory management (it was good, but a bit too much).

26: None

27: None

28: None

29: Low level implementation issues

30: Scheduling is relative easy, and should go through faster

31: security is possibly not needed, since they seem to be covered in much details in other courses. It also doesnt seem relevant to what we have been doing for the first 11 weeks.

32: Scheduling (too much stuff to cover)

33: file systems

34: None.

35: N/A

36: I/O Management & Multiprocessor Systems

37: Security

38: concurrency, security (didn't have time to appreciate it anyway)

39: None.

40: none

41: I thought all topics are well done. Except the I/O from a keyboard slide. That was probably unnecessary.

42: Low level

43: File Systems

44: None, I think they're all important...

45: I found there was a lot to cover in file systems and memory management. I feel this is an important area so it requires a lot of content but it was very hard to keep up

46: Not sure. The topics i disliked and found hard are pretty crucial.

47: They are all good.

48: I feel the topics were relatively well balanced (perhaps a tiny bit too much on synchronisation -- simply in terms of most relevance to most amount of people, I personally didn't mind)

I/O is actually my choice for some improvement. I think it is a little too long for the material covered.
19. If you have not been attending lectures, what factors influenced your decision not to attend?

1: timing - i'm a morning person!

2: I attended about half the lectures. The travel time is the biggest concern to me (as I get motion sickness from even short trips). The lectures I did attend were generally helpful.

3: assignment deadline approaches.

4: N/A

5: N/A

6: N/A

7: I often find myself zoning out too often...

8: N/A

9: Lectures were slow, examples far too lengthy

10: Toward the end I skipped a lot because I felt like I was falling behind and just needed to catch up/stay afloat, and that trying to keep up with more content would just overwhelm me...

11: Assignments and things due that took priority.

12: fell asleep often.

13: My English skills is not enough to have an efficient learning during lectures. Reading material is more efficient.

14: n/a

15: Nothing regarding the course content or the lecture - I was simply overloaded with other courses and unable to keep up.

16: I'm been attending, only reason I could think of not attending is doing the comp assignments.

17: N/A

18: N/A

19: couldn't be bothered didn't listen to the few i went to anyway

20: sickness or have to finish an assignment near the deadline

21: Towards the end of the semester, as my tendency to sleep in increased, I missed quite a few of my morning lectures. OS wasn't the only casualty, so it's not a reflection of the course more than it is of timetabling and tardiness.

22: I attended most lectures, however I missed a few lectures during the middle of semester. the reason being that I did not follow the lecturer at times or I tuned out because I found at times the lectures could be very monotone and slow.

23: i always attend

24: Other commitments, such as assessments.

25: Timetabling and personal preferences

26: Overloading with thesis and COMP4141

27: attend all the lectures

28: I attended most of the lectures. I escaped few because I had assignments due.

29: I didn't send enough time revising on the lecture, so i had to read the textbook to keep up.

30: Thursday lecture time was a big inconvenience as I did not have any other subjects on that day.

31: Maybe other assignments needed to be dued soonly which leads to misattending.

32: I attended most of lectures except some lectures covered by Mr. Leonid his english pronunciation was very hard for me to understand.

33: I didn't miss any lecture yet. They are good.

34: (only sometimes) due to work schedule

35: n/a

36: Too busy getting coursework from another course done. Slides + textbook were more than enough to understand most concepts others I discussed with friends.

37: The lectures are too large! Too many people who try and contribute to the lectures in obnoxious ways. They go on too long. The lecturers are not engaging, the lecture slides brush over hard stuff and labor on easy stuff.
20. Any suggestions for improving lectures?

1: I hated file systems. I felt like I was just having a tonne of facts thrown at me that I had to memorise. Where as with something like deadlock prevention algorithms it is a concept that you get to understand. But I do not know how you could use this to improve the file systems lectures.

2: Code walkthough. Assignment lectures. No 6pm finishing.

3: Releasing the slides earlier may help. Scheduling the deadlines/lectures so we don't have extended and regular lectures at the morning of the deadline may also help.

4: No. It was excellent.

5: Video recordings of the lectures. In the course elec2141 they would record video lectures and then post a weekly online quiz about the content, with links in the question to the corresponding lecture segment. This really helped to grasp the content of the course and would help in os.

6: Perhaps put an audio recording so we can listen to the lectures if we miss it

7: Replace them with smaller, tutorial size lecture groups.

8: Release slides in advance, otherwise it's fine as it ran.

9: More assignment related material

10: No, they were pretty good. Kevin does really good freehand ticks on the slides.

11: N/A

12: make Leonid open his mouth to speak. it is hard to learn anything from his mumbling.

13: Spend less time painstakingly going through examples of scheduling, etc. It is good to go through an example, but there's a point where students have the general idea and then any more is just time wasting.

14: Maybe updating the "hmm...this is kind of out of date" slides.

15: They are well-taught!

16: Perhaps give Lectopia a whirl?

17: Kevin often moves too fast - he sometimes talks in very long sentences with lots of jargon that has just been introduced or sometimes has not been explicitly introduced (he even runs out of breath). He could also emphasise the important points a bit more. These two things mean that if one tunes out temporarily it becomes hard to follow the lecture having missed an important point. Leonid should take some of the more interesting topics, being a slightly less animated lecturer.

18: A little more slower paced.

19: This course seemed to have broad topics to cover, so if possible split the 3 hour lecture into shorter lectures.

20: i hope kevin can do all the lectures,

21: Kevin as lecturer, some of the slides particularly on deadlock and mutexes don't make sense when read without lecture talk.

22: Leonid Ryzhyk was speaking too fast, I was lost most of the time

23: Some of the file system lectures could be more coherent.

24: .

25: Lectures are really good. I looked forward to OS lectures every week.

26: More real world examples makes it much more interesting.

27: It was very effective when using the projected slides and performing live "editing" of the slides as an explanation. e.g. when the lecturer draws on the slides to show timing or steps in a process it helps to understand.

28: N/A

29: Sticking with one lecturer throughout the whole course.

30: Exotic dancers

31: no

32: Better ventilation in the lecture room

33: More explanation needed for the memory management part, and I/O part should be improved.

34: N/A

35: The re-readability of the annotations would be improved. (i.e. Sometimes the only clarification for an idea is only on the annotation, which is sometimes not readable)

36: more examples and walkthroughs, rather than general theory

37: Possibly more complete lecture notes after the lecture is delivered, or supplementary documents/suggested reading.

38: Kevin was fantastic! Leonid was a little hard to follow - talked to fast and read slides instead of explaining...

39: Hard to say. It's just tough content.

40: Perhaps some lectures without powerpoint slides, and less content. There was a lot of material covered in a very short space of time. Could also present a short summary/overview of key points at the end of each topic.

41: I think sometimes Leonid moved too fast that me and my friends had a hard time to follow.

42: Kevin is best in CSE

43: Lecture slides for file systems topic went down the page, instead of horizontally like the rest of the course

44: deal with some c implementations in OS161

45: Maybe try 3 hour blocks instead of a 2 hour + 1 hour block. So that it is one less day of uni.

46: - Relate to real-life examples (more than currently) - Involve lecture more (ask questions) - Leonid needs to improve his speaking style.. He needs to speak clearer, possibly slow down

47: If there is the lab tutorial, that will be useful for us to learn how to handle some environments' setting

48: Show code from the linux kernel or haiku or some other OS

I'm going to give the lecture recording "thing" a go. If it is low overhead, I can see the benefit in being able to review. Would be good for clashing students as well I assume.
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: No other textbooks

2: the Tannenbaum textbook is excellent. I haven't tried others.

3: N/A

4: Tannenbaum is an excellent text.

5: None

6: N/A

7: N/A

8: No

9: never used

10: I like Tannenbaum the best

11: n/a

12: n/a

13: N/A

14: I have not read the other books but I liked the way the textbook explained things. I could not think of any better explanation than that.

15: Only used the prescribed text

16: no

17: N/A; Tannenbaum rocks.
24. Any suggestions for improving tutorials?

1: Better room locations would be nice so there is plenty of room for everyone.

2: N/A; I did extended. ;)

3: Nope.

4: no

5: They're pretty good the way they are.

6: I went to extended. I definitely should not have, everything just went over my head as all the little computer nerds talked their shit.

7: Tutorials were fine as they ran.

8: Dave was excellent.

9: It's good

10: Na

11: N/A

12: Sometimes questions would take atleast half an hour of explanation by the tutors, which meant we would have to rush through all the other ones (even if it meant they were harder)

13: It needs to be longer by at least 1/2 hr

14: Tutorials seems alright as it is right now.

15: Tutor did this course several years ago. so it seems that he almost forget about this course

16: No suggestion, since I did extended OS and there was no tutorial.

17: I like the three assignment dedicated tutorials. In those tutorials it would have been better if more stuff (more direct and some indirect) were added to help with the assignments. As the assignments are hard by nature, it is good to get more guidance (and can minimise the time that is wasted in figuring out). Specially for asst3.

18: n/a

19: Don't ask which question we want to do. There's always enough time and we want answers to all of them so just do them all.

20: N/A

21: Make tutes in labs for code walkthroughs.

22: If the tutorial can be recorded so that will be best to international students!

23: dont set it in square house

24: I can't remember which tutor I had, but I did not like his teaching style. He basically got mad at us for not knowing answers/struggling with the course. Not very helpful...

25: 1 or 2 tutorials had 10-12 questions that we couldn't covered them all in time.

26: I changed halfway through the semester to David's class and the way he explained everything on the board is what I think makes a tutorial useful.

27: mke the assignment-related tutorials earlier than the week before the assignment is due - its important to get the grounding in the topic earlier.

28: If at all possible, reduction in class numbers would likely increase participation and reward those actually interested in attending with increased tutor interaction, rather than a participation mark, which increases attendance numbers but reduces quality of the time

29: N/A

30: Consistent participation marks across classes. It is unfair if you have a tutor that takes it seriously, requiring actual participation to earn class marks, while another tutor gives everyone full participation marks just for showing up.

31: Exotic dancers

32: For question 23, not what my tutors name is but I was on Monday 2-3pm and I think my tutor is between OK and Excellent. No suggestions for improving tutorials.

33: ? They felt like a waste of time - the questions were all trivially easy for anyone who paid attention to lectures, but I felt discouraged to participate and be the one answering every question first if others didn't understand, so I stayed silent most of the time.

34: Remove the participation mark. It feels like it wastes time when it forces people to answer a question (esp if its a stupid answer) just to get a mark. Tutorials should be more about learning. Maybe change the mark to a tutorial homework mark?

35: N/A

36: I had Tutor A as a tutor, he was very good, however when he didn't show up (which was almost half of the time) the replacement tutors were not up to his standard. I also found that during tutorials, I felt a bit rushed. The tutors only cared about getting all the questions done, rather then making sure students understand the solution the tutor has presented. The reason that I understood tutorials was because I would wait until solutions were released, study the solutions alongside the solutions my tutor provided.
I don't have an issue with tutors swapping their tutorial times occasionally to meet scheduling conflicts, etc... But I would have hoped the replacement would be equally as good - they usually are.
31. Do you have any specific comments about OS/161

1: Lots of understanding needed on what the code is doing

2: I think it would have been better if the lecturer provided us with a better way of simultaneously working with a partner for the assignments. Many hours were needed to complete this assignment and we were required to find our own ways of working together from somewhere other than university. It would be nice for a recommended program to be given that lets us work together

3: In the assignment, a mannual which gives tips about which pieces of code should be focused is important, otherwise, we usually look around some unuseful regions.

4: Nope; it's good.

5: Great course

6: none

7: None

8: no

9: Nice to work with

10: OS/161 was a quite good material for the assignment (honestly, ability to debug OS with GDB helped a lot).

11: It's huge.

12: It's alright I guess. I would've preferred a more modern kernel (maybe a simple student kernel could be developed on top of seL4 or MINIX?)

13: Whilst being very hard, it is quite fun. I only with the assessment marks wasn't done harmonically. Makes it stressful when I don't understand an assignment, and feel scared that it will affect my final mark.

14: It was fun to work with.

15: Great choice, awesome to work with.

16: Would prefer a more modern toy OS, e.g. a microkernel like MINIX

17: It's well structured and easy to understand the code base - however the differing style throughout (space vs tab indentation) was a bit frustrating.

18: A useful tool, if somewhat daunting and scary given its size. Some comments are a bit "????" but its otherwise quite useful.

19: Could be documented better.

20: A clear pictorial diagram would have helped me understand the OS better.

21: OS/161 is a well-written, educational software. It is better than working on a bigger OS like Linux (It gives me the basic things). I learned a lot from it. And there is a lot that I want to learn from it.

22: Very fun to work with. Well designed. Well commented. One exception: terminology that conflicted with what we learnt in class (e.g. the struct thread was really a process - that took me a long time to work out).

23: It would be better to have a system architecture overview document.

24: No

25: no

26: Great course with insane assignment. A bit too hard for me. I will have a lot more respect to OS programmer.

27: N/A

28: It's good, but we were given most of the stuff and there aren't much to do

29: Using harmonic mean on a class mark value is not particularly representative of a student's ability. If a team member refuses to perform, or is incapable of performing well, then it is punishing the capable member for circumstances outside his or her control. On this point, it might also be better to scale back the amount awarded towards group assignments and/or introduce solo assignments. Labs would also be appreciated for hands-on learning.

30: It would be good if there were resources available (apart from the manuals) on OS/161, the particular way parts function etc. Perhaps more on the wiki about this?

31: N/A

32: Nice!

33: n/a

34: Hard but rewarding. Don't change a thing, I got exactly what I came looking for in terms of assignments - I hated every minute of it but really felt like I learnt something.

35: The course is generally interesting and keeps you into the important parts of the OS without diving too much into theoretical implementations. Hands on assignments gives general sense of the complexity of an operating system and ensures you follow the current lecture material.

36: The large code base is very intimidating, more code walk through would be helpful.
34. Any suggestions for improving the assignments?

1: They are amazing for consolidating what you learn in lectures. But fuck I just hate reading all the code. Every assignment is trivial once you figure out how you are meant to connect to all the things that are already there.

2: Release them earlier to give us more time to work on the advanced component

3: More help needs to be given to those who are struggling. I felt as though those who understood the assignments could easily do it while others like me have had to struggle.

4: Just in assignment 3, a bit more clarity in what you wanted us to implement would be useful. Especially all the permissions functions. We assumed we had to do it but it wasn't explicitly defined and it didn't explicitly tell us what the permissions needed to do.

5: no

6: Assignment 3 on VM should have more tips on HOW TO GET STARTED because most people found it ridiculously hard. It was very difficult on how to get started. Perhaps stating explicitly might help but then again that ruins the learning process, and this makes me a hypocritical. Would hate to do this assignment again, was very painful. Its more suited to "coding geeks" type people

7: Perhaps making the assignments more frequent, but smaller. That way, the content is still covered, but people arent "OMGWTFBBQ" stressing for them all.

8: Don't issue an assignment so close to the end of semester. There are multiple other assignments and assessments due around that period - almost like jumping a queue.

9: Better explanation of the requirements particularly mentioning what important issues expected to be dealt with. Too many times we were confused of what needs to be considered when implementing the design, such as "is it multithread?", "is that already done?", "do we need to do this?" etc.

10: More initial help needed for assignment3.

11: Difficulty of assignments was mainly in understanding how to work with existing code; would be nice if there was challenging implementation of OS-relevant data structures/algorithms

12: Need some better documentation for the expected implementation, for things other than syscalls.

13: Besides providing more time (which you probably can't), ditch SVN in favour of Git or Hg, because SVN is several degrees of arse.

14: The C programming style was very different to that taught in first and second year, however one-third of the marks were for style. Perhaps a lower weighting for the style component of the assignments, or a clearer explanation of what constitutes good style.

15: Not make them so soul-crushingly hard!

16: Give out the last one a bit earlier.

17: The level of difficulty of the assignments is fine and expected. But it would be better if the spec is more detailed especially in the coding part. We spent a lot of time to follow the suggested 13 points hint for asst3 but we wasted a lot of time in doing that without any result and we switched to the alternative hints but I felt the alternative approach was easier to follow but it was too late. The same comments were shared by my friends. In addition, we understood what page table was but it was too hard for us to reconcile it with frame table. I thought there was less material discussing frame table. It would be good if more materials are added especially to the parts that need to be implemented. That would be good also if more marks are granted to good attempts. It is a bit discouraging to spend days and sleepless nights and come up with a code which does not work 100% or 90% but some where towards the answer and you get nothing for the good attempts as the performance mark is also based on how many tastes passed not on good attempts. It would be good if some marks are added based on the good attempts that are made especially for asst3. Finally, it would be good if test samples are given ahead to test our solution than you get surprised after your submission is marked. Also if tests were broken down like tests for frame table, page table etc especially for asst3.

18: maybe the assignments 3 should be a bit easier, and there should be a lab tutorial to indicate how to do that!

19: I think the tutorial questions / answers on the assignment are a good thing to have, however I think it would be nice to have a little more "help" with the assignment coming from the questions. Most of the questions were quite vague and didn't help that much. Especially for ASST3 I found it very hard to make a start so it may be good to have the tutorial questions as a basic guide to the assignment

20: Better clarification on the advanced specifications. (e.g. No man page for mmap and no clarification on what the related functions are).

21: provide more detailed information about the programming assignment. I had to spend a lot of time to find better explanation

22: zzz we never made the advance assignments

23: No

24: More help needed for things like that lseek sys call being 64bit.

25: The specification of assn3 should be more clear and detailed

26: Some more help and guidance in understanding ASST3.

27: More guidance should be provided for the advanced assignment 3. More time should be given to the advanced part, especially the third one.

28: Allow advanced marks to supplement exam mark.

29: I still don't feel like I got a good impression of how the overall system fits together. I would like an assignment set based on a microkernel, where a file system server or a virtual memory subsystem could be implemented in a more modular way.

30: PLEASE STOP USING SVN. midnight deadline

31: None

32: Nah they are ok really.

33: more tips for assignment,plz

34: Remove 1 week early submission

35: To be fair many of the advanced assignments should be put into basic. Also is there a chance of adding a file system assignment? I found my knowledge of file system the weakest

36: I generally felt that assignments required more work than other courses, so I suggest either: 1) reduce the assignment work, or 2) give more time to complete the assignment.

37: More guidance in various places would be nice. For instance, that lecture on ASST3 was really useful. Something like that for the other assignments would be nice.

38: More guidance on assignment 3 would have been beneficial.

39: Remove early bonus marks. Encourages people to submit early with poor solutions as they can make up their marks. Eg. one group used a single lock for the entire cabinet of drinks, and still ended up with full marks.

40: sample solutions would be nice.

41: Alot of guidance to the code. I realize theres comments saying "IMPLEMENT ME" and whatnot but, if in the assignment specs, you actually say which files need modifying, it will go a long way to helping people understand the assignment.

42: I found myself complaining a lot about the assignment specs not being very clear; but I'm not sure if that was coupled with the fact that the code base was HUGE, and a lot had to be understood before any progress could be made. I think this is the first course (and maybe the only one- ??) where the code base is SO HUGE, so there was an obvious learning curve...

43: Code walkthrough.

44: 10% early bonus is kind of silly. without sounds up myself, it was too easy to get a 100% class mark tbh

45: ASST1 can be made bit trickier, the mouse-cat thing from Harvard seems more challenging and fun. ASST2 is particularly nasty due to error handling. Putting Fork back and marking error handling only on one/two hardest functions would be nice. The real difficulty seems to lie in conceptually following how a system call work. I consider ASST3 very good with adequate difficulty considering it is at the end of semester. Hand marking after passed auto-marking can deduct marks sounds a little,little bit harsh. Doing that in attempt to gives a few marks is very generous, but the other way around seems a bit harsh, I guess that's just because I am a student.

46: Make parts of the advanced assignments mandatory Make asst0 much harder Make the assignments worth more

47: Make group work optional - or at least don't make asst1 and asst2 need groups - they are trivially easy for 1 person to complete.

Hmmm, a healthy conflict between those who want to be challenged more and those who want to be challenged less. I agree it is becoming too easy to get high marks in the assignments. However, the exam provides some balance.
36. What were the strong points of COMP3891/9283?

1: Extremely good coverage of the late development with reasonable difficulty.

2: Extra material are interesting

3: Further detailed coverage to topics we learnt in the standard part.

4: Discussion-esque format of lectures. Provides more interesting tidbits about operating systems.

5: - They replaced tutorials, which I probably would have found quite boring - The content was highly non-trivial in places, and gave me the opportunity to comb through systems papers. - The learning outcomes really helped revising for the exams

6: Great content. Interesting.

7: Tangential learning - covered stuff which was interesting rather than things on a list.

8: Got to see some advanced topics

9: Good class of students wanting to learn and enthusiastic lecturer.

10: The advanced material

11: material covered more than just normal OS

12: The EOS lectures were really interesting. The advanced assignments were challenging.

13: The virtualization of the os, discussing the performance between older os's w/regards to aspects of their architectures. Interesting extra content that expands on normal lectures.

14: What is EOS? We get the same assignment, it is just an extra lecture right? I hated the extra lecture.

15: Extended lectures, no need for tutorials

16: Lectures gave more understanding of the original content. More interesting ideas to think about.

17: didn't have to go to tutes

18: Interesting topics

19: More in-depth discussions of topics.

20: file system, logging file system and flash file system design, scheduler activation

21: Very interesting content, and the lectures was very good.

22: I tend to switch off during lectures which move too slowly - Extended OS kept me engaged which was excellent.

23: Some interesting materials

24: no

25: Interesting tutorial topics, good challenge exercises

26: Topic in depth. The advanced tutorial is much more efficient.

27: Extra indepth info was good

28: More interesting material, some of the interesting topics from 3231 covered in more depth

29: The content was really interesting
37. What were the weak points of COMP3891/9283?

1: - The explanation of UBIFS was confusing and there were no lecture notes

2: None.

3: managing extra material when things in normal OS were unclear. More workload.

4: No lecture notes!!! I was screwed for the exam.

5: Daunting to ask questions, because everyone seemed really smart so speaking up to ask a question would make you look like an idiot.

6: Too random, not really advanced seeing as there are a bunch of lectures on doing the assignment...

7: Assumed a significant amount of familiarity with OS concepts before learning it in the regular course, e.g. virtual machines without learning virtual memory?? Assumed general familiarity with various software and hardware. Good for some, but does not cater for intelligent and motivated students who do not have an existing knowledge of operating systems.

8: Whiteboard lectures did not translate into slides from which we could revise.

9: Need to better distinguish between what is examinable in the lectures and what isn't.

10: The advanced topics were just a hodge-podge of random topics.

11: I felt the extended lecture was targeted at people who are not me, but that is fine, I didn't belong there.

12: The in-depth look at the solid state file system was particularly bland.

13: Having to go through tutorial questions during my own time. Sometimes the lecturer goes through material too fast and I can't keep up.

14: Unclear as to how it is going to be assessed, some lectures had no prepared material & it was difficult to take notes

15: Topics don't always tie in effectively with 3231 but also sometimes repetition of content occurs.

16: .

17: We only had one hour per week of extended material (I felt we need more to fully understand the material).

18: had to attend extension lectures to get all the course

19: Lecture slides and the ideas that we require to know for assessment are both unclear.

20: Lack of new topics.

21: Vagueness in what is examinable in the extended lecture. Would also be nicer if the relevant papers (or at least citation) are available earlier(or easier to find, course I could be wrong in saying that they are not there).

22: So many points of interest, no idea how going to be examined.

23: Some of the tutorial topics could have been better explained (flash, etc.)

24: The support materials for extended part aren't as sufficient as for the basic part

25: It might have been nice to award more than token marks for attempting the challenge components.

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

1: Due to lack of tutes, we really don't know what things can or cannot be ask in the exam regarding to the material learnt in extended. Maybe a good idea have 1 session going over revision just for the extended.

2: Some incentive!! I sat in that exam knowing full well I could answer the COMP3231 questions, but not the COMP3891 ones. At that point I had no idea why I chose Extended

3: prefer contents in-depth

4: Maybe a comprehensive extended syllabus rather than random stuff.

5: More real world examples with source.

6: allow 0% attendance

7: Lecture slides or content, could be released earlier to be read in advanced.

8: Make the extended assignments compulsory

9: Choose topics that extend more from the regular course, e,g, more complex/realistic algorithms to the ones taught in regular lectures. Require less assumed knowledge and make notes more comprehensive.

10: Perhaps give Lectopia a whirl?

11: Have the extended lecture last longer! It was too interesting to have for only one hour a week!

12: Uploading of lecture notes for more of the lectures, possibly more complete notes.

13: The extended lecture notes could be as good as the normal OS lecture notes.

14: A consistent extended syllabus (i.e go in more depth for each topic)

15: Nope

16: None.

17: - There should be readings

18: no

19: Have slides for each topic. I didn't quite understand and wanted to revise but there were no slides that even listed what we'd covered so I wasn't sure if I remembered everything

20: Some topics completely different from the basic course would be better. Besides introducing more algorithms, explain a bit why people choose a certain one in practical.

21: Clearer topic structure.

22: Suggest reading, more supporting material

23: Making the relevant papers/citations available(or easier to find).

24: Have some sample questions for the exam

25: Not really.

26: 1) Perhaps more lecture hours for the extended part 2) Tutorials for extended peeps, too (I've heard from friends doing standard OS that tutorial helped understanding material a lot, lack of tutorial for extended seemed unfair)

I get the feeling that extended is getting too big and becoming too much like a "lecture". It was alway intended to be "fun" for students who find the basic course too easy and would like to learn a selection of deeper topics.

The papers I refer to are on the web site, so I'm sure what the specific issue is about not finding the material.

This year was the first "assessable" year (partly to discourage "free riders"), so I'll take it on board to provide more clarity on assessable material. However, I don't want extended to just become more lecture material....

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

1: Format was ideal, however perhaps all the questions answered on the paper and those being answered in the book could be grouped together

2: The exam structure was fine.

3: Some of the multiple choice answers seem to be not covered in the lecture slides.

4: The way the marks work with the multiple choice is cruel. Content coverage was good. Very little coding in exam was good.

5: I did not like the fact that getting wrong answers in the true/false section minuses a mark. It made me second guess every answer.

6: I am fine with T/F being hard, but some of them are ambiguous, because of the negative marking it made me super conservative, so any ambiguity stops me from answering them.

7: More practice needs to be done in the tutorials. I feel as though the exam was a lot of self - learning and more tutorial questions would have made it easier to study.

8: It was very nicely designed in every ways.

9: I couldn't tell if some of the multiple choice questions were intentionally vague to deceive us or just poorly worded. For example, TLBs can be software "managed" but not "implemented" unless you count simulators like Tapeworm. Thus, the answer to "TLBs can be software implemented" could be either true or false, depending on your point of view.

10: Two hours are way too short for so many questions. Some words are ambiguous, they even confuse the native speakers. Since there are so many things to review for the final, a mid-term may be considered.

11: It was so hard, and I barely felt like I could use any of what I studied for. I am really really scared and nervous and think I may fail this course.

12: The tested areas should be more diverse meaning more questions of lesser value. I feel that the exam didn't even cover a majority of the topics covered in the course.

13: Make the exam 24 hour implementation task like other advanced NICTA courses

14: We havent done it yet

15: I found the exam of a very appropriate difficulty. The things I focused and studied on were quite straight forward for me to answer, and the topics i spent less time on were much more difficult to answer, thus being representative of my understanding / study

16: Generally well set-out exam.

17: I felt it was 'fair'

18: Nothing particular - exam difficulty was about right, and 2 hours was enough.

19: None

20: Exam was relatively decent and covered most of the OS knowledge. Just as I pictured the exam to be.

21: Lots of things to remember but overall, it was a good exam.

22: I don't think the extended questions are necessary.

23: Should have students answer everything on the paper itself. Makes it a tad less annoying.

24: The exam was very appropriate for this course. Perhaps remove the negative marking for multiple choice i.e. for every incorrect answer a mark is removed.

25: Sample questions for extended part

26: I found it a little confusing with some questions to be written on separate paper, and some on the exam paper its self. And some questions you didn't answer because they were for the other course.

27: Exam paper was stupidly complicated. Simplify the format!!!

28: Multiple choice question should not have mark deduction.

29: I havn't done it yet, lets hope I can come back and edit my responses here. If I do not get back to edit them and you want my response, email me.

30: good exam, questions were evenly spread out among topics. I don't have any complaints.

31: I think it was a quite fair and well-structured exam.

32: Personal problem: choosing out which to answer by reading whether the question was an extended one or not was hard for me due the stress and time constraint. Rather than bold words (which honestly should work, but it's just me), how about putting symbols in front of question numbers?

33: Fairly memory based rather than skill based. I hate to say it, but a practical exam would show understanding much better, anyone can memorize facts and responses. Still better than some.

34: I had exams from other courses which cover only certain topics and the questions were not proportional to the amount of weeks covered. This is bad especially bad if you not confident about some topics and they end up appearing in the exam more than proportional. However, I am happy with the way all the topics were covered proportionally to the amount weeks the topics were covered in lectures. It would be good if the penalty for multiple choice were -0.5 for wrong answer than -1.0.

35: none

36: Don't pin as much expectation on memorising acronyms and what they do, or memorising exact patterns like producer-consumer. Instead focus on being able to understand an OS-related topic. Being able to apply skills to a *new* problem that is *similar* to one taught is actually a better way to test understanding.

37: I was sad there was no question explicitly about disk arm scheduling

38: no

39: It was pretty tight for time. More explanation of what you're asking for in a question would be nice.

40: Nothing special!

41: Nope

42: Great exam.

43: perhaps too many true/false questions, some were ambiguously worded
I think the balance of the examine is about right as I have complaints about stuff not being on the slides (i.e. need to think, not memorise), and complaints about it be memory based.

I'll take a point about the format being complicated due to EOS being assessed on the same paper (which is arrange by topic).

Main minor issues:
  • Get better at scaring EOS students - more seriously, some clarity as to the target audience needs to get through in the first few weeks.
  • EOS might be simpler format.
  • Try recording the lectures.

2003-2004, phpSurvey