Back
Thanks to all for giving feedback - below is the result of the survey, with only identities censored. My comments are in red.
Survey ID 1283
Title COMP3231/9201/3891/9283 09s1
Description Course survey for Operating Systems
Anonymous Yes
Fill Ratio 78% (77/99)
# Filled 77
# Suspended 2
# Not Filled 20
(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
  Excellent Satisfactory Poor N/F
Lecturer: Kevin Elphinstone 38 (49%) 31 (40%) (8%) (0%) (0%) 2 (3%)
General OS lectures 28 (36%) 34 (44%) 13 (17%) (1%) (0%) 1 (1%)
Consultations 17 (22%) 23 (30%) 29 (38%) (0%) (0%) 8 (10%)
Your tutor 26 (34%) 29 (38%) 13 (17%) (3%) (3%) 5 (6%)
Tutorials 18 (23%) 34 (44%) 17 (22%) (0%) (3%) 6 (8%)
Asst1: Synchronisation 29 (38%) 32 (42%) 13 (17%) (3%) (0%) 1 (1%)
Asst2: Syscalls 29 (38%) 30 (39%) 12 (16%) (5%) (1%) 1 (1%)
Asst3: Virtual Memory 26 (34%) 29 (38%) 12 (16%) (8%) (4%) 1 (1%)
Textbook 14 (18%) 22 (29%) 29 (38%) (4%) (4%) 6 (8%)
OS/161 In general 19 (25%) 30 (39%) 20 (26%) (5%) (3%) 2 (3%)
C Language 30 (39%) 25 (32%) 18 (23%) (3%) (1%) 1 (1%)
Computing resources 22 (29%) 27 (35%) 21 (27%) (6%) (0%) 2 (3%)
Course web page 25 (32%) 32 (42%) 18 (23%) (1%) (0%) 1 (1%)
Message Board 32 (42%) 31 (40%) (12%) (4%) (0%) 2 (3%)
Help with technical questions 27 (35%) 30 (39%) 14 (18%) (4%) (0%) 3 (4%)
Lecture slides 25 (32%) 33 (43%) 12 (16%) (5%) (3%) 1 (1%)
Operating Systems overall 36 (47%) 25 (32%) 14 (18%) (1%) (0%) 1 (1%)
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 40 (52%) 26 (34%) 10 (13%) 1 (1%)
Chance to get hands dirty with low-level code 24 (31%) 32 (42%) 20 (26%) 1 (1%)
Jobs propects for OS hackers (10%) 26 (34%) 42 (55%) 1 (1%)
Would llike to do OS research (12%) 29 (38%) 37 (48%) 2 (3%)
Course is core for me 26 (34%) 12 (16%) 38 (49%) 1 (1%)
Friends told me it was good 26 (34%) 17 (22%) 32 (42%) 2 (3%)
Chance to do challenging programming assignments 29 (38%) 26 (34%) 21 (27%) 1 (1%)
3. Any other factor that influenced your decision?
Question type : Short-answer
Answer at the bottom page (28 comments)
4. Would you recommend this course to another student such as yourself?
Question type : Single answer -- Radio Button
Yes 66 (86%) chart
No (12%) chart
N/F 2 (3%)
5. Please provide feedback on the kind of material covered
Question type : Single answer -- Radio Button
  Too much OK Too little N/F
High-level OS issus (6%) (12%) 56 (73%) (8%) (0%) 1 (1%)
Low-level (implementation) issues (3%) 10 (13%) 47 (61%) 16 (21%) (1%) 1 (1%)
Unix/Linux (1%) (8%) 50 (65%) 19 (25%) (0%) 1 (1%)
Windows NT (3%) (1%) 25 (32%) 30 (39%) 18 (23%) 1 (1%)
OS/161 Internals (4%) 11 (14%) 49 (64%) (12%) (5%) 1 (1%)
Other Systems (0%) (4%) 45 (58%) 15 (19%) 13 (17%) 1 (1%)
6. What were the best things about this course?
Question type : Long-answer
Answer at the bottom page (67 comments)
7. What were the worst things about this course?
Question type : Long-answer
Answer at the bottom page (62 comments)
8. How does the workload in this course compare to workloads in other ...
Question type : Single answer -- Radio Button
  Much
Lighter
Similar Much
Heavier
N/F
COMP courses (1%) (1%) 19 (25%) 37 (48%) 18 (23%) 1 (1%)
INFS courses (6%) (3%) 20 (26%) 11 (14%) 25 (32%) 14 (18%)
Courses in general (1%) (5%) 13 (17%) 31 (40%) 26 (34%) 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
  Strongly
Agree
Neutral Strongly
Disagree
N/A N/F
Lectures 43 (56%) 25 (32%) (4%) (3%) (0%) (3%) 2 (3%)
Tutorials 37 (48%) 16 (21%) (6%) (1%) (1%) 13 (17%) 4 (5%)
Consultations 17 (22%) 14 (18%) (9%) (0%) (0%) 37 (48%) 2 (3%)
10. How does the quality/value of this course compare to other....
Question type : Single answer -- Radio Button
  Among
the best
Average Among
the worst
N/F
Year 3 COMP courses 37 (48%) 27 (35%) (12%) (3%) (1%) 1 (1%)
COMP courses in general 33 (43%) 33 (43%) (12%) (0%) (1%) 1 (1%)
Courses in general 31 (40%) 34 (44%) 10 (13%) (0%) (1%) 1 (1%)
11. Do you think it would be better if the course used Java-based assignments?
Question type : Single answer -- Radio Button
Yes 10 (13%) chart
No 66 (86%) chart
N/F 1 (1%)
12. Would it be preferable if more of the pre-requisite courses used C?
Question type : Single answer -- Radio Button
Yes 41 (53%) chart
No 35 (45%) chart
N/F 1 (1%)
13. 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 (56 comments)
3. Content/Syllabus
14. What topics caused you the most difficulty? You can select more than one item
Question type : Multiple answer -- Check Box
 
System calls 14 (18%)
Processes (6%)
Threads (9%)
Low-level implementations issues 29 (38%)
Synchonisation and concurrency 13 (17%)
Deadlock (6%)
Memory Management and Virtual Memory 42 (55%)
File Systems (12%)
I/O Management 21 (27%)
Scheduling (6%)
Multiprocessor Systems 20 (26%)
15. Which material do you think you will be most useful to you in the future?
Question type : Short-answer
Answer at the bottom page (61 comments)
16. 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 (46 comments)
17. Which of the current topics would you like to see scaled back or excluded?
Question type : Short-answer
Answer at the bottom page (44 comments)
4. Lectures
18. Is the current mode of lecture delivery, using computer-projected slides, effective?
Question type : Single answer -- Radio Button
Yes 72 (94%) chart
No (5%) chart
N/F 1 (1%)
19. 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 25 (32%) chart
Most of the time 40 (52%) chart
Sometimes (10%) chart
Rarely (3%) chart
Never (1%) chart
N/F 1 (1%)
20. 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 15 (19%) chart
Most of the time 49 (64%) chart
Sometimes (12%) chart
Rarely (0%) chart
Never (0%) chart
N/A (3%) chart
N/F 2 (3%)
21. If you have not been attending lectures, what factors influenced your decision not to attend?
Question type : Long-answer
Answer at the bottom page (31 comments)
22. Any suggestions for improving lectures?
Question type : Long-answer
Answer at the bottom page (51 comments)
23. 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 (18 comments)
5. Tutorials
24. 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 Neutral Strongly Disagree N/A N/F
The tutorials helped me understand the material 24 (31%) 26 (34%) (12%) (1%) (1%) 13 (17%) 3 (4%)
The questions were appropriately timed 14 (18%) 27 (35%) 14 (18%) (5%) (3%) 13 (17%) 3 (4%)
The questions were of appropriate difficulty 12 (16%) 34 (44%) 14 (18%) (1%) (0%) 13 (17%) 3 (4%)
The questions should have increased difficulty (3%) 10 (13%) 29 (38%) 13 (17%) (8%) 14 (18%) 3 (4%)
The number of questions was appropriate 14 (18%) 28 (36%) 12 (16%) (6%) (1%) 14 (18%) 3 (4%)
The number of questions should be expanded (4%) (12%) 26 (34%) 15 (19%) (8%) 15 (19%) 3 (4%)
I always prepared for the tutorials (4%) 10 (13%) 22 (29%) 12 (16%) 10 (13%) 17 (22%) 3 (4%)
Preparation beforehand improved my understanding of the material 14 (18%) 16 (21%) 14 (18%) (6%) (1%) 24 (31%) 3 (4%)
Class participation is important for understanding the material 24 (31%) 13 (17%) 10 (13%) (9%) (5%) 16 (21%) 3 (4%)
25. 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
  Excellent OK Poor N/A N/F
Tutor A 35 (45%) 11 (14%) (6%) (0%) (0%) 24 (31%) 2 (3%)
Tutor B (1%) (8%) (8%) (5%) (6%) 44 (57%) 11 (14%)
26. Any suggestions for improving tutorials?


Question type : Long-answer
Answer at the bottom page (35 comments)
6. Assignments
27. 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%) 25 (32%) 43 (56%) (1%) (0%) 3 (4%)
Asst2: System Calls (3%) (4%) 42 (55%) 26 (34%) (1%) 3 (4%)
Asst3: Virtual Memory (1%) (1%) 24 (31%) 25 (32%) 23 (30%) 3 (4%)
28. 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 OK Confusing N/F
Asst1: Synchonisation 21 (27%) 23 (30%) 27 (35%) (4%) (0%) 3 (4%)
Asst2: System Calls 14 (18%) 21 (27%) 22 (29%) 10 (13%) (8%) 4 (5%)
Asst3: Virtual Memory (9%) 20 (26%) 22 (29%) 11 (14%) 12 (16%) 5 (6%)
29. Did the supporting material (manuals, notes, comments in code) provide sufficient information for solving the assignment?
Question type : Single answer -- Radio Button
  Very much Somewhat Not at all N/F
