My comments are in red....
Survey ID 1261
Title COMP3231/3891/9201/9283 08s1
Description Course survey for Operating Systems
Anonymous Yes
Fill Ratio 86% (72/84)
# Filled 72
# Suspended 2
# Not Filled 10
(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 50 (69%) 18 (25%) (6%) (0%) (0%) 0 (0%)
Guest Lecturer: Herbert Bos 28 (39%) 32 (44%) 10 (14%) (3%) (0%) 0 (0%)
General OS lectures 31 (43%) 33 (46%) (10%) (1%) (0%) 0 (0%)
Consultations 23 (32%) 21 (29%) 22 (31%) (0%) (0%) 6 (8%)
Your tutor 37 (51%) 23 (32%) (11%) (1%) (1%) 2 (3%)
Tutorials 23 (32%) 38 (53%) (10%) (1%) (3%) 1 (1%)
Asst1: Synchronisation 22 (31%) 32 (44%) 16 (22%) (1%) (1%) 0 (0%)
Asst2: Virtual Memory 24 (33%) 26 (36%) 18 (25%) (3%) (3%) 0 (0%)
Textbook 23 (32%) 24 (33%) 20 (28%) (1%) (1%) 3 (4%)
OS/161 In general 19 (26%) 38 (53%) 11 (15%) (4%) (1%) 0 (0%)
C Language 26 (36%) 25 (35%) 18 (25%) (4%) (0%) 0 (0%)
Computing resources 23 (32%) 32 (44%) 14 (19%) (3%) (0%) 1 (1%)
Course web page 26 (36%) 32 (44%) 13 (18%) (1%) (0%) 0 (0%)
Message Board 21 (29%) 33 (46%) 15 (21%) (4%) (0%) 0 (0%)
Help with technical questions 28 (39%) 29 (40%) 15 (21%) (0%) (0%) 0 (0%)
Lecture slides 32 (44%) 23 (32%) 13 (18%) (6%) (0%) 0 (0%)
Operating Systems overall 39 (54%) 26 (36%) (7%) (1%) (1%) 0 (0%)
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 51 (71%) 18 (25%) (4%) 0 (0%)
Chance to get hands dirty with low-level code 35 (49%) 23 (32%) 14 (19%) 0 (0%)
Jobs propects for OS hackers 14 (19%) 26 (36%) 32 (44%) 0 (0%)
Would llike to do OS research 16 (22%) 30 (42%) 26 (36%) 0 (0%)
Course is core for me 39 (54%) (7%) 28 (39%) 0 (0%)
Friends told me it was good 21 (29%) 15 (21%) 36 (50%) 0 (0%)
Chance to do challenging programming assignments 31 (43%) 26 (36%) 15 (21%) 0 (0%)
3. Any other factor that influenced your decision?
Question type : Short-answer
Answer at the bottom page (29 comments)
4. Would you recommend this course to another student such as yourself?
Question type : Single answer -- Radio Button
Yes 66 (92%) chart
No (8%) chart
N/F 0 (0%)
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 (3%) (8%) 61 (85%) (3%) (1%) 0 (0%)
Low-level (implementation) issues (0%) (10%) 47 (65%) 12 (17%) (8%) 0 (0%)
Unix/Linux (0%) 11 (15%) 40 (56%) 17 (24%) (6%) 0 (0%)
Windows NT (0%) (6%) 24 (33%) 26 (36%) 18 (25%) 0 (0%)
OS/161 Internals (1%) 11 (15%) 49 (68%) (11%) (4%) 0 (0%)
Other Systems (0%) (8%) 29 (40%) 21 (29%) 16 (22%) 0 (0%)
I'm gradually adding more windows related content as the course evolves
6. What were the best things about this course?
Question type : Long-answer
Answer at the bottom page (64 comments)
7. What were the worst things about this course?
Question type : Long-answer
Answer at the bottom page (61 comments)
8. How does the workload in this course compare to workloads in other ...
Question type : Single answer -- Radio Button
Similar Much
COMP courses (0%) (7%) 32 (44%) 26 (36%) (13%) 0 (0%)
INFS courses (0%) (6%) 25 (35%) (13%) 25 (35%) 9 (13%)
Courses in general (0%) (8%) 17 (24%) 29 (40%) 19 (26%) 1 (1%)
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
Neutral Strongly
Lectures 43 (60%) 22 (31%) (7%) (0%) (0%) (3%) 0 (0%)
Tutorials 47 (65%) 12 (17%) (7%) (0%) (0%) (11%) 0 (0%)
Consultations 27 (38%) (13%) (7%) (0%) (0%) 29 (40%) 2 (3%)
10. How does the quality/value of this course compare to other....
Question type : Single answer -- Radio Button
the best
Average Among
the worst
Year 3 COMP courses 34 (47%) 24 (33%) 12 (17%) (1%) (0%) 1 (1%)
COMP courses in general 32 (44%) 26 (36%) 13 (18%) (1%) (0%) 0 (0%)
Courses in general 34 (47%) 25 (35%) 10 (14%) (3%) (0%) 1 (1%)
11. Do you think it would be better if the course used Java-based assignments?
Question type : Single answer -- Radio Button
Yes 12 (17%) chart
No 60 (83%) chart
N/F 0 (0%)
12. Would it be preferable if more of the pre-requisite courses used C?
Question type : Single answer -- Radio Button
Yes 35 (49%) chart
No 37 (51%) chart
N/F 0 (0%)
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 (53 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 (19%)
Processes (6%)
Threads (6%)
Low-level implementations issues 30 (42%)
Synchonisation and concurrency 13 (18%)
Deadlock (10%)
Memory Management and Virtual Memory 36 (50%)
File Systems 21 (29%)
I/O Management 18 (25%)
Scheduling (7%)
Multiprocessor Systems 20 (28%)
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 (64 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 (47 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 (50 comments)
4. Lectures
18. Is the current mode of lecture delivery, using computer-projected slides, effective?
Question type : Single answer -- Radio Button
Yes 67 (93%) chart
No (6%) 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 21 (29%) chart
Most of the time 42 (58%) chart
Sometimes (10%) chart
Rarely (1%) chart
Never (0%) 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 25 (35%) chart
Most of the time 35 (49%) chart
Sometimes (10%) chart
Rarely (1%) chart
Never (0%) chart
N/A (4%) chart
N/F 1 (1%)
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 (29 comments)
22. Any suggestions for improving lectures?
Question type : Long-answer
Answer at the bottom page (49 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 (24 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 34 (47%) 20 (28%) (8%) (0%) (1%) 10 (14%) 1 (1%)
The questions were appropriately timed 20 (28%) 27 (38%) 11 (15%) (4%) (1%) (13%) 1 (1%)
The questions were of appropriate difficulty 18 (25%) 36 (50%) (8%) (4%) (0%) (11%) 1 (1%)
The questions should have increased difficulty (8%) 21 (29%) 17 (24%) 13 (18%) (6%) 10 (14%) 1 (1%)
The number of questions was appropriate 13 (18%) 28 (39%) 16 (22%) (7%) (1%) (11%) 1 (1%)
The number of questions should be expanded (13%) 11 (15%) 22 (31%) 15 (21%) (6%) (13%) 2 (3%)
I always prepared for the tutorials 10 (14%) 22 (31%) (13%) 16 (22%) (4%) 11 (15%) 1 (1%)
Preparation beforehand improved my understanding of the material 23 (32%) 19 (26%) 12 (17%) (1%) (1%) 15 (21%) 1 (1%)
Class participation is important for understanding the material 28 (39%) 17 (24%) (10%) (8%) (3%) 11 (15%) 1 (1%)
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 21 (29%) (8%) (4%) (0%) (0%) 36 (50%) 6 (8%)
Tutor B 25 (35%) 11 (15%) (1%) (0%) (0%) 22 (31%) 13 (18%)
26. Any suggestions for improving tutorials?

Question type : Long-answer
Answer at the bottom page (34 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 (13%) 18 (25%) 35 (49%) (13%) (0%) 1 (1%)
Asst2: Virtual Memory (0%) (4%) 22 (31%) 30 (42%) 16 (22%) 1 (1%)
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 32 (44%) 11 (15%) 20 (28%) (7%) (3%) 2 (3%)
Asst2: Virtual Memory 10 (14%) 13 (18%) 20 (28%) 12 (17%) 15 (21%) 2 (3%)
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 26 (36%) 24 (33%) 16 (22%) (6%) (1%) 1 (1%)
Asst2: Virtual Memory (10%) 18 (25%) 23 (32%) 17 (24%) (7%) 2 (3%)
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 10 (14%) 19 (26%) 26 (36%) (6%) (11%) (4%) 2 (3%)
Implementation is difficult 19 (26%) 18 (25%) 15 (21%) (7%) 10 (14%) (4%) 2 (3%)
Lack of familiarity with C (6%) (10%) 16 (22%) (10%) 33 (46%) (4%) 2 (3%)
Lack of experience with a large code base 14 (19%) 14 (19%) 16 (22%) (8%) 18 (25%) (3%) 2 (3%)
Lack of experience debugging C 14 (19%) 11 (15%) 21 (29%) (13%) 13 (18%) (3%) 2 (3%)
Lack of previous low-level programming (13%) 15 (21%) 19 (26%) (7%) 18 (25%) (4%) 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? (1%) (3%) 15 (21%) 18 (25%) 35 (49%) 1 (1%)
32. Do you have any specific comments about OS/161
Question type : Long-answer
Answer at the bottom page (34 comments)
33. 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 25 (35%) 17 (24%) 18 (25%) (11%) (1%) (3%) 1 (1%)
SVN is relatively simple to learn to use 21 (29%) 19 (26%) 21 (29%) (10%) (4%) (0%) 1 (1%)
SVN just gets in the way and should be not be used (4%) (13%) 19 (26%) 12 (17%) 27 (38%) (1%) 1 (1%)
SVN is reliable with no real hiccups in use 12 (17%) 20 (28%) 24 (33%) (7%) (11%) (1%) 2 (3%)
SVN was useful to transport code between UNSW and home 19 (26%) 15 (21%) 17 (24%) (11%) (8%) (8%) 1 (1%)
Seems that SVN was pretty successful and robust to learning mistakes compare to revision control systems we have used in the past. We will use again next year.
34. 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 24 (33%) 13 (18%) 16 (22%) 12 (17%) (8%) 1 (1%)
Groups reduce the assignment workload 21 (29%) 14 (19%) 17 (24%) 13 (18%) (8%) 1 (1%)
Groups should be optional, but every submission is marked the same 14 (19%) 17 (24%) 23 (32%) (6%) 12 (17%) 2 (3%)
Groups are unfair as inevitably one member does all the work 11 (15%) 17 (24%) 27 (38%) (13%) (10%) 1 (1%)
Larger groups would be better (10%) (10%) 13 (18%) 16 (22%) 28 (39%) 1 (1%)
Having a partner to help understand the assignment really helps 27 (38%) 20 (28%) 12 (17%) (11%) (6%) 1 (1%)
The general conclusion again is that the benefits of group work outway the complexities.
35. What do you think of the advanced assignments?
Question type : Single answer -- Radio Button
Great Idea! 24 (33%) chart
14 (19%) chart
Don't care 23 (32%) chart
(3%) chart
Abolish! (7%) chart
N/F 4 (6%)
36. Any suggestions for improving the assignments?
Question type : Long-answer
Answer at the bottom page (41 comments)
7. COMP3891/9283 Extended Operating Systems
Skip this section if you did not do COMP3891/9283 Extended Operating Systems.
37. How would you rate extended OS as a whole?
Question type : Single answer -- Radio Button
Excellent (7%) chart
(6%) chart
Average (1%) chart
(0%) chart
Poor (0%) chart
N/A (3%) chart
N/F 60 (83%)
38. What were the strong points of COMP3891/9283?
Question type : Long-answer
Answer at the bottom page (7 comments)
39. What were the weak points of COMP3891/9283?
Question type : Long-answer
Answer at the bottom page (5 comments)
40. Any suggestions for improving COMP3891/9283 Extended OS?
Question type : Long-answer
Answer at the bottom page (5 comments)
8. Exam
41. 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 (1%) 12 (17%) 33 (46%) 22 (31%) (3%) 2 (3%)
The exam overall was too short - i.e. it should be 3 hours (11%) 18 (25%) 15 (21%) 19 (26%) 10 (14%) 2 (3%)
The exam should contain more True/False questions (6%) (6%) 28 (39%) 27 (38%) (8%) 3 (4%)
The exam gave me the oppurtunity to demonstrate my understanding of operating systems (8%) 36 (50%) 18 (25%) (10%) (3%) 3 (4%)
I think my exam result will be representative of my operating systems knowledge (6%) 24 (33%) 25 (35%) (13%) (11%) 2 (3%)
The final assessment should be weight ed more towards the exam (8%) (7%) 29 (40%) 20 (28%) 10 (14%) 2 (3%)
The exam seems to have been on the mark, maybe a little easy if anything.
42. Do you have any particular comments you would like to make about the exam?
Question type : Long-answer
Answer at the bottom page (39 comments)
9. Miscellaneous
43. 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 32 (44%) 17 (24%) 14 (19%) (6%) (0%) (4%) 2 (3%)
44. 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 25 (35%) chart
10 (14%) chart
Indiferent 20 (28%) chart
(6%) chart
No way 11 (15%) chart
N/F 2 (3%)
45. 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 (7%) chart
(6%) chart
Just right 59 (82%) chart
(0%) chart
Too harsh (1%) chart
N/F 3 (4%)
46. 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)
47. What do you think your final result will be for the course?
Question type : Single answer -- Radio Button
HD 15 (21%) chart
DN 13 (18%) chart
CR 18 (25%) chart
PS 11 (15%) chart
FL (0%) chart
No Idea 13 (18%) chart
N/F 2 (3%)

Back to Summary
3. Any other factor that influenced your decision?
1: Already doing a thesis on verification of seL4
2: Core subject
3: Fit my timetable well.
4: Friends told me it was one of the best courses to do at CSE
5: Generally Interested on how OS is implemented
6: Interest in embedded / low level in general
7: Just wanted to know how it all works!
8: Material is good
9: My Boss told me that I had to do OS and Compilers
10: NA
11: No
12: No
13: No
14: No
15: None
16: Seemed like a course that involved all aspects of computing and answered the question "how things work"
17: Special interest for C
18: Wanna know more about hardware control manner
19: Work (OKL) :P
20: friends were doing it too
21: help me write my own OS in the future
22: n/a
23: no
24: no, I just want to understand how does os work
25: none
26: none
27: none
28: none
29: whoever doesn
6. What were the best things about this course?
1: - Interesting lecturer and material - Helpful tutorials/tutor - Relevant assignments - Good lecture notes
2: All topics covered in the course is useful. My tutor described the tutorial materials clearly and is very helpful to me.
3: Assignments were challenging but not impossible. Lecturer was excellent at delivering the lectures and subjects were fairly interesting.
4: Being able to play around with a raw operating system
5: Being able to understand how and operating system worked from a high level and having that knowledge really help the using and programming it.
6: Being exposed to the fundamentals of OS and trying to put that theory to practice
7: Challenge of the programming assignments was great, gave us a need to put alot of thought into each bit of code we made. Also the debugging was...difficult, but definitely something worth while to learn.
8: Challenging
9: Detailed notes and explanations about all the concepts, challenging assignments
10: Excellent lecture delivery by Kevin, well organized by him and admin, nice challenging assignments, everything as per the original schedule, overall a wonderful experience.
11: Explanation of OS concepts and relating them back to our own computers.
12: Gave an actual good insight of an actual Operating System... Great tutor.. and Great Text Book.
13: Getting to see the bridge between C code and ASM code working. Really like the VM assignment though would have been nice to have Fork and GetPID working as it made it very hard to debug.
14: I can learn a lot of hardware resource management method, and it is an aid of more creation.
15: I would have to say the lectures. When I enrolled into this subject, everyone was saying how hard it would be...seeing as though it was a core subject I didn't have a choice. I didn't really know much about Operating Systems - just knew that it was computer related. However, the lectures were heaps interesting, as I got to learn a lot about how the computer pretty much works. The lecture contents were pretty ok, some were more challenging than others, but overall they were all very very very interesting to me =) which I found good about this course. The tutorials were useful as well, in that questions closely related to the course content were addressed and the tutor's explanations were really good. =) The fact that tutorial participation marks were a 'factor' in obtaining marks, people were more involved - which was good, as I got to hear other people's ideas and how they viewed things - and also why they didn't work or why the operating system is as it is now. The assignments weren't too bad, the first one was really good, as we got to actually solve some real concurrency problems - which was addressed in lectures. The second assignment was a little confusing though >__< and seeing as though I had another assignment (AI) due also, well we didn't get the chance to full understand it and hence implement the code, like in asst1 =( which was a shame. Apart from that -> I am really happy I took this course...even though I had no choice but to!
Thanks for the detailed critique you largely describe what we were trying to achieve in the course
16: Interesting Material, Challenging
17: Interesting lecture
18: Interesting material and assignment. It covers a bit of everything from many other comp course.
19: Interesting; now i have some what of an understanding of how something that I use everyday works
20: It allowed us to explore the unknown, basically it was interest learning what happens inside a box with small peripheral devices, after all it people are using it on a daily basis.
21: It covered a range of topics and problems in operating systems.
22: It involved the usage and understanding of a wide spectrum of computing and related issues. I liked the fact that it had related issues from low level to high level and answered the question to a great degree of "how things work". I also enjoyed the assignments in what we were asked to implement. It is something I'd look at doing in more depth in the future.
23: It was challenging and the material was quite interesting
24: It was interesting to see the underlying mechanics of something I have been using for a long time
25: It was very very interesting. So interesting I did a lot of research into OS programming in my spare time. It was lots of fun!.
26: Kevin Asst2
27: Kevin's teaching. The subject is interesting whatsoever but Kevin really enjoyed teaching and I enjoyed attending his lectures. The next best thing were the challenging assignments.
28: Learn about real world issues such as resource management and concurrency
29: Learn how to implement a complex system helps you learn how to develop software application.
30: Learning about OS internals
31: Learning all about operating systems and their low level details which one doesn't get exposed to on a day to day basis
32: Lecturer, tutors, and almost everything.
33: Lectures were good, really not a substitute for lecture notes, as lectures explain things in much greater details.
34: Provides an understanding of how hardware in a computer system is given an interface for people to work with. Tutorials are designed in such a way for those who wish to learn, allows them to do so much more effectively by encouraging discussion.
35: Teaching Staff, Textbook, ASST2
36: The assignment helps us a lot to understand how the OS works
37: The assignments
38: The assignments were challenging and the lecturer managed to hold my attention for most of the lecture, which is quite impressive. I also do enjoy learning how everything works under the hood though.
39: The forum, the web page, resources provided for study, tutorials etc.
40: The lecturers are really excellent.
41: The lectures and assignments were great. A lot of interesting and useful concepts were covered.
42: The linking of all the concepts learnt in previous couses into operating systems.
43: The topics, the lecturer, the assignments.
44: The tutorials and the lectures were very helpful
45: To learn about the what is behind the abstraction that an OS provides, which people might have taken for granted, is amazing! Hard assignments that really clarified the understanding of concepts explained in lectures.
46: Tutorials were very good as were lectures. Although the assignments were challenging they were very rewarding.
47: Very interesting, and nice to learn about all the low level stuff
48: Well presented lectures. They gave much more value to the course content than the lecture notes alone. VM Assignment. Designing and implementing the low level details is the best way to learn. Kevins laptop scribbling pad.
49: challenge
50: deal with a big project, need to read a lot of source code.
51: get know more about how the hardware of the system interact with the software
52: interesting and challenging
53: interesting lectures
54: it's interesting! assignments lectures (kevin is interesting and knows lots)
55: lecturer makes course interesting, challenging assignments good for learning concepts, good lecture slides
56: lectures were clear and straight to the point
57: no
58: practical experience with difficult problem
59: the assignments
60: the resource and support provided by the staff
61: tutorials, the forum, lecture notes, sample questions
62: very good introduction to OS for me.
63: vm management and synchronization assignments
64: well organized.
7. What were the worst things about this course?
1: - Perhaps overly-challenging assignments because of the use of harmonic mean and < 40% for assignments section = FL. - Lecture notes were usually not available until after the lecture... I like to write notes on the slides :(
2: 14 weeks becomes 12 weeks made one assignment disappear! Uni's fault though.
3: Assignment 2
4: Assignment 2 was a killer! It was really confusing - not the whole 2 level page table concept and how it worked, but the fact that there wasn't much guide (or it was confusing for my group) >__< after I got the time to finally understand some parts of it, I didn't have any time left to implement it! >__< which I didn't like very much. As I would have liked to really attempt the challenge and finish implementing it - to see if it would work. Apart from that, the lecturer talks a little fast sometimes =( so I didn't get to hear much detail...but the overall concepts were understood. =) He also assumed that everyone knew what he was talking about when he referred to other systems...that only a few of us even heard of, but some were interesting =P There wasn't much to dislike about this course, besides the fact that you would be given minus marks if you answered the multiple choice questions wrong!! >__< I was even too scared to 'guess' it even if I was about 97% correct and 3% unsure....
5: Bad course admin.
Would have been nice to know what  specifically was the issue here?
6: Didn't go to any consults so they were ;)
7: Felt progressive labs would be nice, as for come assignments if you had problems with the practical component can only rely on forums, or consultations and tutorials which dont come around that often.
8: First assignment was way too easy (shorter time period perhaps, or release earlier), need another assignment in the middle.
9: Getting really bad and antisocial partners
10: I thought the assignments rather tough, but that's just me.
11: I thought the second assignment was due on friday, so I didn't start till the thurs before it was due. Long nights :( For the second assignment there needed a lot of understanding on what we were trying to do without enough information in the low level AND the high level. Also there was no information on how everything was to fit together. There could have been a lot more information to help us.
12: It probably will be better if we can have more assignments.
13: It's all good to me, keep it up!
14: Major stuff culled from last year. I really wanted to do security and other interesting topics such as multimedia systems which was not available. I know this is mainly due to the time constraints, but it would have been nice to had a mention. The final assignment was exceedingly tough and there was not enough help available to do it. The final exam preparation was a little too difficult as it meant we had to cover everything and in a course like this it would be better if we had a mid sem exam which covered half, and a final exam which covered the latter half.
15: No labs
16: None that I can think of
17: Not enough assignments! (First time i've said that)
18: Nothing
19: Nothing really
20: Should have peer assessments for group partners for the Assignments.
21: Some parts were difficult to grasp for a while
22: Some things were a bit hard to understand (not conceptually) in terms of how assignments worked in the implementation of OS/161
23: Sycronisation assignment slightly confusing.
24: The VM assignment not enough spec's were given. As well the lectures went a bit fast it didn't really give us enough time to think things through twice. A bit of content to cover for 12 weeks.
25: The VM assignment was hard to understand... wasnt enough explaination on what to do.. took a while to figure it out
26: The VM assignment was quite straight forward once you started however understanding the assignment was hard and I believe the students needed a hand in order to start. Group partner didn't contribute in my second assignment.
27: The assignments were too hard, especially with debugging and testing.
28: The course only ran for 12 weeks instead of a more reasonable 14!
29: The difficulty of the assignments
30: The extended lectures being given assignment walkthroughs even though they are the ones that need it the least. As a majority of the time spent by most people in normal OS(not extended) was spent in working out what files we were meant to use.
I would have expected the tutors to have done something similar. If that is not the case, then I agree, we could improve here.
31: The extended part(last three questions) of assignment 2 is impossible to do.
One group did them!!! They are only intended for extremely enthusiatic students who are interested in going beyond what the course requires.
32: The impossible assignment 2
33: The instruction for the assignment is a bit less.
34: The lack of interest of the majority of the students to participate and be more active in the tutorials. But I don't think you can do much more about it.
35: The last assignment was hard having not done the one before.
36: The lecture notes were too brief. Needed to refer to textbook for each section.
37: The marking scheme. My partner in the assignments really did a fast one on me. In the first assignment I asked only to do 1 questions (he has already done the concurrency course!) and we lost the bulk of our marks there. On the second assignment he did nothing. I literally wrote the entire system. But when it comes to marks time, my exam marks will get scaled back, even though I know the content, beacuse of his inadequacy.
38: The set up of the group assignment
39: There is too much concept to remember, especially for close-book exam.
40: There was a little too much cramming of materials towards the end as we try to fit into a 12 week session.
41: Too few assignments, too much course content not covered by assignments. This meant there was very little feedback till late in the session. (Hard to solve this with a 12 week session) Only having two assignments made the course much lighter than I anticipated.
42: Too hard and too much to study.
43: Too many things to cover
44: Too much focus on the R3000 (I didn't find that very exciting). Something like an Intel processor would have been more exciting - even something with multiple cores.
45: Virtual memory assignment needed to have been given a help document to properly get started. Getting started was incredibly difficult. Once you've done a bit though, it's okay. Perhaps the assignments needed to have been released earlier too, because it gives us the opportunity to read ahead and start early. With lots of major assignments all due at once, it'd be very helpful to just have that little bit of extra time.
46: We missed the file system assignment.
47: We only have 12 weeks in this semester, so not enough time.
48: assignment timing
49: assignments released too late.
50: busy
51: challenge
52: didn't study a practical case of any real OS
53: information given too confusing, most of the time jump from one to another too quickly can not make a clear link in the understand. important section of the material explain throughly and clearly
54: last assignment
55: no
56: none
57: not enough assignment such as syscalls, but this is due to shorter session
58: quite hard
59: the subject is not involved with enough deep knowledge of OS.
60: the threat of strict marking associated with the finals and assignments and obviously threat of failing
61: too much stuff to be covered
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: A better background with programming in C would've been a very big help. Maybe providing a C programming course focusing on OS programming for those students who require would make it much better for students with less programming expertise.
2: A course which outlines system calls in the c library would have been useful
3: A greater understanding of the c programming language would've helped greatly since a lot of time was wasted on trying to get the code syntax written correctly instead of the concepts in OS working.
4: C programming pointer concepts
5: C++
6: Can't really say, got alot of C experience outside of uni i.e work.
7: Current pre-requisites are pretty accurate. 2121 is needed if only for familiarity with assembler. Only problem is that I couldn't find any C based course after first-year, so I was a bit rusty at the start.
8: Debugging, debugging was never taught before, probably due to a lack of time in previous programming courses.
9: Due to the focus on a set style in comp1911 and 1921 it is somewhat a shock going to OS where there are a couple of competing styles. Globals and pointer addition are not covered in any great depth in these two courses. Comp1911 and Comp1921 do not provide suitable preparation.
10: ELEC2142 was very good preparation, although its not listed on the handbook website as an official pre-requisite. The course involves lots of ARM, C and i/o . All Electrical Eng students starting in 2006 onwards will do it in second year. C is very very important. Those who did their first year computing subjects with Richard Buckland would be lacking alot of knowledge of the syntax available, as we were given a very simplistic overview. Unions, bitpacking, macros, ternary operator, enums, *function pointers* ... and so on, were all not taught. Java for an OS assignment sounds a bit silly, It ruins the whole notion of attempting to be efficient. If it did happen, COMP2911 would need to be added to the prerequisites.
11: Further use of c in an 'ugly'/real fashion would be very helpful. Richard Buckland's teaching of c is very altruistic and java-like. This meant I hadn't used many of the cool dirty 'hacky' things you can do in c when you have absolute control in the kernel.
12: I came at this course without any of the formal pre-reqs, but an extensive knowledge of C, assembly and low level hardware. I think it would have been nice if the pre-req courses had covered more on the Intel architecture so that we could have explored it in more detail, but OS161 did a good job of hiding it.
13: I did not remember C, it had been too many years since i used it.
14: I didn't do all the pre-requisites but was fine as a fifth year. Concurrency was a great help.
15: I find C a rather redundant language to program in. And I would assume more people are more able in C++ and Java than C.
16: I had a strong C background with little to no general OS knowledge. I found the course was well suited to my background.
17: I haven't done c since first year (I did haskel in the first semester but I think it was a mistake to get rid of that). But like every subject, if you don't know the language you have to learn it. Also Java is not appropriate for OS since OS deals very closely to the hardware and Java doesn't. Also I don't see why you should make students learn less c. It would make them better programmers if they knew how to sort a string in c rather than Java/python.
18: I'd been using lots of C++ recently so I was okay, but there needs to be a thorough understanding of C, otherwise you'll be struggling on two fronts. I knew a few people who were having extra difficulty because their C knowledge was covered in dust.
19: I've learned COMP9032 and COMP9021 which are the pre-requisites of this course. I think it's enough.
20: In second year all we did was java, so we've forgotten much of C by OS. We also didn't do that much bit and byte masking/shifting/low level C operations in general, so that would've been nice.
21: It was fine for me.
22: Low-level programming with c.
23: Maybe a little more hardware knowledge, e.g. knowledge of disk structure (tracks, sectors, blocks).
24: Maybe some concurrency knowledge would have helped. Generally the pre-requisites are good enough hints.
25: None
26: None
27: None.
28: Pre requisites are suitable.
29: Probably more C exposure, as for some course programs the only C exposure is back in first year, so it becomes a bit rusty.
30: Some basic C revision to help revise our memory since the it the last time computing engineering students touched C was over a year ago.
31: Some computer architecture knowledge would have been good for me. But
32: The Languange C was only used in COMP1b. Never again was it touched until now. It was like as if we knew the basics of swimming, and was thrown in the deep sea to survive for our selves.
33: The background knowledge and pre-requisites were enough to get through the course. Debugging could be more heavily emphasised in earlier courses at it was quite difficult in this course (though that may just be the course material itself).
34: The official pre-requisites are enough for this course.
35: The official pre-requisites are suitable.
36: The official prereqs are suitable
37: The official prereqs were fine.
38: The official prerequisites are suitable to a degree, but we do not touch C programming at all in 2nd year so it is easy to forget. Java implementation would be awesome, but I don't see how it would work as it is even more high level language. Maybe some assembly code stuff we learnt in COMP2121 could have been used.
39: Yes they were pretty suitable, besides the fact that if you were not really a computer fanatic then you wouldn't probably get some of the stuff about technical computing stuff. Probably more C - although I've done about 2 semesters of it, the style and some of the syntax used in the assignments especially asst2 were a little iffy >_<
40: Yes.
41: Yes. I think they are suitable.
42: c debugging....
43: elec204(something) was good enough for me
44: high level c programming skill
45: knowledge about Hardware devices, Unix
46: maybe understanding os161 :).
47: no
48: practise
49: subversion and linux kernel knowledge
50: the official pre-requisites are suitable
51: the pre-requisites are fine. it would have helped if i had done some os code before ;)
52: yes they are enough
53: yes, the official pre-requisites is enough.
15. Which material do you think you will be most useful to you in the future?
1: All
2: All of it.
3: Concurrency
4: Concurrency and multiprocessing
5: Concurrency, system design principles, low level code
6: Everything
7: File systems
8: General OS knowledge, VM
9: General performance considerations
10: Information about concurrency and multiprocessors
11: Lecture notes
12: Low level C, deadlocks, threads. All of this is important to know as a programmer!
13: Low-level implementations issues, Synchonisation and concurrency
14: Memory
15: Memory Management
16: Memory Management and Virtual Memory
17: Memory management and VM
18: Memory management, Multiprocessor Systems, Scheduling
19: Memory management, Virtual memory, processes and threads, synchronisation and concurrency issues, file systems, scheduling, deadlock, I/O management and some of the others (perhaps)
20: Memory management, syscalls, low level, and how everything works together in an OS
21: Most of it I would hope, but in the near future, file systems, i/o, concurrency
22: Multiprocessor Systems
23: Multiprocessor Systems
24: Multiprocessor systems, concurrency, VM
25: Multiprocessor systems, threads, processes
26: Multiprocessors and synchonisation.
27: Mutiprocessor Systems and Threads
28: Practically: Syncronisation, but I did the course for enjoyment.
29: Processes
30: R3000 reference manual
31: Synchonisation and Concurrency, Memory Management
32: Synchonisation and concurrency
33: Synchonisation and concurrency
34: Synchonisation and concurrency
35: Synchonisation and concurrency
36: Synchonisation and concurrency
37: Synchronisation and scheduling
38: Synchronisation, though all will most likely be usful
39: Synchronisation. Just general efficiency type stuff, as in understanding why something is much faster than another implementation
40: Synchronisation/Concurrency
41: Synchronisations and concurrency
42: Synchronization & Concurrency and Virtual Memory
43: Synchronization and Concurrency
44: Textbook and Kevin's notes.
45: Threads
46: Threads, Memory Management and Virtual Memory
47: Virtual memory
48: all
49: basic understanding of an OS
50: concurrency and synchronisation
51: i/o management
52: multiprocessor, multithreading, general knowlege of OS
53: no
54: processes concept, synchonisation, how OS work
55: sychronisation
56: synchronisation
57: textbook
58: textbook
59: textbook & lecture notes
60: the notes and assignment
61: the problem and the way to slove them
62: threads
63: threads, concurrency, virtual memory
64: threads;synchonisation and concurrency; scheduling
16. What material related to operating systems, but not currently in the course, would you like to have seen covered?
1: Details of the different OS's available
2: Disk compression
3: GUI
4: How drivers fit in
5: Implementation of a scheduler or file system
6: Microkernels
7: More on examples of current implementations
8: More on multiprocessor
9: Much more on multiprocessor systems
10: N/A
11: N/A
12: N/A
13: NA
14: No idea
15: None
16: Not sure.
17: Nothing
18: Perhaps a direct OS161 example of writing drivers.
19: Security
20: Security/protection
21: Wasn't much on security
22: Windows OS more rather than Linux
23: Would like to have seen non UMA multi processing as most cluster machines are built this way.
24: bootloader
25: how does the driver really works in deeper detail and some coding
26: maybe some more info about other OS, ie MAC
27: more IO stuff, actually using devices.
28: more about windows system as well, now we only study case of unix, but windows is as same important
29: more in depth of linux
30: more intro to drivers
31: more on how everyday used OSs work
32: more on multiprocessors, how to manage network I/O
33: more on other OSs like windows xp
34: more theory based
35: n/a
36: n/a
37: no
38: none
39: none
40: none
41: secruity
42: security in os, networks
43: security, networking (as they pertain to OS), frameworks (.Net, Cocoa, NextStep)
44: security/protection
45: sorry, I dont know
46: wouldn't change
47: x86 specific stuff. I don't see why we can't have a "learning" operating system on a very common piece of hardware (ie almost everyone has a x86 pc)
17. Which of the current topics would you like to see scaled back or excluded?
1: File systems, it wasn't hard just tedious
2: Hard disks (at least the mechanics of these)
3: I have an issue with file systems is that it was very linux specific. I didn't like that.
4: I think we were missing enough with the 12 week session. :(
5: I/O Management
6: I/O management
7: IO management - it was very vague
8: Low-level implementations issues
9: Multiprocessor
10: Multiprocessor Systems
11: N/A
12: N/A
13: NA
14: NONE
15: None
16: None
17: None
18: None
19: None
20: None - all seemed important
21: None in my opinion. As they are all essentials in an OS
22: None really, they were all somewhat quite interesting.
23: Nothing
24: Nothing really. The course needs this breadth of coverage
25: Nothing. They are all important parts of OS.
26: Scheduling
27: Synchonisation and concurrency
28: Synchosiztion, deadlock
29: System Call
30: Would prefer if concurrency was assumed
31: file systems
32: io, multiprocessor
33: multiprocessor
34: n/a
35: n/a
36: no
37: none
38: none
39: none
40: none
41: none
42: none
43: none
44: none
45: none
46: none but there could be a little less history
47: none.
48: nope, everything covered in this course is valuable.
49: programming assignments were a bit difficult(2nd one)
50: wouldn't change
21. If you have not been attending lectures, what factors influenced your decision not to attend?
1: Attended all
2: Busy with assignment in other subjects.
3: Class clashes. unable to attend most.
4: Deadlines
5: Having another assignment due.
6: High workload for overall courses. (10 assignments within 2 weeks you could be joking!?)
7: I attended a good majority of them. When I didn't attend was mainly because of work commitments.
8: I did not miss a single lecture.
9: I didnt attend one (each week) of the lectures as it was the only class i had that day and it was too much effort to come to uni for 1 class (i am lazy)
10: I went to every single lecture =)
11: If I can't make classes its because travel cost have risen sharply since I started and I have to work more just to pay for transport and stuff.
12: Just general laziness
13: Missed a few times, only due to outside influences though.
14: Missed one or two beacuse of other badly run comp courses. (2911!!!!!!!!!!)
15: N/A
16: N/A
17: N/A
18: NA
19: Some days,, OS was the only lecture.
20: Timetable clashes.
21: Work commitments, towards the second half of the semester.
22: all courses assignments' deadlines crush.
23: i attended
24: laziness
25: n/a
26: n/a
27: n/a
28: no
29: part time work
22. Any suggestions for improving lectures?
1: A 5min pause around half an hour in would be nice. Sometimes that content gets very heavy.
2: A couple of little recap quizes every lecture. We had a couple of these with the guest lecture, and I found them to be very effective in keeping me engaged and focused on the lecture. It is very easy to tune out otherwise.
3: As suggested before, please include peer assessments for group assignments. Many people form groups with other they don't know and struggle down the track with each others contribution towards the assignments.
4: Bribe the schedulers to not put them at lunchtime. So increase the priority such that you get to run whenever you are in the ready state then be ready at around 2pm or 9am, I like morning lectures.
5: Get rid of the censored guy with censored.
6: Have more concrete examples.
7: I think going slower would be highly useful. I felt the course was very rushed. I also felt the lecturer kept on talking in lectures to give a break to understand what is being said. Some time to digest the information in a course such as this is vital in my opinion.
8: Keep OS lectures close to tutorials..
9: Less low level stuff. I'm there to learn the stuff that's useful and understandable to me. Show me more MIPS assembler code and I will definitely sleep.
10: Live link to video lectures
11: Maybe some live hacking during the lectures would be fun. But I know that time is a problem.
12: More case studies
13: More code demo maybe?
14: More live examples.
15: More weeks and hence spread out content and not so much squished and rushed (a little)
16: My only gripe is that the notes generally weren't up before the lecture. This meant I couldn't read ahead or have a print copy available till the next lecture. Making the lecture notes available two days before would be ideal.
17: N/A
18: NA
19: No
20: No
21: None
22: None
23: None
24: Nope it was good. But I guess I was very interested in the subject so I don't know.
25: Not really... one of the better sets of lectures I've experienced.
26: Not using VISTA. More lectures.
27: Nothing
28: Slow down a bit?
29: Some more examples of concepts discussed in the course
30: Some of the definitions are at times unclear. The virtual memory was the ones that i had trouble with.
31: The 2 hour lecture in the afternoon could get pretty drawn if I have an early start. It is difficult to concentrate at times, so perhaps a short break at 30 minute intervals may help.
32: The lecturer should slow down a bit in the speed of teaching
33: give us more details of the assignments, that will save us a lot of time to understand what we need to do
34: iLectures would have been _really_ helpful for people with clashes.
35: kevin's lecture is cool, but sometimes feel too fast to catch up.
36: lecturer spoke too fast and did not give enough pause for students to think. and don't repeat or emphasis enough on the difficult or important part of the lecture.
37: lectures is ok, but the material talked about in the lecture is restricted by the slides, and the slides werent that good. suggest that the slides should be improved in terms of detail and how their are linked.
38: maybe can show more codes and trace the execution of such codes in lecture
39: n/a
40: no
41: none
42: nope
43: please add another hour to the week. with 4 regular lecturing hours per week there wouldnt have been a need to remove content from the course to fit in 12 weeks, and we could have then started assignments earlier. (this doesnt have any influence on the extended lecture)
44: provide recordings or online-lectures for those who could not attend. As a lot of the lecture notes do not really mean much by themselves
45: reduce the amount of topics a little bit and explain a little bit slower (so that international students can follow)
46: the lectures are perfect
47: the lectures slides should have practice cases/ situations to highlight what are the problems faced than to high the problem and solution in abstract. That means be practical and doen to earth then talk about it in abstract.
48: they were very good, only I sometimes tuned out, but that goes with any lecture, not only OS
49: use more real working example, instead of just present in slide.
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: Didn't get the textbook or indeed any. They didn't look like they were worth it. Lecture slides were good.
2: Didn't use any other textbooks
3: I have the Tannenbaum "Minix Book", this is nice beacuse you get to see the code walked through. Probably too much detial for most people.
4: N/A
5: N/A
6: N/A
7: N/A
8: N/A
9: N/A
10: N/A
11: N/A
12: NA
13: OK, I didn't use the other books, but I just wanted to say that the Tannenbaum book is one of the most readable Computing books I've ever seen. Good choice.
14: Tannenbaum is the best for sure.
15: except the tannenbaum, i found UNIX Internals is quite good.
16: n/a
17: n/a
18: n/a
19: n/a
20: never, I have 2 books about OS, both of them are written by Tannenbaum
21: no
22: no ideas
23: none
24: tannenbaum, operating systems: design and implementation
26. Any suggestions for improving tutorials?

1: Ensure the subject matter has been covered in lectures already. I had my tutorial on mondays and a few weeks Raf had to teach us the concepts before helpong with examples.
2: For extended, more of them!
3: I went to the extended class so didn't attend any tutes.
4: Make more interesting questions. The current questions are sooo basic.
5: Make sure the tutorial room is not overly wide compared to its length, eg, Quadrangle 1049 was a terrible room. It also frequently did not have enough seats.
6: Make them more interesting. If I learn them before hand (they are easy) then I have nothing to participate because I know the answer but other people need help. They loose out if I give the answer and I loose out if they work through the answer with the tutor.
7: More hours on tutorials, probably extending it by 30 more minutes is good.
8: Most of my tutorial were silent meaning discussion was more me and the tutor.
9: N/A
10: NA
11: No
12: None
13: None
14: None
15: Note for above: We had Rafal for one tutorial when Dhammika was away. Not really, class size was small and the tutorials worked well because of this.
16: Our tuts were very one side, two people in the tut (myself and my partner) answered all the questions, even after we gave a long pause for other people to speak up.
17: Participation is a bit of a bugbear with me. Sometimes having a participation mark just makes people with no idea or who haven't prepared just waste time by asking pointless questions. Not really sure how you can balance it out though.
18: Perhaps allow discussing assignment difficulties by dedicating a tutorial session for each assignment. This wasn't done properly in my tutorial.
19: Rafal's tutorials are excellent.
20: Some of the questions were sometimes gone over in the tut before they were covered it lectures which made them a bit useless. Also the number of questions was a bit too varied. Some weeks would have lots of questions which is good and others would have next to none. A lesser variation in the amount of questions would have helped a great deal in terms of the preparation of tutorials.
21: Some of the tutorials finished early which is good but you could have squeezed more into them if you wanted. Likewise some of the questions were quite simple although this was also necessary. Perhaps there could have been some advanced type questions which were not explained in tutes just introduced so that we thought about it afterwards, answers could be made available elsewhere or at the start of the next tute.
22: Try to make students participate more. Here are two ideas: 1. Give gifts to the people who answer questions 2. Organise OS trivia during tutorials
23: Tutorials are excellent in general. I don't see any great room for improvement. They do exactly what is necessary, give some background and understanding, give some questions to challenge you and prepare you for exam. Dhammika, my tutor, was excellent and took interest in making sure people understood.
24: We seemed to be rushing through the tutorial questions every week, possibly cut down one or two questions. Calculation questions should be kept to a bare minimum, to the point we understand the general way of approaching it.
25: can it change to discussion? currently it's just the tutor's presetation
26: free cake or maybe a lucky door prize
27: more harder questions.i really appreciated how the questions in tutorial were addressing the strong foundation of os
28: n/a
29: n/a
30: n/a
31: no
32: none
33: none
34: too short only one hour for each week is definitely not enough
32. Do you have any specific comments about OS/161
1: Alot of the comments it seems are left over from previous years or perhaps the initial build, this can make reading some of the files confusing.
2: Good OS to learn on.
3: Great OS - would be nice to be able to add more to it. Perhaps some more notes of what we should be seeing when it works (eg seeing these "UNKNOWN SYSCALL" messages is normal), as a lot of it is unimplemented.
4: Having looked at MINIX, OS/161, Linux, and OpenBSD source code, I think OS/161 is a good choice. Out of the 4 systems I've described, it has the best commenting, making it quite easy to understand what is going on in the kernel. Definitely a good OS to learn on
5: I am really impressed with OS161. I was dubious when we started, but the codebase is simple, clear, and does a great job of patching together a semi working kernel ready for expansion. Very impressed.
6: It is a good system. However some pictorial data on how everything links together (like a chart of some description) would be very useful.
7: It is a very good learning tool. If people find hard to hack OS/161, they would die hacking Linux.
8: It is somewhat confusing...sometimes.
9: It is very well structured for being able to have something work, understand and then improve. Getting it compiling under OS X instructions could be improved.
10: It was generally a good system to work with given its (relatively) simple nature, compared to a full-blown OS like Linux.
11: It's pretty old, but a nice simple OS to get ones head around.
12: It's simple. Perfect for beginner like us =D.
13: Maybe specify the application you demonstrated in one of the lectures which helps find where in the code base a particular function is.
14: NA
15: No
16: No
17: No
18: None
19: Nope, its good.
20: Not enough documentation to fully understand what each component did.
21: Not really, other than possibly OS is not for me.
22: Some of the comments were slightly misleading due to the differences in course structures.
23: WHy when you types "pf /bin/true" at the menu prompt it corrupted the terminal it was running in. Even the title! Upon exiting OS/161 all the characters were still funny?
24: because the OS is written by someone else the commemt some time is condusing using a simulator for R3000 blurred the link between how the code is interacting with the actual hardware. maybe this is hard but it was one of my expectation for taking this course, hand on hardware and making it working.
You need to do the advanced course. You can hang the system as much as you want then :)
25: dumb... C file is mess, hard to find a function wanted
26: minix should be used as there is textbook available for that.
27: n/a
28: n/a
29: no
30: no
31: none
32: nope, it's a nice os for learner
33: quite good
34: too many broken bits - hard to test one project (especially something low-level like the memory allocator) when other bits are randomly causing havoc
36. Any suggestions for improving the assignments?
1: Change the last three questions of the extended parts of assignment2
2: Get rid of groups!
3: Give more time for the first one. Encourage ppl to put posts on the forum
4: Greater detail in specs
5: Group work was the bain of my existence. My partner did nothing and was too stubborn to admit it. This leaves me very very angry. I worked VERY hard on this course and the assignments. I loved every minute of it, and my partner screwed me over. An extra week or so and no partner would have made this a thousand times better.
6: Groups tend to be just one person working on one thing, and the other one on another thing. Pieces of the assignment sometimes don't fit together after both are finished. SOmetimes only one person does the assignment. Both group members are clueless, have to ask a smarter person outside the group to understand anyway.
7: Have more assignments. They where the most effective means of learning. Getting started on assignments was very difficult/confusing.
8: I hope the students will have chance to work on the file system assignment. Yes we only have 12 weeks now, but could you add more hints or part of the code on the VM assignment, which can save much time of the students to let them be able to have a try on file system assignment.
9: I'd like to address two issues. Firstly, the first assignment really is pointless. This is a 3000 course, so seriously, why bother? Secondly, it was unfortunate that only one assignment we did was actually an bonafide OS assignment (VM). I would've preferred to have done something else that was directly relevant to OS, like write the VFS or a basic filesystem. Or even IMPLEMENTING the synchronisation primitives. My suggestion would be to set a slightly scaled down version of the concurrency assignment (say, just parts 1 and 2, as they are fairly straightforward) as asst0, then leave the other two assignments for real OS coding. This would allow for an introductory assessment that isn't COMPLETELY pointless, while allowing us more chances to actually get our hands dirty in the system.
Asst0 was intended to introduce you to the development environment, cross compiling, make based build systems, and SVN. While this is trivial for some students, I think some students appreciate being forced to 'warm up' and be rewarded for doing so.
10: It should be optional whether or not to have a partner.
11: It would have been better if we received initial guidance with Virtual Memory assignment about how to approach. The requirements were a bit confusing and directions not quite clear.
12: Love them except for the fact that they are so time-consuming. Hence, would like to have more time to work on them, especially to do the bonus.
13: More test files could be provided in order to help to check the correctness of the assignments before deadline.
14: NA
15: Need more - a gap in the middle was free time, that was lost forever! Would be great to have an assignment there. Perhaps release all assignments earlier, so we know what to work towards. Advacned assignments are a great idea but too hard to do in the little time left :( Also, would be nice to have a dryrun that ran a very very basic test that said that your diff is fine + basic implementation works. Something so we don't have to wait 2-3 weeks to know we did at least something right
16: None
17: Nope
18: Only really understood semaphores after studying for the exam. Perhaps forcing us to use sems within the synch assignment would have helped this although I still would have thought that they suck and don't do anything that can't be done with locks and condition variables which are easier to understand and use. I think that it is very useful for the marker to provide a short comment about your submission, maybe saying your style is atrocious, report was lacking blah, whatever.
19: Perhaps simplify the early parts of the assignment, to make it easier to get ~50% for them, and then leave the later parts as difficult. Asst2 in particular seemed very difficult to really get anything going.
20: Provide extra help for those in need, don't know, what to do when implementation becomes a problem.
21: SVN was very slow checking in and out at CSE. Very slow. Maybe replace svn commit etc with scripts that run on the file server rather than the local login so that it reduces some of the network load. IE 10 min to check out 13 meg is way to long. Other than that, for the last assignment give some more information on what to do. Ie tell us when VM_fault occurs, tell us the order of when the functions are called or point us to elf_load or tell us how to use grep etc. (I know all this but I helped a lot of people find all this and its not easy if you don't know linux).
22: The VM assignment was difficult to start despite it being quite straight forward. I think students needed a hand in general to get started.
23: The assignment about multiprocessor would be pretty interesting.
24: The assignments are challenging and interesting, more time in lectures devoted to explaining them would be useful. As would more general help with them.
25: The first one was rather simple. It was hard to know what was required for the second.
26: They did closely relate to the lecture note content - just wasn't too happy with 2 computing assignments being due on the same day!!!! The dud one was good too - free 10 marks =) but when i found the bug....was kind of disappointed. The first one (being the concurrency and synchronisation issues) was really good =) The second one....kind of confusing! However, once you understood it, the problem seemed simpler and ideas of implementation started to pop up! BUT the timing wasn't too great!
27: Trying to fit in the missing second assignment would be nice, as there was a large difficulty gap between the first ans second assignments, and parts of the second assignment were harder because of the missing assignment.
28: Write the spec more clearly. I found it incredibly difficult to understand what we were supposed to do in the vm assignment. Compared to the synchronization assignment which was specified quite well, the vm assignment was very poor.
29: dont make assignment 2 so hard
30: git is much better than SVN... :)
31: more, on syscall
32: n/a
33: n/a
34: need more support to get the assignment going. ASST1 is ok, but ASST2 just makes everything like coming out of nowhere. very hard to have any idea how the files I am goign to modify interact with the rest of the system.
35: no
36: none
37: none
38: some more information should be include in the assignment, instead of just ask to program something which is more than the things in the lecture notes.
39: start assignments earlier with a more gradual learning curve.
40: the release of assignment is too late, better move up.
41: we should get more hints on how to get start with the assignments. eg. it took my 2 days to understand what I need to do in asst2
The general consensus I intepret here is that removing the "middle" assignment from the course made the learning curve for the last assignment that little bit steeper. I'll seriously consider way of getting it back in the course - but the challenge remains of how to cover enough of the lecture material prior to releasing the assignments.
38. What were the strong points of COMP3891/9283?
1: Interesting additional lecture material, lots of depth, moved much faster than the normal lectures + provides some additional depth.
2: Interesting topics covered in a small group
3: The additional material was very interesting and gave a deeper understanding to many of the concepts presented in the lectures.
4: The advanced assignments, even though it was optional.
5: The extra material was quite interesting.
6: extended knowledge
7: the material is interesting
39. What were the weak points of COMP3891/9283?
1: Don't get a chance to implement any of the additional material in assignments.
2: Maybe it could be a bit harder...
3: No
4: Not really practically tested.
5: not enough interaction
40. Any suggestions for improving COMP3891/9283 Extended OS?
1: More advanced sections in assignments.
2: More assignments.
3: No
4: Perhaps advanced assignments should be required - but some more information about what to do would be useful.
5: put up lecture notes earlier and allow for discussion in depth in tutorial/lecture
42. Do you have any particular comments you would like to make about the exam?
1: 1 or 2 of the exam question multiple choice is not clear about what its tryign to ask. ie 2008 Q1(2).
2: 6 questions in 2 hours
3: A bit longer than expected, not as much practical understanding to show - lots of "explaining" the theory.
4: A little more time would have helped
5: Ask a broader range of questions
6: Could be harder and more time allowed
7: Due to the exam being short(ie not enough questions) some people without any real knowledge of entire sections of the course could still end up with high marks.
This is always a challenging in setting exams, we can't ask about everything :) The True/False section is intended to cover a wide selection of the course to make it harder to "get lucky".
8: Exams are hard. when i talk about stuff that i learn in computing, I don't just sit there writing on paper in my little vacuum. Ive got a computer, I can look things up. Exams dont do this. Its overly artificial. An exam doesnt let me clarify the meaning of a question. (on true/false this was particulary annoying) The exam should be weighted lower.
9: I don't like weighted means and stuff and I don't like subjects that fail x percent because of the scaling. I didn't like that I had to know inode stuff. Yes its a valid used implementation but it would be better if we had to design our own file system or use a current implementation. Also Should do stuff on solid state since alot of filesystem theory goes out the window with that :P.
10: I felt the True/False questions were not correctly phrased i.e. they were not very clear.
Actually, they were very carefully phrased and checked by others. Some are subtle, but that is the intention - to seperate those who really know the material in-depth, from those with just a high-level understanding.
11: I need more time to finish the questions. Because there are so many concept to remember, I need to think about them one by one carefully. Another reason is that I'm a Chinese student. Sometimes, writing costs me more time than other students who have background of years of English education.
12: I think the exam should have been longer and had more questions. It happens with most exams, but I felt I had a significant amount of extra knowledge that was not tested in the exam. I finished just a bit before the two hours though, so to accommodate this, the exam would need to be longer.
13: I was particularly disappointed as the sample exam questions seemed to be more like 'exam type' questions. There wasn't much spread between addressing all the topics we've covered in the lectures such as disk I/O, scheduling, etc. Even if they were - they were just one question in the multiple choice section =( Although, most of the questions in the exam were pretty much what I studied the most, I was still a little disappointed. Also 2 hrs is not enough!!!
See 7. above
14: If anything, it seemed a little simple, but I will let me marks determine that.
15: It is unfair to me as I am not good in expressing my knowledge. I suggest the weight and amount of MCQ/ True or False Questions can be increased
16: It was fair, but did not cover the whole course in detail.
17: N/A
18: Overall I think that the core content covered by the exam did not cover the core content of the course. In my opinion the exam was too easy and small mistakes (as we are all prone to making) will be reflected more strongly than they should.
19: Overall matched my expectations.
20: Some of the true/false questions were worded a little trickily, making it confusing.
21: Sometimes true/false questions are tricky to work out exactly what is being asked and decide on the true/false (particularly when there are exceptions to the cases) - a few questions I felt like I could give a good written answer but deciding on the true/false was much harder.
22: The exam covered a range of topics which was great, although didn't focus on any of the algorithms for replacement and scheduling, which were my stronger areas :(
23: The last VM question (7?) maybe could have been explained a bit better, wasn't completely sure how to decompose the VADDR but this was part of what was being tested. I like being able to keep the paper afterwards. Only some of the questions said that you would lose marks if you were verbose, which implied that in other questions you should mimic jane austin and take 10 pages to describe a rock. Just made you think that you needed to write excessively for these questions. True false were good although the answer sheet is A-E, would be much better if there was a specific true false answer sheet, although this is a university issue. Maybe you should start a lecturer revolt for T/F answer sheets.
24: The problem with exams, specially written questions is that if you are unlucky to not revise some things that were covered by the exam (specially when the questions get to very detailed - sometimes useless - stuff), you don't get a very good mark, even if you know the topics (or know where to find the answer to solve real life problems).
25: The problem with this exam was 2hrs is definitely not enough time to demonstrate understanding of so many different concepts. Some times it is not possible to know everything and as such sometimes what we don't know turns up and what we do know is unused. I think a 3hr exam that covers everything is vital. A 2hr exam for this subject is not right. 3hrs is definitely required. The subject matter is too dense for just 2hrs.
26: The true/false section should not have penalised marking since the wording of the statement can make someone select the wrong answer even though they know the content. If the statements are clear and precise, then penalised marking of true/false questions can remain.
27: There were a couple of questions in the exam (worth significant marks) about topics we had merely skimmed over in lectures (zombie processes for example are not mentioned in the lecture notes AT ALL). It is very unfair to ask questions like this if they were not covered in lectures.
28: There were some T/F questions which I felt weren't really covered in the lectures and/or were poorly worded so were hard to understand
29: Though I didn't perform well in the exam, I'd say, the difficulty of the exam is reasonable.
30: True/False questions are much harder than they seem with the semantics of OS and with marks deducted for incorrect responses.
31: Was very i'll on on exam date, so doesnt apply.
32: exam is too easy!
33: maybe could have had more shorter answer questions, ie 1 or 2 word answers without a description to go with it.
34: maybe have a 3 hour exam
35: n/a
36: no
37: no
38: none
39: nothing special
46. Any other comments/suggestions that might help us to improve the course in the future?
1: ... Ditch the 12 week semester...
2: A mid term exam covering half the stuff and a final exam covering the other half OR a final 3hr exam should be implemented. More help should be given with assignments. Some more Windows details should be provided considering it is the dominant OS in the world and by the time I leave CSE I think I will have learnt NOTHING about Windows - which is truly a shame.
3: Continue to have interesting lectures =) But be more specific on the assignments - as in straight to the point...and not confusing .c files that have no relation to the actual assignment itself eg. catlock? o.O svn was a pain...sometimes! although the general idea of having more than one person working on the file, is good but sometimes I would try to commit and it would simply fail! >__<
5: I get annoyed when one of the first thing a lecturer says is don't email my personal address because... isn't answering these emails part of your responsibility as a lecturer?
No, my reponsibility as a lecturer is not to spend all my time answering the same emails over and over again. We provide a method (the forum) which allows us to answer questions in a way that benefits all the students in the course, not just one individual. We also tend to spend more time providing better answers if we know they will benefit others.
 That said you did only say don't email my personal address with respect to course material either email cs3231 or go message board because you will get an answer more quickly which makes sense. I just remember my first 3 lectures this year each lecturer said something similar (and you were the unfortunate third) although the others were "you will most likely get blocked by spam filters" which is ridiculous and I don't think that this should be allowed. So my suggestion would be only speak about the course email address and then people who need to talk to you personally will seek you out and I won't be annoyed by lecturers (as my level of annoyance is paramount) The marks for asst2 were not released before the exam, it's useful information to know.
6: I realise the switch from 14 to 12 week semesters had a big part in this, but I would've liked to have seen some content on security/protection within OS's. Maybe the introduction (first two weeks of lecture slides) could have been reduced?
7: I would've liked to have seen is more content on non-UNIX and non-Windows based modern operating systems. Of course, most of the world is *NIX or Windows, but maybe a look at a real mainframe system, or AS/400s or OpenVMS. Also, there was not really much qualitative comparison of various OSes. Of course this is subjective, and may lead to some in class flame wars, but still, it would've been nice to discuss why Solaris does this and VMS did that instead, and why Linux chose this over Windows etc. I.e. the practical and REAL differences in operating systems.
8: Increase it back to 14 weeks, Medicine hasn't taken heed of shortened semesters, why should Engineering?
9: It's better to release the lecture notes before the lecture and updated it after lecture if necessary
10: Labs in the start of the course,that only run for 4 weeks or so, that explore os161 replacing assignment 0. Especially since very few people do any work consistently in Operating Systems.
11: May be have a lab may make student better familiar with the code.
12: N/A
13: N/A
14: NA
15: No
16: None, was a great course and i'm glad i did it.
17: Please make the slide material easier to make link between the system we are learning and hardware
18: Put both lectures in a place with wireless so I can do my own OS at the same time.
19: The lectures added a lot to the quality of the course, as someone who had clashes considering using the iLecture system would be very useful. (Or Richard Bucklands video lecture system). Have more assessments earlier in the session (asst0 doesn't count). Possibly a mid session or a smaller assignment. Otherwise people get hit with the VM assignment and are unprepared.
20: Using a more conventional marking scheme beside Simple Harmonic Mean, as for those of us who struggle in implementation of assignments limits our marks greatly.
21: explain a little bit more on os161 will help
22: it's fine, but I don't want to do this course again..
23: n/a
24: n/a
25: no
26: none
27: none
28: now we only got 12 weeks for one semester, and I think it is too short for os, lots of stuff didn't cover. better split to 2 courses? maybe
29: put less of an emphasis on practical component and focus on the theory more.
30: shorter survey
31: the file system assignment should not be cut. That assignment is important to really understand OS.
Thanks to everybody for the feedback, it is very much appreciated.

©2003-2004, phpSurvey