Asst1: Synchonisation 29 (38%) 25 (32%) 16 (21%) (4%) (0%) 4 (5%)
Asst2: System Calls 16 (21%) 26 (34%) 23 (30%) (10%) (1%) 3 (4%)
Asst3: Virtual Memory 12 (16%) 15 (19%) 24 (31%) 19 (25%) (4%) 4 (5%)
30. Rate which factors (if applicable to you) contributed to the assignments being difficult in your eyes
Question type : Single answer -- Radio Button
  Major Minor No N/A N/F
Topics are conceptually difficult 19 (25%) 20 (26%) 13 (17%) (6%) 16 (21%) (1%) 3 (4%)
Implementation is difficult 28 (36%) 20 (26%) 11 (14%) (8%) (9%) (3%) 3 (4%)
Lack of familiarity with C (6%) (12%) 15 (19%) 11 (14%) 31 (40%) (4%) 3 (4%)
Lack of experience with a large code base 11 (14%) 18 (23%) 22 (29%) 11 (14%) 10 (13%) (3%) 3 (4%)
Lack of experience debugging C 12 (16%) 14 (18%) 17 (22%) (12%) 20 (26%) (3%) 3 (4%)
Lack of previous low-level programming (9%) 15 (19%) 20 (26%) (10%) 22 (29%) (3%) 3 (4%)
Lack of familiarity of programming on the UNIX OS (6%) (12%) 19 (25%) (6%) 34 (44%) (3%) 3 (4%)
31. 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 Somewhat Very much N/F
Did the assignment work help with this? (3%) (6%) (12%) 18 (23%) 40 (52%) 3 (4%)
32. The move to a 12-week session has an effect on how substantial the assignments can be. This year we made ASST2 much easier than previous years to compensate. We would be interested in your feedback as to how this worked out.
Question type : Single answer -- Radio Button
  Stongly Agree Agree In-between Disagree Strongly Disagree N/A N/F
ASST0 should be kept as a warm-up 43 (56%) 17 (22%) (10%) (4%) (4%) (0%) 3 (4%)
I found ASST0 useful to get started 35 (45%) 24 (31%) (12%) (4%) (4%) (0%) 3 (4%)
The guided questions in the assigments are useful 15 (19%) 21 (27%) 28 (36%) (10%) (0%) (3%) 3 (4%)
I mostly ignored the guided question part of the assignment an just got started (6%) 17 (22%) 17 (22%) 19 (25%) 11 (14%) (5%) 4 (5%)
ASST2 helped me warm up for ASST3 (4%) 24 (31%) 22 (29%) 14 (18%) 10 (13%) (1%) 3 (4%)
Fork() should be put back in ASST2 (10%) 12 (16%) 26 (34%) 11 (14%) (10%) (12%) 3 (4%)
Three weeks is enough to attempt an individual assignment 16 (21%) 22 (29%) 16 (21%) 10 (13%) (12%) (1%) 3 (4%)
The guided-questions should be dropped from the tutorials (0%) (8%) 12 (16%) 28 (36%) 16 (21%) 12 (16%) 3 (4%)
I found the extra lectures on ASST3 useful 36 (47%) 20 (26%) 10 (13%) (3%) (1%) (6%) 3 (4%)
33. Do you have any specific comments about OS/161
Question type : Long-answer
Answer at the bottom page (32 comments)
34. Please indicate whether you (dis)agree with the following statements about the use of Subversion (SVN) to manage the assignment code base.
Question type : Single answer -- Radio Button
  Strongly Agree Neutral Strongly Disagree N/A N/F
SVN greatly helps in developing a collaborative assignment solution 34 (44%) 19 (25%) 11 (14%) (4%) (3%) (6%) 3 (4%)
SVN is relatively simple to learn to use 32 (42%) 19 (25%) 16 (21%) (3%) (3%) (3%) 4 (5%)
SVN just gets in the way and should be not be used (4%) (4%) 11 (14%) 22 (29%) 31 (40%) (5%) 3 (4%)
SVN is reliable with no real hiccups in use 14 (18%) 23 (30%) 21 (27%) 10 (13%) (5%) (3%) 3 (4%)
SVN was useful to transport code between UNSW and home 31 (40%) 14 (18%) 12 (16%) (9%) (1%) (12%) 3 (4%)
35. Please indicate whether you (dis)agree with the following statements regarding group assignment work.
Question type : Single answer -- Radio Button
  Strongly Agree Neutral Strongly Disagree N/F
Group work is a better than working as an individual 26 (34%) 15 (19%) 23 (30%) (8%) (4%) 4 (5%)
Groups reduce the assignment workload 20 (26%) 17 (22%) 17 (22%) 13 (17%) (8%) 4 (5%)
Groups should be optional, but every submission is marked the same 10 (13%) 23 (30%) 18 (23%) 11 (14%) 10 (13%) 5 (6%)
Groups are unfair as inevitably one member does all the work 11 (14%) 27 (35%) 18 (23%) 11 (14%) (8%) 4 (5%)
Larger groups would be better (12%) (5%) 13 (17%) 23 (30%) 24 (31%) 4 (5%)
Having a partner to help understand the assignment really helps 33 (43%) 18 (23%) 12 (16%) (5%) (8%) 4 (5%)
36. What do you think of the advanced assignments?
Question type : Single answer -- Radio Button
Great Idea! 23 (30%) chart
13 (17%) chart
Don't care 31 (40%) chart
(1%) chart
Abolish! (6%) chart
N/F 4 (5%)
37. Any suggestions for improving the assignments?
Question type : Long-answer
Answer at the bottom page (40 comments)
7. COMP3891/9283 Extended Operating Systems
Skip this section if you did not do COMP3891/9283 Extended Operating Systems.
38. How would you rate extended OS as a whole?
Question type : Single answer -- Radio Button
Excellent (12%) chart
11 (14%) chart
Average (5%) chart
(0%) chart
Poor (0%) chart
N/A (10%) chart
N/F 45 (58%)
39. What were the strong points of COMP3891/9283?
Question type : Long-answer
Answer at the bottom page (17 comments)
40. What were the weak points of COMP3891/9283?
Question type : Long-answer
Answer at the bottom page (12 comments)
41. Any suggestions for improving COMP3891/9283 Extended OS?
Question type : Long-answer
Answer at the bottom page (12 comments)
8. Exam
42. 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 (0%) 10 (13%) 25 (32%) 34 (44%) (5%) 4 (5%)
The exam overall was too short - i.e. it should be 3 hours (5%) 12 (16%) 16 (21%) 31 (40%) (12%) 5 (6%)
The exam should contain more True/False questions (5%) (9%) 26 (34%) 29 (38%) (8%) 5 (6%)
The exam gave me the oppurtunity to demonstrate my understanding of operating systems 11 (14%) 37 (48%) 16 (21%) (10%) (1%) 4 (5%)
I think my exam result will be representative of my operating systems knowledge (10%) 31 (40%) 13 (17%) 17 (22%) (5%) 4 (5%)
The final assessment should be weight ed more towards the exam (8%) (12%) 20 (26%) 25 (32%) 12 (16%) 5 (6%)
43. Do you have any particular comments you would like to make about the exam?
Question type : Long-answer
Answer at the bottom page (47 comments)
9. Miscellaneous
44. What do you think of the message board?
Question type : Single answer -- Radio Button
  Great idea OK Abolish N/A N/F
The message board in general 48 (62%) 12 (16%) 11 (14%) (0%) (0%) (4%) 3 (4%)
45. Should we give feedback and answer questions via the message board instead of using email to class account?
Question type : Single answer -- Radio Button
Definitely 32 (42%) chart
12 (16%) chart
Indiferent 20 (26%) chart
(1%) chart
No way (12%) chart
N/F 3 (4%)
46. 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 (12%) chart
(4%) chart
Just right 55 (71%) chart
(1%) chart
Too harsh (1%) chart
N/F 8 (10%)
47. Any other comments/suggestions that might help us to improve the course in the future?
Question type : Long-answer
Answer at the bottom page (31 comments)
48. What do you think your final result will be for the course?
Question type : Single answer -- Radio Button
HD 12 (16%) chart
DN 31 (40%) chart
CR 16 (21%) chart
PS (10%) chart
FL (1%) chart
No Idea (9%) chart
N/F 2 (3%)

Back to Summary
3. Any other factor that influenced your decision?
1: -
2: Any true CS or CE student should have to do it, and not the watered down ones that most places give. It's what seperates us from the people that we may be outsourced to.
3: Best elective I had on offer. Glad I did it.
4: Chance to learn how user programs really work
5: Friends told me it was hard and challenging
6: Fun?
7: Intensive Programming.
8: It sounded interesting
9: It was good to do a subject involving both interesting concepts, and *real* coding.
10: Learn more about Unix etc.
11: NA
12: Nil
13: No
14: No
15: No
16: No
17: No
18: None
19: Reading and developing on top of real code is usefull
20: Seemed like a good way to improve programming skills in general
21: Something I wanted to do before I left uni
22: Started watching the berkley lectures for OS and realised how interesting the area is.
23: The fact that the lecturer seems to take student feedback seriously and publish the review results annually. Cool, glad somebody reads these surveys!!!
24: chance to learn a lot
25: core subject
26: every software engineer should know what they are developing on and how it works with the underlying operating system
27: learning Linux
28: no
6. What were the best things about this course?
1: *Bonus marks for completing this survey! :)
2: - The lecturer cares about the quality of the course. - The lecturer understands the subject thoroughly. - The lecturer seems to understand students' general level of comprehension.
3: -followed on from Microprocessors and Interfacing and Real Time Engineering very nicely. -it was great to find out how an OS worked, something I'd never thought about before.
4: 1. Extensive coverage of OS internals especially file systems, memory management, etc. 2. os161 to play around with. 3. Concept based and challenging assignments 4. Extended lectures covering extra material
5: Assignment - provided a means to understand learnt material. Pair work though troublesome was good experience
6: Assignments
7: Assignments I felt were some of the most challenging and interesting I've seen in 4 years of uni. Often you just needed to get your head around an algorithm/data structure and it fell into place, but getting to that point was challenging and fun. I also work as a Java dev, so seeing a non-Java course was refreshing.
8: Assignments and tutes
9: Assignments, Concepts
10: Assignments, were very interesting.
11: Being able to understand OS works not just theoritically but practically as well. Now I can understand more how my computer works with its OS and stuff, its really interesting...
12: Challenging assignments! Assignments in a lot of COMP courses are too easy. Also our tutor was very good (Tutor A).
13: Clear lectures. Challenging assignments. Useful forum responses.
14: Consultation
15: Consultation times were of great help especially when doing assignment.
16: Content, my tutor, the lecture notes
17: Everything! ;) The assignments were a blast, the lectures were easy to follow, interesting and informative.
18: Extended lectures and advanced parts of the assignments
19: Extended lectures provided good insight into real world applications. Having bonus marks for early completed assignments was also good to encourage on time assignments. Also having the lecture as two 2hr blocks was good (able to take in content better)
20: Extremely interesting, covers many issues in OS, has permanently changed the way I think about programming for the better :-)
21: Forum responds by Kevine and Nic were pretty prompt
22: Getting a better understanding about how things work under the hood.
23: Going through the processes and procedures one by one.
24: Good lectures, solid tutorials, and a well structured course. We always knew where we were in the scheme of things, which was a huge help in developing the big picture.
25: Good lectures, sufficient course notes on OS theories.
26: I can honestly say that this course is one of the best CSE courses I have done so far. It is challenging at first, but once you grasp the underlying concept the course doesn't seem too hard. I think the best things about this course are: - Lecturer: very enthusiastic, very clear in explaining the concept material and in general a very nice person. - Tutorial: I had Tutor A as my tutor and I think he is great. He explained concepts in detail and answered all questions clearly. - Course material: Covers all the major OS issues and gave me a solid understanding of how OS operates.
27: I found the all the content very interesting and the lectures were presented very well.
28: I think the assignment hands-on experience is really good and sets up a realistic job type scenario where you have to understand code written by previous programmers and also code written by your collegues.
29: Interesting assignments
30: Interesting course content, challenging assignments. Like the group system.
31: Interesting theory.
32: Interesting, well-structured. Concept-based rather than rote-learning.
33: It was fun and interesting. The assignments, while time consuming and challenging, were challenging in a constructive and teaching way. There were also fun to code overall. I learnt a lot of fundamentals about OS's which is good general knowledge for a computing student. (I previously did not know all that much about them). It was very useful.
34: It was interesting. Kevin and Tutor A are good teaching staff.
35: It was well structured.It was tought well. The concepts were clearly exaplained.
36: It's got the best combination of practice/theory I've seen so far. Reading/modifying real code, yet getting to know how things are implemented in major modern OSs is excellent.
37: Learn how programs really work. How hardware is abstracted. Introduction to a variety of different OS details and implementations. Ironically: learned better from breaking abstraction!
38: Learning about how the os is integrated as an interface between software and hardware
39: Learning how operating system works. Useful for the general programmer even if not really looking into programming OS, but useful for optimization and efficiency. Assignments are useful and practical.
40: Lectures were excellent; they were animated and almost always interesting
41: Made us realize how things work behind the scenes. Now I can relate this to what's going on in an operating system when some operation is performed. Learning about the operating system's code helped a lot in this.
42: Material covered, and that the assignments let you actually implement important things, rather than just toy problems.
43: Really enjoyed getting the process of getting a complete picture.I learned a lot of high level stuff and some low level stuff (e.g. logic gates, EE, assembly) and it was quite exiting to get that big "missing link" filled in. I also really enjoyed the implementation of OS concepts in OS161. I was quite daunted by the prospect at first, but I learned a lot more this way and had a greater sense of achievement.
44: Really helps general programming knowledge.
45: Textbook was ok.
46: The UNIX related issues
47: The assignment was good.. cover things from lectures
48: The assignments and tutorials.
49: The assignments helped me understand OS concepts in how they truly worked, as opposed to how they worked on paper. The 100 sample exam questions helped me understand view the course material in a different light.
50: The assignments.
51: The best things about this course would be the tutorials, they were very helpful. Also the lectures were very detailed and covered alot of information
52: The chance to get a basic understanding of how an OS works.
53: The course(lecture/tutorials) notes.
54: The inner workings of an operating system (Theory)
55: The interesting topics covered and the means in which they were covered. Furthermore, the assignments were challenging - and involved real programming. None of this dodgy Java design stuff.
56: The lectures. They were quite informative and covered all the topics in an appropriate depth.
57: The material presented was very interesting. Especially the extension lectures. Probably the most interesting course I've taken at uni.
58: The tutorials in particular Tutor A was very good. I did not attend many lectures (I notified you of this at the start of session) but the notes were quite easy to read from and easy to understand. The 100 questions were amazingly good to study off.
59: The tutors were excellent. The forum posts were always responded to which was great
60: There was a lot of support for the incredibly hard assignments. Questions on the forums were generally answered really quickly.
61: To learn how the OS does all it does. It demystifies a lot.
62: Well set out goals and good timing of lecture material.
63: Well taught, thourough coverage of content, challenging
64: learn how the operating system work
65: learning about virtual memory and virtual filesystem and generally how to write programs that work with the os instead of against it.
66: surprisingly learned alot that I didn't know before. most courses are kind of intros to material and its kept at that, but with this course we actually went into some real issues and problems that are faced with real operating systems. i felt like i really started to get involved in "real stuff" if you know what i mean.
67: the relationship between assignments and operating system concepts
7. What were the worst things about this course?
1: - Tutorial was a bit too unstructured. - Attempt to divide assignment workload between group members amounted to a little impossible sub-assignment.
2: -the way I got suckered into doing their assignments, to the detriment of other courses :P
3: 1. Distributed systems was not even touched. A brief overview would have been better to allow one decide whether to take it further. 2. Unix/Linux was only briefly covered. 3. No coverage of windows XP. 4. Multimedia systems not covered.
I'd like to cover more, but there are limits as to what can fit into 12 weeks - it was pretty packed early in the course, maybe at the end I can squeeze some material back in (notably security) - Try COMP9243 for distributed systems - much more satisfying than anything I can squeeze into a lecture or 2.
4: 12weeks is not enough time... larger groups for the assignments could have given them more depth
5: Additional info on assignments 2 and 3 was a bit delayed and pretty random.
Yes agreed - in past years this info was limited to those who came to consults and tutorials - turning the lecture into one large consult was a bit spontaneous. 
6: Althought difficult assignments were challenging and useful, the deadlines were quite tough and it was quite difficult to start the assignment by yourself, in terms of understanding what needed to be done. The tutorials helped alot with this process however.
7: Assignment due dates. However, the extension was great since it meant all other assignments could be completed, then OS finished off and still get a good mark. Thanks BTW!
8: Assignments - brain-life-sucking leaving almost no time for other subject (but who cares XD)
9: Assignments were too heavy-loaded.
10: At times the tutorials were largely unstructured, but that is more the fault of the students who did not prepare more than anything else. I think that there should be an option to opt into a random partner allocation program or something.
11: Debugging the assignments.
12: Explaining several operating systems as though they were several topics.
13: Feedback. Late marking. Not enough on OS161 internals.
14: For people who would like to get early mark, it is very hard because the assignments were released 2 weeks before it is due and the early mark leaves us approx 1 week to do hence we only have 1/2 consultation before the early mark is due.
Actually, they were all three weeks before they were due (except ASST0)
15: Harshly marked assignments without any outline as to the style requirements.
16: Having to memorise all pros/cons of each algorithm/method provided is tedious. Also, I find that there was not enough talk being done about Windows (although some was.. we must recognize that most people in the world use Windows...).
17: I didn't end up being very happy with my assignment partner.
18: I don't know if this is bad but this course takes a lot of free time from you, if you want to do well and you don't have much OS knowledge like me.
19: I felt that the tutes were at times a little poorly prepared and conducted by my tutor. I am nitpicking here, though, and overall I was quite happy. I do think however that the questions could have been posted earlier (I had the Tuesday tute, and I would have liked to prepare the tute over the weekend). What annoyed me was that the assigments specs stated that we should prepare the questions for week x and the questions were actually done in week x-1. That was not announced until the Monday though, and as a result of that I didn't have enough code reading time before the tute. Another thing that I thought could have been done a little better was that the VM material was thought disjoint to fit in the FS material before Asst2. I would have preferred to stick with the order of the book and do FS before starting on VM.
20: I personally dislike the lower level sort of things.
21: It finished.
22: It is quite hard to certain group of people.
23: Learning curve on assignments was very steep.
24: Lecture notes needed more information. No labs to assist learning during the course.
25: Lecture notes were hard to understand. Textbook was a waste of money
26: Lecture times - 3-5pm in the afternoon is the hardest time of the day for me to concentrate!
27: Many details you have to understand before you see the big picture
28: No lab class
29: Occasionally, the mechanisms and choices made in the design of OS/161 was frustratingly hard to determine, leading to quite a lot of wasted time due to programming whilst assuming things that just weren't true.
30: People who finish the assignments for the one week bonus get really frustrated when they come into uni for a lecture to find that you're going over what to do for the assignment. Maybe more warning about these lectures?
Apologies, they were spontaneously done to fill a gap here and there. 
31: Possibly marking turn around, but I gather this is necessary.
32: Simply not for me. I don't particularly enjoy low level coding and thus found it very difficult.
33: Slow pace of normal lectures
34: Some parts of the assignments were difficult to understand from the spec alone. While these issues were cleared up in lectures and tutes it would be good if the specs were a bit clearer on how we should approach implementing our solutions.
35: The 2 hour lectures were an insurmountable test to attention span... especially the low level code walkthroughs
36: The assignments
37: The assignments
38: The assignments were a bit too challenging
39: The assignments, in assignment 2 abd 3 there were not much information on how to approach it. Therefore it took alot of time to try and understand on how to approach the assignment and left very little time to do the actual coding. Some more information on how the functions interact with each other and how to do the assignment would be helpful
40: The group work leads to free rides.
41: The materials sometimes is quite hard to understand however there are tutors and consultations so it doesnt matter much.
42: The slog required to gain a basic understanding of an OS.
43: The synchronisation stuff was interesting, but I am assuming it overlaps with concurrency courses, so it may have been better to only introduce the concepts we need for later assignments. And that it ended :(
44: The tutorials. The organisation differed greatly from that mentioned in the course outline, and this was largely in the negative direction. The tutor seemed to have very little interest in the course and went over the topics in such depth that it was barely understandable despite having gone over the tutorial questions and fully understood them. The tutor also admitted to have never read the assignment specs, so the tutorials dedicated to them were extremely awkward and not the benefit they were designed to be. The process of giving marks to those who spoke up in tutorials was also counter-productive and resulted in tutorials that were forced and dominated by those who knew the material rather than those who didn't.
45: There was not enough time to actually figure out the workings of OS161. Overlapping assignments were not helpful as they reduced the amount of time we could actually work on something. It would be nice to get our marks back earlier as we had only received 10% (a 10% that didn't indicate anything due to the nature of assignment 0) of our class mark for the majority of the semester. By the end of the teaching period we had only received 35% of it.
46: There was not enough time to cover all the aspects of the course.
47: There was nothing wrong with this course accept that the time constraint of a semester.
48: This is not really a bad thing, but it was a difficult course and there was a lot of material and so it was difficult to absorb all the material at times.
49: Too fast, not enough time to settle. Strange lecture times.
50: Too much provided code, would prefer to do more 'from scratch', such as the semaphore implementation in asst1. I guess there isn't enough time in 12 weeks...
51: Tutor didn't turn up once, that sucked.
52: Tutorial participation marks.
53: Very challenging assignments somewhat over my head in some cases.
54: You really need to be a very good programmer in order to do well in this course. It's not enough even if you have completed the first year computing courses as prerequisites. Assignments are really hard and there are just 2 extremes - whether you can do it or you can't. Grouping for assignments is also an extreme, geniuses group together and do extremely well and for groups which are not really clever their contributions on the assignments will not be proportional to the marks they get, even if they had tried really hard. (I even saw stressed people crying in the labs for assignment 3).
If people are that stressed out, they should start early take advantage of the consults - that's what they are there for - to help out.
55: a bit too short
56: assignment3 was a bit rush at the end of semester
57: everything seemed so crammed and rushed. i guess thats because theres simply so much material in operating systems that it can't be helped. i died trying to study that much material for the final exam.
58: lecture slides are too vague to visualize the low level details involved
59: memorisation. though not often, the bit of rote learning (guess its hard to avoid entirely)
60: probably not your choice, but friday afternoon is a really crap time for a lecture...
It is not my choice
61: the exam
62: trying to setup os161 on a non-cse computer. There is insufficient and out of date information on setting up eclipse (to compile and checkout code) and gdb for os161. I would recommend setting up a wiki on the course website, so students can fix the mistakes and add to the documentation.
Good idea - I had hoped the forum would be used for that, not sure a wiki would be that much better, but it is worth a try.
13. 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: -
2: 2 semesters of C programming in 1st year, and programming with AVRs in CMOP2121 were sufficient introduction. Having done COMP2041 also helped with debugging/profiling techniques.
3: A knowledge of the workings of OS161. The ability to code in C has very little to do with your ability to get assignments done. Understanding the API is of greater importance and there wasn't enough time to get it under the bonnet.
4: Absolutely none. Yes, they are. By now people should be familiar with C.
5: Alot of concurrency is taught. Why not make foundations of concurrency (comp3151) a pre-req?
Hmmm, it is not a second year subject as far as I know. 
6: An introductory knowledge of OS structure would have been helpful before beginning, as it took awhile to get my bearings as to how it all fit together. That period was a bit of a struggle. The C and assembly that I had done was enough to get by.
7: At times I think I lacked some basic understanding about the way the operating systems code functioned. This was not covered fully in this course or the pre-requisites. That could have helped me out greatly in the course.
8: Better knowledge in C
9: C language itself and probably an OS jargon course. Yes.
10: Debugging
11: Definitely some deeper unix knowledge was required: 2nd tut started talking about fork and fds, which was a bit difficult to catch at first, although were well explained. Prerequisites are fine, should remain.
12: Doing 1st year computing courses and Microprocessors and Interfacing should be enough.
13: Fine
14: General programming, but I'm Elec, so that's my fault.
15: I don't think there was any background knowledge missing - I had to refresh myself on a few things with C, but I had learnt them before in other courses anyways.
16: I dont think the pre-requisites were a problem as such. But there has been some time since I used C language. Java would have been much easier to remember, pickup again with eclipses suggest etc.
17: I found that knowledge from previous COMP courses was suitable and there were no major things missing.
18: I had no previous C programming experience. So pointers were a nightmare. Since I didn't do the pre-requisites in Australia, I don't know if they are suitable preparation.
19: I had spent the previous year trapped inside Java, VHDL, and assembly code. I took a bit of time to re-learn some of the more advanced aspects of C programming. All in all, there was no real problem with prereqs.
20: I hadn't touched C since first year, so for the first major assignment this was an issue.
21: I have done Computer Architecture (COMP3211) before I did this course which helps me understand some part of the course especially the multiprocessor topic.
22: I needed some more C preparation (pointers etc. and tricks). Also, I needed more Unix knowledge to be faster with the assignments. aabut this is all part of yhe learning curve.
23: I needed to do more C more recently. But that's my fault not yours.
24: I think the current pre-requisites are sufficient, it would be nice to have 2nd year courses in C so that people aren't so rusty at the start of this course, but it was easy enough to get up to scratch.
25: I think the pre-reqs are adequate.
26: I think this course needs a C refresher before we're allowed to take it. By 2nd year, I'd completely stopped using C and forgotten all the rules and structures.
27: I thought they were suitable. I think by 3rd year switching between Java and C should not be a big deal and people are being overly dramatic.
28: I wish I had a better background in C library functions, as I joined as a postgrad student, and perhaps I didn't have as good a foundation in C as the other UNSW undergrads.
29: More C in second year.
30: More background knowledge on C. Since the C used in this course was alot harder than the C used in previous courses.
31: No one takes the pre-requisites seriously anyway...
32: None
33: None, I felt pretty prepared.
34: None. Required pre-requisites were suitable.
35: Not sure, but something was amiss certainly. During lecture, a significant number of students seemed to have understood most of the materials from the outset while the rest, myself included, were still stupefied by the concepts introduced.
36: Nothing.
37: Official pre-requisites are good.
38: Official pre-requisites are suitable.
39: Official prerequisites are fine. Maybe concurrency as assumed study would buy you more time?
40: Perhaps some more experience with concurrent programming. I did the electrical engineering prerequisite (ELEC2142 Embedded Systems Design) and found it decent preparation.
41: Pre-requisites are fine.
42: Remembering how to use pointers properly
43: The COMP2121 pre-requisite seemed largely unnecessary as most of COMP2121 deals with actually writing assembly for a specific AVR chip and dealing with I/O devices, and does not mention privilege levels, TLBs, etc, so not much beyond the first week or so of information from COMP2121 was actually necessary. As many people dislike COMP2121 (personally, I didn't mind it so much *shrug*), it may make sense to post some reading material for people to become familiar with instead.
44: The more general understanding of how a computer works. They assume that because you are doing computer science, you should have taken an interest in this sort of thing and know about things which lecturers tend to take for granted. This can be difficult for someone who has never really done anything of the sort before or had any really deep interest in computers before. It would be useful to include more of this very general and fundamental stuff in, say, Computing 1A
45: The official prerequisite should be enough
46: The only real C course I did before this was Computing 1B, originally I did Haskell for Computing 1A. I just wished the prerequisite courses stuck to maybe two core languages C, and Java. OS really did chuck you into the deep end pretty quick.
47: The pre-requisites were a suitable preparation.
48: They're fine now. In fact, you cover things that we'd already learnt (hello, subversion).
49: Yes the official pre reqs are fine. C can be a little bit rusty by 3rd year when all of second year is object oriented.
50: Yes the official pre-requisites are fine.I have done comp1911 and comp1921 and both teach us C programming so it was easy to use C for operating systems.
51: assembly code and some computer architecture knowledge will help
52: concurrency could be good as a prereq (there seems to be alot of overlap between the two) although I managed fine without it.
53: concurrency programming. I don't think any of the prereqs I did covered that at all, so it was lucky I had done computer networks before (which had a little bit of concurrency in java). other than that, no concurrency at all, and i wouldn't expect a first year comp prereq to have done any concurrency programming either.
54: hardware stuff, i'm not sure from what courses, but i'm quite struggling when someone talk about hardware jargon
55: knowledge of C language(COMP1911, COMP1921) and assembly language and hardware(COMP2121). Yes the official prerequisites are appropriate for this course.
56: the official pre-requisites are a must but requires labwork that involves having a hands-on in the implementation issues of operating systems part-by-part for easy visualization when doing operating Systems course
15. Which material do you think you will be most useful to you in the future?
1: ??
2: A general understanding of operating system concepts.
3: All
4: All of it, since Im trying to write a emulator
5: All of this will figure in conversations in my career
6: All quite useful
7: Almost all of it is useful to an application programer.
8: Concur/sync, VFS, scheduling,
9: Concurrency
10: Concurrency
11: Concurrency
12: Concurrency Issues/DeadLocks
13: Concurrency, File Systems, Memory Management and Virtual Memory, Scheduling
14: Don't know
15: Don't really know
16: Experience with low level C
17: I really have no idea and I don
18: I think all of them will be equally useful
19: Linux/Unix understanding
20: Memory Management and VM
21: Memory Management and actual experience with low-level issues form the assignments
22: Memory management and virtual memory
23: More coverage of multi-processor systems
24: Multithreading and memory
25: Not any one in particular
26: Nothing specific. The important part to me is to have understood what OS does in general.
27: Operating System internals
28: Overview and mem management
29: Possibly concurrency, C progrsamming skills in general
30: Processes & threads, synchronization, memory management and virtual memory.
31: Processes, Threads, and concurrency
32: Scheduling. I am driven to small hardware embedded designs.
33: Synchonisation and concurrency
34: Synchonisation and concurrency
35: Synchronisation
36: Synchronisation and Concurrency
37: Synchronisation and concurrency
38: Synchronisation, VM
39: Synchronisation/Concurrency; General Knowledge of OS Fundamentals
40: TLB caching, i/o management, sync+concurrency issues
41: The multithreading material, as well as the multiprocessor material was very useful.
42: Threading, Concurrency Issues and System Calls
43: Threads and synchonisation
44: Threads+Processes, Virtual Memory
45: Threads, multiprocessor systems
46: Threads/Multiprocessing
47: Understanding how all of this fits together.
48: Understanding the overheads involved in making syscalls, implementation details of file systems and VMs, concurrency.
49: Unsure. Probably the course as a whole rather than a specific topic.
50: all of it
51: concurrency and deadlocks
52: concurrency, deadlocks
53: file systems, synchro and concurrency, scheduling
54: general programming
55: memory management - really useful in terms of how I should write programs to work effectively with the operating system
56: most of them
57: multiprocessor systems and their scheduling
58: probably knowing the costs associated with context switching and how processes and threads are dealt with at the low level. i did this course thinking that i might be able to improve the efficiency of my coding and i was correct. it will also help me understand reverse engineering alot better.
59: synchronisation and concurrency
60: textbook
61: threading & concurrency
16. What material related to operating systems, but not currently in the course, would you like to have seen covered?
1: -
2: A bit more history on how OS have evolved. Possibly as extra/optional reading Sadly, what little material I had in this area was first to go in moving from 14 -> 12 weeks sessions.
3: A deeper look at drivers and interfacing and such.
4: Again, nitpicking here, but I am quite interested in the whole topic of GPU processing, and maybe a little look at distributed OS's (I'll take that course next year to find out more)
The cource is the better option
5: Bootloader for more modern systems (such as x86)
6: Comparison between popular existing OSes, e.g. Unix, Windows, Mac, and the reasons behind their design decisions.
7: Didn't miss anything that badly. But probably more on non-Unix OS's.
8: Distrbuted Systems, Linux/Unix and Windows case studies
9: Don't know anything about OS apart from what I've learnt here
10: Don't know.
11: Drivers?
12: GUIs for OSs
13: IPC, pipes, shared memory, the networking stack, an assignment implementing a scheduler / dispatcher
Scheduler might be an option for an advanced component of the synch assignment
14: Maybe a brief look at what the future might be? Multicore, 64bit, 128bit, Massively parallel, mostly I/O supervising etc.
15: Maybe not directly related to OS, but a discussion of various current memory allocaters would have been interesting.
Yep, that is the kind of material that would be good for extended - need to find the time to create the material
16: More UNIX based issues.
17: More about specifics of different OS's.
18: More details about drivers and their low level implementation (perhaps an assignment to write a driver for some I/O).
19: More multiprocessor and concurrency-related material (or maybe not, since that's what COMP3151 is there for)
20: Multimedia processing
21: Nil
22: No comment
23: None
24: None
25: None, I thought the coverage in the course was very good.
26: Not Sure
27: Os interface
28: Security
29: Security holes.
30: Study cases on Windows
31: Virtual Machine .. may be abit more on windows base OS .. why is crap .. what makes crap
32: Would have been nice to see more i/o: lamebus, drivers
33: a bit of security and an overview of multimedia operating systems
34: build and i/o system
35: device drivers/interfacing, we kind of glossed over it in looking at VFS.
36: ext4 - came out recently apparently uses extents (similar to runs in ntfs)
37: i wasnt sure what to expect from the course before i did it, and after having done it i can't think of anything more to add to the course. there's already so much material its mind blowing. we didn't do much about security aspects of operating systems? programming multiple cores should be covered in more depth
38: it was all well covered
39: maybe a comprehensive high-level comparison between windows and linux
40: more implementation issues
41: networking
42: none
43: none
44: nothing in particularly
45: nothing more
46: virtual machines
17. Which of the current topics would you like to see scaled back or excluded?
1: All of the topics covered were interesting; however, it would have been nice to spend a tad longer on synchronisation, deadlock, et cetera.
2: Concurrency
3: Hard to say. Everything seems essential.
4: I think virtual memory could be scaled back and included in its own course
5: I/O Management
6: I/O Management
7: I/O Management
8: IO management
9: Interrupts, we know the useful stuff already from 2121.
10: Multiprocessor Systems
11: Multiprocessor Systems
12: Multiprocessor Systems.
13: Multiprocessor systems
14: No comment
15: None
16: None
17: None
18: None of them. All were interesting
19: None really, some of the pages of low level code were slightly excessive, but I understand they were to illustrate a point rather than anything else.
20: None, all topics are interesting :)
21: None.
22: Nothing
23: Nothing!
24: Scale down memory management
25: Synchronisation and concurrency
26: Synchronisation, but that's because I didn't find it very challenging.
27: The coverage of the banker's algorithm was a little much, especially since it can't really be used in practical situations.
28: The material not related to assignment.
29: They all are too important for OS too be scaled back.
30: all pretty sufficient
31: disk algorithms, the topic should not be assessible as it is too easy
32: i/o topic could have probably provided more details
33: io
34: it was all good, a bit too much time on the basic overview of files, better spent on nitty-gritty implementation details
35: its hard to choose when all the topics are so relevant, i don't think any of them should be excluded or scaled back, despite how much content there is already
36: nil
37: none
38: none
39: none
40: none
41: none
42: none.
43: real time scheduling - it's simple and boring and felt like course filler
44: subversion - I think students should already know version control by this stage and it
you'd be surprised little do - given the 'intro' week will disappear next year - the subversion lecture will probably disappear with it - I should leave the slides up though.
21. If you have not been attending lectures, what factors influenced your decision not to attend?
1: -
2: 1-hour lectures on friday + 4 hours of travel is not a good use of time, begins to matter when assignments start to pile up
3: Attended all lectures.
4: I asked you for permission at teh start due to a class clash. However I did manage to attend a few and they were quite good.
5: I attended most lectures.
6: I attended most lectures.
7: I attended most of them - but when I didn't - it was because I was very busy with other commitments...
8: I did attend.
9: I generally don't find lecturers very helpuful, I find it hard to learn from them. I actually attented more OS lectures than I usually do for a course; I found Prof. Elphinstone very good.
10: I had a timetable clash that CSE would not fix (not that this is your fault!). However I found notes (and occasionally iLectures) sufficient for catching up.
11: I have been attending lectures.
12: I occasionally missed lectures due to paid work, but this has always been the case.
13: I skipped a few lectures when I had assignments to do that were due very soon.
14: I skipped the Friday lecture consistently due to my work schedule. I found the lectures more interesting than most other COMP courses I've done, so I didn't skip out of boredom.
15: I usually felt the time would be better spent doing assignments (not just OS assignments, most of the term I had 4 COMP assignments all due within the space of a week), and I have the textbook and lecture notes which together covered the course well
16: N/A
17: NA
18: NA
19: NA
20: Normal lectures are too slow sometimes
21: Not enough time. If there is a work commitment, lectures are the first thing to be sacrificed. Not everyone in uni works to buy stuff, some work to pay rent.
22: The book is good. Attending lectures works and is definitely worthwhile. Sometimes since I live so far I will skip a lecture.
23: The only lectures I didn't attend were... for doing one of the assignments, and I had a thesis meeting.
24: There are other assignments from COMP subjects that I have to do
25: Time restraints.
26: Timetable clash.
27: Timetable clash.
28: Working on assignment instead. Common time for partner and I.
29: commitment with other courses
30: i must have missed the last few lectures, primarily because i was doing 30uoc and i was hibernating in my room doing assignments non-stop day and night. most of the time o/s assignments.
31: work, family
22. Any suggestions for improving lectures?
1: 1 lecture per week will be good
2: 1. While I could memorize most of the facts presented in the slides, it wasn't until the sample exam questions that I discovered that while I knew the 'whats', I didn't always know the 'whys'. For example, I learnt that a Working Set was "all the memory pages needed by a process in a time interval", but I didn't know why I needed to know that. After studying the sample questions, I realized that working sets that take up more than RAM can cause thrashing. And that the CPU utilization to page fault ratio was a measure of thrashing. I knew the facts (which were presented in an excellent way), but I didn't always know a) why I was learning them, or b) how to relate them together to fit a bigger picture, to design a good OS. 2. Another specific point I wish to mention is segments in OS/161 virtual memory. I knew that there were 4 segments and what their characteristics were. It wasn't until after Assignment 3 that I realized that there could be 4 virtual memory addresses (in kuseg, kseg0-kesg2 respectively) , and all 4 virtual addresses could be pointing at exactly the same physical address in RAM. That the 4 virtual memory segments were really just a 'window into' or 'perspective of' the exact same physical region, was a big 'aha' moment for me. Once again, I knew the individual facts about each OS/161 segment, but I didn't see the bigger picture, how they all fit together. 3. A number of times, the lecture notes were not available in time to print for the lecture (one time it was made available a week after the lecture?). As taking notes helps immensely in my remembering what was said, I hope future students at least get half an hour to print notes before walking into class. 4. I think we covered most of Processes and Threads, jumped away from it, and jumped back to it a few weeks later. That was a bit jarring. But maybe it couldn't be helped because of assignment scheduling.
Couple of comments
  • yes assignment scheduling did cause a detour - this should not occur next year
  • It is a complex topic that benefits form reflecting an different aspects several times - for some, it is not until you have seen several of the aspects do you get the 'aha' moments, for others it come earlier - it depend on the individual..
3: Catch out more people when talking. Several lectures were very noisy and it could be hard to hear the lecturer.
4: Different time than 3-5!
5: Finally a small point: I have a problem with my color vision (as do 3-7% of males) and as a result of that I can't see red laser dots. This of course applies to all lectures where laser pointers are used. A chap in the school of physics is actually using a green pointer for this reason...just a small suggestion.
6: Give link to recorded talks at the start of session for podcasting.
The recording stuff is new for me, I thought it just appeared for you in my.unsw some where., until late in the session.
7: Have sample excercises with solutions.
???? In addition to the tutorials, and 100 odd study questions?
8: I find the lecture to be dry at times, but I guess that is because the topics can be hard to understand if you don't read before hand.
9: I found the illustrations very helpful. Such as real life scenarios of when deadlocking could occur, the problem with the round table and cutlery made me understand the problems of concurrency very clearly and quickly. Perhaps more could be used.
10: I really liked the lectures, and I know you've worked very hard for the lecture slides. However, a select few of the examples I felt needed updating. I wouldn't have minded a bit of the more recent stuff, like SSD too.
11: I think lectures are quite good, and one of the positives of the course. I wouldn't want to change anything.
12: I think you get what I'm going to say here: go faster Also having lectures on the assignment was *incredibly* irritating when I had already done the assignment and I travel all the way to uni to sit and be told everything I've already done. Maybe give a warning if you are going to have a lecture on the assignment so those who have already completed it can not come
See above comment - point is taken
13: I would have liked if possible to sometimes fit in the slides more unix/windows real examples of implementation.
14: If you could release more detailed lecture notes it would be good or maybe background info with regards to the content of the slides.
15: In an ideal world, students should be given enough time to read about the subject matter before the lecture on a topic. Lectures then are more of a summary and clarification session on that topic.
16: Increase lecture hours to 4 hours per week to abe able to cover more topics in the stipulated time.
17: It is quite fast, try to cover everything in a lecture which make students cannot really follow.
18: Less lengthy re-iteration of how things work, the explanations were all perfectly clear, and drawing all those red diagrams took a while....
19: Less powerpoint
20: Maybe more drawings. When I looked back and saw the drawings that were done on the fly during lectures, it helped me remember what was said.
21: More examples relating directly to OS161, then comparing to the general case
22: More information on implementation in some areas would have been useful
23: More interactive diagrams and less lists of things in slides. The explanations using the pen on an empty slide were most helpful. It would be great if they could be recorded along with the speaking that went with it.
24: No
25: No, they were as good as they could be
26: No, they were quite good.
27: None. Quite decent.
28: Not really.
29: Not really. They're quite well thought out.
30: Occasional trivia?
31: Overall, the use of technology was good (that pen thing in powerpoint), but maybe you could use some swanky animations to explain a few topics, e.g. disk arm scheduling, disk block allocation schemes, etc? Nothing too fancy, but that real-time scheduling algorithm slide-show was fairly hideous
32: Perhaps adding parts of the 100 questions onto the last few slides as a "revision" would be good for those that are particularly keen. The answers can be released at the end of the session before exams.
33: Perhaps you could put up some milestone mini 10minute quizes in between lectures topics or at end of your lectures that the whole lecture can go through, just so that we know we're on par. In some of our lectures, we did finish a little bit early which is great, but the option of staying longer for a mini quiz could probably be useful for people struggling.
34: Simpler Questions that do involve the students. Not advanced or off track questions which involve a great understanding of the course
35: Since this course has been driven towards assignments, then present a formal lecture to prepare for the assignments. I understand this was done for Asst3 but it was not helpful somehow to my group somehow. So, formalized it. If not, the theory coverage is fine.
36: Some lectures cover a lot of material so kevin rushes in some of the lectures .This should be avoided.
37: The lecture notes should be more in details.
38: There should be some alternatives (in marking schemes etc) for middle-ranged students to survive in this course. Also, we really need to be guided with OS-161 codes, lectures and tutorials are just not enough because they all based on theoretical and the conceptual part of operating systems, not on the code. There should also be a system which balances the groupings so that good students help the not-so-good ones, with the condition that both contribute to the assignments.
39: They appear to be conducted quite well; furthermore, Elphinstone is not one of these lecturers who 'just reads off the slides', but at the same time not someone who goes off on irrelevant rambles - all in all, rather solid lecturing!
40: Trivia/fun section every 20 mins to wake us up.
41: Understandably you have to go slow enough for everyone to keep up, but it was a bit slow at times. for most of us it would have been sufficient to just say "FIFO paging" and a minute pointing out why that is different instead of the 15 mins spent walking through.
42: When you annotate your slides using your tablet PC, it is especially hard to read later. I don't know what you can do, but neater writing there would make a difference, especially since those slides are often assignment help.
43: excellent as is
44: give news about current OS trend, not only in extended but normal OS as well (news break?)
45: i thought the lectures were pretty good already. i felt that the lectures were a little rushed, so it would be nice to have an extra hour per week for lectures to go into more details on difficult topics such as vm.
46: maybe recording lectures
47: no
48: none
49: nothing can top the lecturer's teaching technique. Everything was covered properly and interestingly.
50: the slides should include low level implementation for better understanding
51: use more diagram
23. 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: Did not use other textbooks
4: Did not use other textbooks
5: I did not use text books at all
6: I didn't use any other textbooks.
7: N/A
8: N/A
9: N/A
10: NA
11: NA
12: Nil
13: Wikipedia is best for a getting a general understanding, then
14: better explained in implementation level
15: didnt use other text books
16: n/a
17: tannenbaum was really good except that some explanations are unnecessarily long and could have been summarised. overall i am quite happy with Tannenbaum
18: there was a textbook?
26. Any suggestions for improving tutorials?


1: A little extra time for tutorials would be great. Because sometimes the tutorial exercises weren't touched at all during assignment period as one tutorial wasn't enough for it. So one extra consultation hour(lecturer or tutor) a week during assignments might sort the above problem
2: Tutor B some times didnt come prepared to the tutes . if he is not aware of what the question are ,its hard for him to explain.We some times had andrew and some times rafael and i dont know why tutors kept switching.
3: Tutor B was a bit new, but he was pretty good, he just needs to get into his stride. Tutor A was awesome, bring back the "I don't do A.M." shirt!! Some of the tutorial questions were quite hard and only in retrospect did they make sense, I personally couldn't do some of the harder questions in the tutorial even with preparation.
4: Encourage tutors to help out on the course forums more... Also, perhaps some optional labs where we could attend for some hands on help.
5: Even though there were organised weekly tutorial questions, the actual tutorials turned out to be unstructured Q&A sessions on whatever topics students wanted to ask. Some students even tried to create questions based on the most recent lecture simply to obtain participation mark. The problem was that these questions were technically off-topic for that day.
6: Have people come out and use the board.
7: I would find useful if the tutor could make some small review of the past week of material during the tutorial in his own way of explaining. This gives a fresh perspective on the material and allows more focus during the rest of the tutorial.
8: It would be better if tutor comes on time
9: Lab works should be better?
10: More exam like questions.
11: N/A. Was in extension class, didn't attend tutorials.
12: NULL
13: Need practical labs.
14: Need to actively explore OS161 within tutorials.
15: No.
16: None
17: None, Tutor A was great!
18: Not really.
19: Tutor A was late a little too often (and didn't show at all once). That was a little annoying since we were always late for Tuesdays lecture for that reason (tute was before lecture). Please also see my comments above regarding the tute questions.
20: Tutor A FTW!
21: Tutor A was a great tutor! explained everything very well!
22: Remove participation mark.
23: Remove the ridiculous participation marks. It is counter-productive to learning and instead makes you focus on the marks you are getting for speaking rather than actually learning anything from the tutorial. Also, force the tutors to stick to answering the questions set out in the tutorial and not going off on their own and making up questions.
24: Sometimes there were too many questions to cover in just one hour. A longer tute or fewer questions would help.
25: Suggestion: Extended students should still have tutorials (bringing them up to 5hrs of face-to-face, a still modest amount). Perhaps their tutes could be more advanced, perhaps not.
Early on I offered to cover the tutorial prior to coveriing more material - nobody took up the offer. I'll offer more frequently next time around - maybe a regular 10 minutes at the start each week.
26: There were a few weird times when the content in the tutorial was ahead of the lectures, or several weeks behind which was confusing.
27: They were pretty alright.
28: Tutor on time?
29: Tutors should have structured presentation of the answers with discussion. More help in assignments.
30: extended tutes were a good idea
31: increase to a 2/3 hours tute (since there are no labs)
32: no
33: none
34: not really, they were pretty good. They left enough time for us to just ask questions about the course material and assignments which was good
35: use computer or something for showing the demo
33. Do you have any specific comments about OS/161
1: -
2: As with most other unix/linux implementations I find that the naming standards (variable/functions names etc.) are sometimes misleading and lack standardization.
Yes, callling the data structure that evetually becomes a process a thread control block erks me as well.
3: Doing the assignments wasn't the issue, it was understanding exactly what the scope was. It was kind of annoying to be muddling through the assignment for days, get stuck on something big, go to a consult and hear the tutor pretty much tell students what you'd spent the past few days working out.
This is a hard call - quite a few students need a little direction, but you learn/understand more if you figure out yourself, and have the tutor confirm its true. I hope we a giving a reasonable balance between the two.  
4: Good course in general, I felt like I learnt quite a bit of stuff compared to some other COMP courses. I finally got to understand how an OS works, something that I've wanted to know for a while.
5: Great comments to generally help get started implementing assignments
6: Great teaching OS. Very well commented.
7: Having been told that OS/161 is a stripped-down version of a real OS, my appreciation for the real OSes has increased significantly.
8: I did find it easier to deal with than I thought, it didn't feel like a big codebase.
9: It might be nice to have a "readme" txt document that came included with OS161 that gave a brief rundown of the file structure, little more detail than what was given in ASST..0? or ASST1.. I can't remember. This seemed to be a question that many asked in the tutorials.
10: It would be good if we were given more information on OS/161.
11: It's a good subject but I think it really got a hit (along with the rest of CSE) when the semester was reduced to 12 weeks. 12 weeks is fine if you don't have much to do during semester (e.g. Commerce - 2 exams and an assignment that doesn't get you to think). For CSE, you just get raped by your assignments.
12: It's great to work with, however it is riddled with extraneous CS161 stuff... so we cannot really rely on the comments, which can be confusing at times.
13: Keep using it!
14: NULL
15: No.
16: None
17: Nothing in particular, I guess it is a really good simulation for getting a good idea about the working of an OS
18: Nothing wrong with it
19: OS161 was quite strange and foreign to me as a program. And took quite a bit of time to link the concepts we were talking about with the actual code of OS/161.
20: One of the few changes in CSE coursese to work with a large code base, so a very useful experience, however I feel that a little too much was given to us for 'free', alot of the code we wrote in the assignments was dictated by the style of the existing code, so it would be nice to do more from scratch.
You should take the advanced course!
21: Overall, a good OS to learn from...
22: Quite a good educational OS
23: The course is good and is tought well but the group work is not necessarily a good idea.I did all my assignments by myself even though i was in a group for the first 2 assignments and later on I split.
24: The fact the OS/161 is widely used by universities was helpful, as we could often find lecture notes etc. from other universities that helped to clear up some of the more difficult concepts.
Drop me an email as to the location - I'm very happy to explicitly point to other helpful material elsewhere
25: The way it's written is very confusing. I guess it's probably due to my lack of C programming experience. Variable and function names are a mess.
26: With eclipse, viewing the source is a charm. I can't imagine using other IDE. In general, i think that OS/161 is a pretty good platform to get started.
27: having a online source documentation tool on the course website would make it easier to discuss assignments with your partner: http://www.student.cs.uwaterloo.ca/~cs350/common/os161-src-html/
28: no
29: no
30: none
31: o/s161 is hell. it takes way too much time and effort to learn the code base and what goes on inside the system, where function calls go and what gets changed. i barely had time to examine it with all of my other subjects and relied mostly on my partner to do all of the work. as a result we both suffered heavily. i understand why os161 was chosen, it makes sense once alot of time has been spent on it, but its just not practical on such a short timescale of 12 weeks. i think i could have learn the same concepts on a different codebase in a more reasonable amount of time, but i guess the point is about practical experience with a real o/s that counts and i'm glad for that in the end - i wouldn't change it. i just wish we had more time to play around with it.
32: os161 to reflect more about working on a real os.
37. Any suggestions for improving the assignments?
1: - The hardest part about the assignments was figuring out how to start. That's not saying that the assignments became easy afterward. A concrete guidance on where and how to start would help significantly. - Once we figured out what was needed for the assignments, the next biggest challenge was to divide up the work among the partners so no one was overloaded or deprived of learning opportunities. It would be helpful if we were given a suggestion on how the work should be split among the team members.
2: A sheet on the C library functions we needed to know about would have helped? And my point in Q22 about the 4 VM segments.
3: Assignment were pretty good. But if there would have been more time then I would suggest the third assignment to be a little more harder as it really helps in understanding the memory management system, so a little more time spent with the assignment will be of great help in understanding theory with a practical approach
4: Assignments were ok, but feedback was really slow. If assignments could be marked sooner that would be better.
5: Better/Fairer explanation of the scope.
6: Challenge, but implementation was difficult.
7: Extend the deadline
8: Get rid of assingment 0, wa too much time was wasted on it which could be spent on the real assignments. I also like the idea of making groups optional. However I am biased because I wasn't happy with my partner this time, I have had good experiences with group work in the past.
9: Give away more info upfront + along the way
10: Give us the assignment based part of this survey just after we do that assignment. Most of the things you're asking happened so long ago.
11: Giving us more information on how to approach the assignment and how each function interacts with each other. Since I had to wait till the tutorial to find out how each of the function works and by then I had wasted alot of days where I could have been working on the assignment. Also assignment 2 and 3 were very confusing, some detailed instructions on what to do would be good
12: I constantly needed more time to do the assignments. I certainly never made the 10% bonus and so couldnt even attempt the advanced assignment - I think this is a spurious requirement and should be removed, especially for 3891 students (I guess you could argue a 3891 student *should* be make the 10% bonus deadlines, but due to the inflexbility re: extensions, those of us with other commitments found it very difficult to). Pair assignments will 80% of the time mean one person does no work and the other does all of it.
13: I ran out of time. Perhaps more skeleton code.
14: I think the guided questions should be better directed. Rather than pointing to code that happen behind the scenes which we don't need to worry about. Or keep them and put in with more helpful questions
15: Individual assignments would be preferable. Getting assignment results earlier would be preferable... Dryrun tests in give would have been nice.
16: It would be nice if solving an assignment was sufficient for all related aspects to work (eg do VM and fork just works) without modification. This would make it easier to see if your implementation works, write more adventurous tests and have a greater sense of achievement!
17: Make the specs a lot clearer!
18: Make them clearer as in which specific parts of the code should be looked at. The stubs really helped.
19: More guidance needed. Alot was given, however the learning curve was still very steep. It took alot of time to get familar with os161
20: More time should be spent explaining the ins and outs of OS161 with regards to the assignments. Tutor A did a good job during the tutorials but they don't last too long. Paper and hard copies of specs are often nice.
21: My partner wrote about 5 lines of code all semester for the assignments. Can't you use SVN blame and award the marks appropriately?
You need to explicitly state relative contribution if you're unhappy with your partner.
22: Need to be more and harder.
23: No suggestions .I think they were very relevant to what was being taught in lectures.
24: No suggestions but just a comment. The assignment sheet is too long. Ever consider sectioning it? Do a search on the web and it is found that all universities in the world are using the same syntax. Can this course be a bit more unique?? :-)
25: No, they were great! :)
26: Organization and clarity of what we're asked to do could be better in the assignment specs. The list of steps in the ASST3 spec was very helpful.
27: Perhaps a bit more support for ASST3 earlier on. It took a long time to understand it.
28: Perhaps more of a specific walkthrough of what needs to be done? Rather than "look through the files and fill in what's missing".
29: Please let average students survive.
30: Provide more test cases that are already written, the last thing I want to do when the deadline is approaching is having to worry about last minute writing of code to think about all possible test cases. An alternative would be to encourage more people to post their test codes. The bonus questions only ever help those students that would get HD anyways. But the real enrichment should be for everybody.
31: Reduce the difficulty of ASST3. As it is at the end of the session, it clashes with assessments from many other subjects and makes it near impossible to complete - despite the extra couple of days.
32: Some more advanced parts!
33: The intro to SVN in the assignments (not the lecture) needs to be a little more detailed. There were times where I just typed whatever and hoped for the best, as I did not understand what the commands were really doing aside from a vague "this merges my changes into... the branch which is somewhere... probably in a different location to the trunk.."
34: be released earlier to leave more possible consultation times before it is due
35: i liked the idea of the advanced assignments, and the flexibility about them. i only wish i had more time to spend on the assignments...
36: maybe more mini assignments (like ASST0) that don't count for any marks but help you mess with the codebase and learn the parts before the real assignments are released. it would help ease the suffering from being thrown into the deep end when you have to deal with virtual memory all of a sudden and have nothing to work from.
37: more incentive to do the advanced assignments. having the late penalty be off the maximum mark instead of your actual mark.
38: no
39: none
40: peer assessment for partner
39. What were the strong points of COMP3891/9283?
1: -
2: Assignments.
3: Extended parts of assignments. Lectures that were interesting but not going to be assessed (majorly lacking in uni these days).
4: Fun
5: Great exposure to more, interesting examples from OS community. No pressure to complete tutorials each week -- onus to do self study instead
6: I don't lose any marks for not having actually made use of the Advanced assignments or Extended lectures ;)
7: Interesting facts and knowledge were taught
8: Interesting lectures.
9: Interesting topics
10: Interesting topics covered, especially Virtual Machines.
11: Learning much more about the box we use
12: N/A
13: No tutorial participation marks. Extended lectures were mostly interesting, even though I only attended a few due to timing issues
14: Quick paced lectures kept interesting. Encouraged further understanding of 3231 concepts and cemented them.
15: The extra topics studied in the advanced lectures was quite interesting
16: The fact that we did not need to go to tutorials, and inevitably get bored, was a major plus, as was the material covered in the lectures.
17: learning in depth about interesting topics (such as fast mutex).
40. What were the weak points of COMP3891/9283?
1: -
2: I didn't feel that the lectures were that useful. Interesting, yes, but not very applicable to anything else in the course (including the exam).
3: It doesn't force me to do any more than COMP3231, yet I get COMP3891 on my transcript...
4: It was canceled a few times.
5: N/A
6: No pressure to check tutorial answers or course progress.
7: Powerpoint
8: Short notice Cancellations =(
Sorry, had the flu that day - the non-swine variety thankfully
9: Since there is no extended question on the exam, there isn't enough motivation to learn the material thoroughly.
10: That we ended up missing quite a few weeks.
11: could be more interactive ... things you get taught in lectures will be forget quite quickly if not reinforce by something. tute questions or tiny coding execrise ...then again .. adding too much to the current work load is not a good idea
12: not really having much of a say and what we covered.
41. Any suggestions for improving COMP3891/9283 Extended OS?
1: -
2: Add an exam question, or make the extended part of the assignment compulsory for extended students.
3: Anything I think I'd be suggesting would be something that I would assume would be covered in Advanced OS.
4: Have additional assessment for the advanced class. Either extra questions in the exam, or make the advanced parts of the assignments compulsory and not bonus marks
5: Having first 20min of tut for tut questions then rest for extended material
6: Less powerpoint, more focus on OS161 in lectures. More sample code.
7: N/A
8: Perhaps model solutions to a recently finished assignment?
9: Pointers to additional material that we could investigate?
10: Should be more informal discussion? i.e. more like a tutorial and not be in a lecture theatre
11: allow students to choose topics at the beginning of the course
12: may be get the students to come up with a list of things that want to learn.. and pick topics from that list
43. Do you have any particular comments you would like to make about the exam?
1: -
2: 2 hour exams are spot-on.
3: Assignments are a better way to learn and prove understanding. Exams don't guarantee understanding.
4: Didn't ask a wide enough range of questions. Weaknesses in small areas make a huge impact when the exam is so limited. Have more application questions, just regurgitating the textbook is boring.
5: Duration too short to adequately answer each question fully.
6: Even though I generally knew the answer to the questions in exam, I still find myself a little bit rushed, I did the last part of last question in exam in 3 minutes and consequently not enough time to think thoroughly
7: Exam was good, effort is proportional to performance.
8: Exam was hit and miss.
9: Good exam, however I felt the subtractive marking for the true/false was a little cruel.
10: I could have spent 3 hours answering the paper, perhaps I just write slow or was a bit dopey on the day, but I was rushed to get it done in 2 hours and missed the last few marks. I did extended and don't think its my knowledge. Exams shouldn't test speed, if someone can get the answers eventually then they know it. An extra hour would be useless to someone that doesn't know the material. Also, the exam was weighted more towards memorisation and less towards understanding.
11: I find it difficult too be worried about all pros/cons of each algorithm or method presented. Perhaps it would be a good idea to only put those type of questions as true/false or multiple answer (and tell students this about the exam) and include some questions that relate to some os/161 important stuff. Also I found misleading that some of the questions were so similar to the practice exam/questions but sometimes had one or two words different which made you wonder if there is really any difference with the past questions. In other words, I found that the wording of some of the questions was rather vague and too open to interpretation on the part of the students.
12: I found the exam quite easy, perhaps due to the extreme similarity between our final exam and the sample paper and practice questions given. This makes it easy to do well simply by rote-learning the expected responses for different types of questions, rather than calling for a deeper understanding of the issues. Questions of a broader nature that require students to apply knowledge from multiple aspects of the course may do a better job of determining the quality of a student's understanding. At the moment it tests whether or not you have spent time doing the practice paper and questions.
13: I had the supplementary (oral) exam, so the comments above are not about the general written final exam.
14: It was a fair representation of the course's material.
15: It was a very fair exam, good distribution of topics. The 100 sample questions helped ALOT!
16: Multiple choice mark deduction was evil!
17: My exam timetable were packed. So, revising work was really tough. Especially earlier lecture topics has made me forgotten the lot of its theory.
I've no control over the exam timetable.
18: N/A
19: No
20: Not much explanation was happening. No questions regarding approaches appeared despite showing up in the sample questions and exam.
21: Question 1a slightly ambigious, should it be a function or call, or theoretically implemented
22: Re: assessment weightings... why does CSE use this harmonic mean so frequently? It seems to me that if you do badly in one half of the course, you simply do pretty badly overall... I've always hated that, not that I've ever done particularly badly, it's just annoying to think that if you stuff up one thing it can really screw things up for you.
23: Seemed easier than I was expecting.
24: Seemed pretty balanced.
25: Seemed to miss large sections of the course. It would be nice if we were either told which sections would be covered, or if they all had some coverage.
26: Some of the multiple choice questions were a bit ambiguous (e.g. there was a question of whether you could construct a robust time sharing system from base/segment registers - what does robust mean?), which made answering them risky as you lost marks for incorrect answers.
27: Some of the questions were a bit obscure and were not the focus of lectures and tutorial questions.
28: Some of the things tested were not essential things for OS. More important things were not tested.
29: T/F questions should not be penalised
30: Tell us that we need pencils next time!
31: The 100 sample questions were a great help!
32: The allowance offered to PG's should be extended to undergrads as some of us actually have to work for our living and are in just as hard a position to devote tremendous amounts of time to the assignments.
33: The length of paper should be set according to the time allowd to do the exam. The exam paper was too long to complete in 2 hours.
34: The practice exam was much easier than the actual exam, which was a little off putting, but nothing major. I'm glad there were not 'enumerate what happens on an interrupt, including the calling of C code and pushing onto the stack etc etc' those questions are more rote than understanding, I was glad that the exam was more deeper understanding questions.
35: The sample question was a great help in revising for the exam.
36: The sample should be more representative of the real exam difficulty.
37: To be honest, there was ALOT of material to revise covered by the course and revising them all for the exam can be very stressful at times.
38: Unfortunately the exam was at the end of a long week of other exams and I only had an afternoon and morning to study for it, so my mark will not be indicative of how well I could have gone. It was a very decent exam that was not too hard at all. But it is a matter of scheduling and is as always pot luck.
39: When I say "The final assessment should be weighted more towards the exam", what I actually mean is that the final exam is a lot easier than the assignments. Perhaps the assignments should be marked easier.
40: You tested alot of memory, but only the concurrency section really tested the ability to think
41: at times were unsure whether my answer was too long or too short, maybe providing a rough guideline on how long each response should be would be good.
42: i'm not sure why the exam was only 2 hours (my gut tells me it was to make it harder!) i think given the amount of content in the course, a 5 hour exam may have been more sufficient. though i think the level of difficulty of the questions was fair - you either knew it or you didn't, no bull**** involved.
43: it was a bit lengthy. ran out of time at the last question
44: it's hard to make up a sentences during exam, it's too rush for me.. that's the problem for me
45: no
46: nothing in particular
47: the questions are too open. This combined with so many notices about keeping answers concise made it hard to demonstrate my knowledge
47. Any other comments/suggestions that might help us to improve the course in the future?
1: - Mid session quiz for earlier topics and cater for later topics in the exam. - Scrap harmonic mean(it's depressing). - I find that OS theory is rather interesting but the assignments are too intensive that it has deluded the concepts. - A lab session with tutors might help students with assignments and OS161 environment. - A restructured assignment website. Section them such that it is clear.
2: 14 Week sessions! I want to learn more :P
3: Add more novelty, such as done in the last week, to present some cutting edge (rather than classic or 8 year old new) material to the course.
4: I actually dont know how cheaters are treated so I cannot really comment.
5: I am not a fan of the use of the harmonic mean to calculate the final mark. While it may seem like it is a way to make sure that people getting decent marks are competent at both implementing things and writing about them in the exam, workload from other courses (and for some of us, part time work) makes it hard to devote as much time as desired to the assignments, so submissions are inevitably rushed, and the harmonic mean makes it hard to make up lost marks in the exam.
6: I have been taught how to use SVN in at least 4 different CSE courses now (2911, 2041, 3141, 3231), each of which wastes about an entire lecture on it. I think with 12 week semesters you cannot afford to waste a lecture on this, and it is reasonable to expect that by 3rd year students are capable of reading the manual for themselves. Perhaps provide instructions on the course website and set it as required reading in week 1.
Excellent to know - svn is hereby removed from the course...
7: Increase total lecture hours to cover more topics.
I'm not allowed to, even if I wanted to, and could not survive the rebellion from those who want less.
8: It is quite a good course! It will be even better when the semesters become slightly longer once more.
9: Keep Tutor A on as a tutor, he was one of the best, most energetic and confident tutors I have ever had.
10: Labs needed.
11: Labs or exercises to ramp up to the assignments. Each assignment is a different topic, so inbetween there should be small exercises or labs to help with implementation.
12: Loved, *loved* the extended lectures. I wish we did cover IPC, the networking stack (and ports). They feel like gaps in my knowledge.
13: Need more time with tasks.
14: No harmonic mean. Its more motivational, when you can count the marks as you earn them.
15: No.
16: Not really, this was a great course overall. :)
17: Not that I can think of.
18: Overall a good course. And I'm not just saying that for the bonus marks.
19: Please do not delay the information on the assignments, release the whole texts with explanations of what's going on!
20: Please don't overlap assignments. Please don't have an assignment due during stuvac. Please give our results back quicker. I really wanted to know how I went for assignment 2 since it didn't actually work and I was curious to see how much of a weighting the design doc had against the automarking.
If you collect the assignment you can see the marking breakdown.
21: The Exam covers everything in the course .. while the assignment .. target a specific idea. So what i found is i spend majority of the time in understanding and doing the assigments .. but its really only covers a tiny bit of the course ... if the exam and the assigments are more closely related that will be good ...
22: The tutors should be more prepared while coming to the tutes. There should be some incentive for people who do assignments individually. Avoid free rides in groups.
23: There should be at least one more consultation hour during the assignments.
Yes, but it is hard to justify given all the times I showed up to find nobody. Is it that hard not to leave it until the last consult before? I'll look into some extras the week before.
24: Tutors were very lax in returning marks. I don't know if this is because I did extended, but it took far too long for any real feedback, regardless of how long it must have taken to complete all the marking.
25: Why does this course require COMP2121? We didn't really use any of the concepts learnt in COMP2121. Any assembler you showed us was only of a token nature and we only ever needed to understand C in the assignments.
26: With regard to the message board, even though it's a good idea, most students apparently have very poor writing skills. A lot of time was wasted simply trying to understand what a student was asking in order to see if the problem presented was similar to mine. The topic titles were often too general too. Additionally, the search box did not work as well as it should (actually I don't think it worked at all).
27: don't make it the same with other uni, i found some similar solution on google :p
28: i liked the introduction of some active research topics in class - maybe it was in tutes, can't remember. overall, an excellent course, it felt polished and well-thought. i probably learnt some of the few useful things i'll take from my degree in it. actually, i don't recall things getting marked very quickly at all. that was annoying - maybe you should hire some more cse goons
29: if you really, REALLY want to improve the course in the future, make the assignments HARDER. maybe like 5 assignments instead of 3.

That is what the advance versions are for, I can't reasonably expect to increase the load.
30: no
31: none, generally this course is well equipped to help its students

Overall observations
  • The demand for more windows related material is still strong. I'll keep trying to include some more material (I did in extended), but the difficulty is lack of available time in  the course, and availability of information.
  • Assignment 3 (and the assignment 2 to some extent) is very challenging for some. Next semester, my plan is to release the answers to the guide questions for each of the assignments, provide a few more hints. Also, we'll be more specific about which test binaries should work for a potentailly valid solution - note, we wont provide you with something that confirms complete correctness - you have to do some thinking yourselves.
    • Sorry to those who want it harder - do the advanced sections, or AOS in the next session.
  • SVN
    • I think given several years of good feedback on svn, we'll settle on it and remove the survey questions.
  • Message board
    • This seems to be matured as well - might explore a wiki, am doubtful it will be significanly different to the message board.
  • Marking
    • Yes, we were a little slow this year. FYI: we don't start the marking until after the hard deadline (a week after the actual deadline), and 2 weeks is a reasonable amount of time to mark assignments. So the best I can offer is the marks returned 3 weeks after the normal deadline.
  • Participation
    • Suprised to see some debate on this. The idea of participation marks is to encourage participation and avoid simply showing up in silence to confirm answers - something that is a waste of time for all. How well this works is tutor dependent - I'll discuss it with them next year. The marks add to the class mark component for those struggling with the assignments.
  • Exam
    • Seems to be a balance between too hard, too easy; rote learning, testing understanding; too short, too long. So on the balance I think it is about right. The mark distribution was fairly normal as well. 
Thanks again for the feedback.


©2003-2004, phpSurvey