Thanks for all the feedback - comments are inline below in red. Only identities are censored.
Survey ID 1327
Title COMP3231/9201/3891/9283 13s1
Anonymous Yes
Fill Ratio 75% (83/110)
# Filled 83
# Suspended 6
# Not Filled 21
(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
Generally similar to previous years. The textbook, 'C', and wiki were less highly rated, despite being no different to previous years.
Poor N/A N/F
Lecturer: Kevin Elphinstone 51 (61%) 26 (31%) (5%) (0%) (0%) (0%) 2 (2%)
General OS lectures 33 (40%) 42 (51%) (7%) (0%) (0%) (0%) 2 (2%)
Consultations (10%) 11 (13%) (11%) (0%) (0%) 55 (66%) 0 (0%)
Your tutor 26 (31%) 19 (23%) (8%) (1%) (2%) 28 (34%) 0 (0%)
Tutorials 18 (22%) 27 (33%) (10%) (2%) (1%) 26 (31%) 1 (1%)
Asst1: Synchronisation 31 (37%) 35 (42%) 15 (18%) (1%) (0%) (0%) 1 (1%)
Asst2: Syscalls 28 (34%) 36 (43%) 14 (17%) (5%) (1%) (0%) 0 (0%)
Asst3: Virtual Memory 34 (41%) 25 (30%) 14 (17%) (8%) (1%) (1%) 1 (1%)
Textbook 15 (18%) 13 (16%) 18 (22%) (2%) (0%) 35 (42%) 0 (0%)
OS/161 In general 26 (31%) 39 (47%) 16 (19%) (2%) (0%) (0%) 0 (0%)
C Language 30 (36%) 30 (36%) 16 (19%) (5%) (1%) (2%) 0 (0%)
Computing resources 17 (20%) 27 (33%) 27 (33%) (7%) (2%) (5%) 0 (0%)
Course web page 18 (22%) 39 (47%) 20 (24%) (5%) (2%) (0%) 0 (0%)
Message Board 11 (13%) 29 (35%) 30 (36%) (6%) (2%) (7%) 0 (0%)
Wiki 16 (19%) 34 (41%) 22 (27%) (10%) (4%) (0%) 0 (0%)
Help with technical questions 19 (23%) 26 (31%) 24 (29%) (2%) (4%) (11%) 0 (0%)
Lecture slides 26 (31%) 43 (52%) 11 (13%) (2%) (1%) (0%) 0 (0%)
Lecture video capture 39 (47%) 23 (28%) (11%) (0%) (1%) 11 (13%) 0 (0%)
Operating Systems overall 38 (46%) 36 (43%) (10%) (1%) (0%) (0%) 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 49 (59%) 29 (35%) (6%) 0 (0%)
Chance to get hands dirty with low-level code 46 (55%) 25 (30%) 12 (14%) 0 (0%)
Jobs propects for OS hackers 11 (13%) 41 (49%) 31 (37%) 0 (0%)
Would llike to do OS research (8%) 36 (43%) 40 (48%) 0 (0%)
Course is core for me 15 (18%) 16 (19%) 52 (63%) 0 (0%)
Friends told me it was good 37 (45%) 24 (29%) 22 (27%) 0 (0%)
Chance to do challenging programming assignments 54 (65%) 23 (28%) (7%) 0 (0%)
3. Any other factor that influenced your decision?

Question type : Short-answer

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

Question type : Single answer -- Radio Button
Slightly better than previous year, but largely in the noise.
Yes 77 (93%) chart
No (6%) chart
N/F 1 (1%)
5. Please provide feedback on the kind of material covered

Question type : Single answer -- Radio Button
A few more students were interested in windows than previous years.
  Too much
Too little N/F
High-level OS issues (1%) (11%) 70 (84%) (2%) (0%) 1 (1%)
Low-level (implementation) issues (1%) 14 (17%) 56 (67%) 10 (12%) (1%) 1 (1%)
Unix/Linux (4%) 13 (16%) 46 (55%) 17 (20%) (4%) 1 (1%)
Windows NT (0%) (6%) 33 (40%) 33 (40%) 10 (12%) 2 (2%)
OS/161 Internals (2%) 13 (16%) 54 (65%) 12 (14%) (1%) 1 (1%)
Other Systems (0%) (6%) 51 (61%) 20 (24%) (6%) 2 (2%)
6. What were the best things about this course?

Question type : Long-answer

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

Question type : Long-answer

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

Question type : Single answer -- Radio Button
Same as previous years.

COMP courses (0%) (2%) 23 (28%) 50 (60%) (8%) 1 (1%)
INFS courses (5%) (2%) 16 (19%) 15 (18%) 27 (33%) 19 (23%)
Courses in general (0%) (5%) 13 (16%) 38 (46%) 26 (31%) 2 (2%)
9. Did you get the impression that the staff (lecturer, tutors, consultants) tried their best to answer your questions and help you? Please tick N/A if you did not attend lecture, consults, tutes)

Question type : Single answer -- Radio Button


Lectures 48 (58%) 25 (30%) (7%) (2%) (0%) (1%) 1 (1%)
Tutorials 34 (41%) 14 (17%) (4%) (1%) (2%) 28 (34%) 1 (1%)
Consultations (7%) (7%) (1%) (1%) (0%) 68 (82%) 1 (1%)
10. How does the quality/value of this course compare to other....

Question type : Single answer -- Radio Button

the best

the worst
Year 3 COMP courses 46 (55%) 23 (28%) 11 (13%) (0%) (0%) 3 (4%)
COMP courses in general 45 (54%) 26 (31%) (11%) (1%) (0%) 2 (2%)
Courses in general 46 (55%) 27 (33%) (7%) (1%) (0%) 3 (4%)
11. What background knowledge do you think you were missing that would have helped you in this course? Are the official pre-requisites a suitable preparation?

Question type : Long-answer

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

Question type : Multiple answer -- Check Box
The more technical components remain the more difficult parts of the course. Consistent with previous year.
System calls 12 (14%)
Processes (6%)
Threads (10%)
Low-level implementations issues 24 (29%)
Synchonisation and concurrency 19 (23%)
Deadlock 11 (13%)
Memory Management and Virtual Memory 50 (60%)
File Systems 24 (29%)
I/O Management 14 (17%)
Scheduling 14 (17%)
Multiprocessor Systems 19 (23%)
Security (6%)
13. Which material do you think you will be most useful to you in the future?

Question type : Short-answer

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

Question type : Short-answer

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

Question type : Short-answer

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

Question type : Single answer -- Radio Button

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

Question type : Single answer -- Radio Button

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

Question type : Single answer -- Radio Button

Always 26 (31%) chart
Most of the time 48 (58%) chart
Sometimes (8%) chart
Rarely (1%) chart
Never (0%) chart
N/A (0%) chart
N/F 1 (1%)
19. This year lectures were captured and made available on the course web site as h264 video. Please answer the following to guide me going forward.

Question type : Single answer -- Radio Button
I take this response as a positive endorsement of the lecture captures.

I'm surprised at the number of students who used them, and am glad that they were useful.

I suspected that screen captures were better than lectopia as capturing the timing and illustrations is important, though it remains to be seen if lectopia improves next year to the point were I could rely on it instead.

My clumsy queries regarding experimenting with flip teaching seem to be unwelcome, though I take that as more poor questions than general student opinion on alternative teaching approaches.

So the take-away is that lecture captures are useful addition to the course, and are utilised and appreciated. I'll continue, technical hitches not withstanding.

  Strongly Agree Agree Indifferent Disagree Strongly Disagree N/A N/F
Lecture captures should generally continue 55 (66%) 15 (18%) (5%) (0%) (0%) (10%) 1 (1%)
I found the lecture captures useful 41 (49%) 24 (29%) (4%) (0%) (0%) 14 (17%) 1 (1%)
The quality of the sound was sufficient to follow the lectures 19 (23%) 30 (36%) 14 (17%) (4%) (0%) 16 (19%) 1 (1%)
Lectures should be replaced with captures, and the lecture times spent as open consultations (4%) (11%) 14 (17%) 17 (20%) 31 (37%) (10%) 1 (1%)
Lectures should just be replaced with pre-recorded captures. (1%) (5%) 12 (14%) 19 (23%) 38 (46%) (10%) 1 (1%)
I actually used the lecture captures 20 (24%) 40 (48%) (8%) (1%) (5%) 10 (12%) 1 (1%)
The screen captures are better than what lectopia offers 43 (52%) 13 (16%) (8%) (0%) (0%) 19 (23%) 1 (1%)
Capturing the on-screen drawing is important. 48 (58%) 21 (25%) (2%) (0%) (1%) 10 (12%) 1 (1%)
Given the limited production resources available, the overall quality of the captures was good 35 (42%) 31 (37%) (1%) (0%) (0%) 14 (17%) 2 (2%)
20. If you have not been attending lectures, what factors influenced your decision not to attend?

Question type : Long-answer

Answer at the bottom page (30 comments)
21. Any suggestions for improving lectures (including the lecture video captures)?

Question type : Long-answer

Answer at the bottom page (41 comments)
22. 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
23. 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
Pretty similar stats to previous years.

The result of my specific question about tuts getting out of sync with lectures not being an issue is surprising. Students don't seem to be too concerned one way or another.
  Strongly Agree
Strongly Disagree N/A N/F
The tutorials helped me understand the material 35 (42%) 15 (18%) (6%) (2%) (0%) 24 (29%) 2 (2%)
The questions were appropriately timed 19 (23%) 21 (25%) (10%) (8%) (1%) 23 (28%) 4 (5%)
The questions were of appropriate difficulty 20 (24%) 28 (34%) (8%) (4%) (0%) 22 (27%) 3 (4%)
The questions should have increased difficulty (7%) 11 (13%) 27 (33%) 13 (16%) (1%) 22 (27%) 3 (4%)
The number of questions was appropriate 14 (17%) 22 (27%) 14 (17%) (7%) (0%) 23 (28%) 4 (5%)
The number of questions should be expanded (6%) 18 (22%) 21 (25%) 13 (16%) (1%) 22 (27%) 3 (4%)
I always prepared for the tutorials (6%) 12 (14%) 19 (23%) 14 (17%) (5%) 26 (31%) 3 (4%)
Preparation beforehand improved my understanding of the material 16 (19%) 22 (27%) 12 (14%) (4%) (0%) 27 (33%) 3 (4%)
Class participation is important for understanding the material 16 (19%) 29 (35%) (6%) (5%) (1%) 25 (30%) 3 (4%)
Occasional tutorials being out of sync with lectures (due to public holidays etc..) is not a problem (6%) 20 (24%) 13 (16%) 10 (12%) (5%) 26 (31%) 5 (6%)
24. 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
The tutors were good again this year.
Poor N/A N/F
Tutor A 15 (18%) (7%) (7%) (1%) (1%) 45 (54%) 9 (11%)
Tutor B 24 (29%) (5%) (4%) (1%) (0%) 46 (55%) 5 (6%)
25. Any suggestions for improving tutorials?

Question type : Long-answer

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

Question type : Single answer -- Radio Button
Pretty similar to previous years: start easy, finish hard.
  Too easy
Just right
Too difficult N/F
Asst1: Synchonisation (10%) 26 (31%) 44 (53%) (5%) (0%) 1 (1%)
Asst2: System Calls (0%) (6%) 50 (60%) 24 (29%) (4%) 1 (1%)
Asst3: Virtual Memory (0%) (10%) 25 (30%) 36 (43%) 13 (16%) 1 (1%)
27. How well was each assignment specified (taking into account a significant part of the assignments is understanding what to do from the commented code itself)?

Question type : Single answer -- Radio Button

  Very clearly
Confusing N/F
Asst1: Synchonisation 41 (49%) 19 (23%) 16 (19%) (5%) (1%) 2 (2%)
Asst2: System Calls 16 (19%) 20 (24%) 24 (29%) 19 (23%) (4%) 1 (1%)
Asst3: Virtual Memory 10 (12%) 23 (28%) 21 (25%) 19 (23%) (10%) 2 (2%)
28. Did the supporting material (manuals, notes, comments in code) provide sufficient information for solving the assignment?

Question type : Single answer -- Radio Button

  Very much
Not at all N/F
Asst1: Synchonisation 33 (40%) 21 (25%) 24 (29%) (5%) (0%) 1 (1%)
Asst2: System Calls 19 (23%) 25 (30%) 24 (29%) 12 (14%) (2%) 1 (1%)
Asst3: Virtual Memory 13 (16%) 21 (25%) 32 (39%) 13 (16%) (2%) 2 (2%)
29. Rate which factors (if applicable to you) contributed to the assignments being difficult in your eyes

Question type : Single answer -- Radio Button
Again, similar to previous years.
No N/A N/F
Topics are conceptually difficult 12 (14%) 22 (27%) 28 (34%) 10 (12%) 10 (12%) (0%) 1 (1%)
Implementation is difficult 20 (24%) 29 (35%) 19 (23%) (10%) (7%) (0%) 1 (1%)
Lack of familiarity with C (7%) (11%) 19 (23%) 14 (17%) 34 (41%) (0%) 1 (1%)
Lack of experience with a large code base 15 (18%) 23 (28%) 19 (23%) (5%) 21 (25%) (0%) 1 (1%)
Lack of experience debugging C 16 (19%) 16 (19%) 18 (22%) 11 (13%) 21 (25%) (0%) 1 (1%)
Lack of previous low-level programming (7%) 17 (20%) 23 (28%) (11%) 26 (31%) (0%) 2 (2%)
Lack of familiarity of programming on the UNIX OS 12 (14%) (11%) 18 (22%) 12 (14%) 29 (35%) (2%) 1 (1%)
30. The aim of the assignment work was for you to develop practical skills with the concepts covered in lectures.

Question type : Single answer -- Radio Button

  Not really
Very much N/F
Did the assignment work help with this? (0%) (5%) 10 (12%) 20 (24%) 48 (58%) 1 (1%)
31. Do you have any specific comments about OS/161

Question type : Long-answer

Answer at the bottom page (32 comments)

Question type : Single answer -- Radio Button

N/F 0 (0%)
33. What do you think of the advanced assignments?

Question type : Single answer -- Radio Button

Great Idea! 28 (34%) chart

26 (31%) chart
Don't care 28 (34%) chart

(0%) chart
Abolish! (0%) chart
N/F 1 (1%)
34. The advanced assignments are intended as on opportunity for students to delve deeper, and not as an opportunity to scrounge marks. There is a general trend towards less of the former, and more of the latter. One approach I'm considering is change the assessment value of the assignments. Please select an option below indicating your preferred assignment bonus value.

Question type : Single answer -- Radio Button
Interesting spread. The current bonus for the advanced assignment is 20%. The majority seems in favour of reducing the bonus available: 23% versus 12%.

Interesting food for thought. Thanks.

I did not attempt the advanced assignment 53 (64%) chart
0% (1%) chart
5% (4%) chart
10% (11%) chart
15% (7%) chart
20% (10%) chart
25% (2%) chart
N/F 1 (1%)
35. 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.
36. How would you rate extended OS as a whole?

Question type : Single answer -- Radio Button

Excellent 10 (12%) chart

14 (17%) chart
Average (8%) chart

(0%) chart
Poor (0%) chart
N/A (8%) chart
N/F 45 (54%)
37. What were the strong points of COMP3891/9283?

Question type : Long-answer

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

Question type : Long-answer

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

Question type : Long-answer

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

Question type : Single answer -- Radio Button
The perception of the exam is similar to previous years.
  Strongly Agree Agree Neutral Disagree Strongly Disagree N/F
The exam overall was too hard (1%) (8%) 35 (42%) 25 (30%) (6%) 10 (12%)
The exam overall was too short - i.e. it should be 3 hours (4%) 18 (22%) 17 (20%) 22 (27%) 13 (16%) 10 (12%)
The exam should contain more True/False questions (2%) (5%) 20 (24%) 32 (39%) 15 (18%) 10 (12%)
The exam gave me the oppurtunity to demonstrate my understanding of operating systems (10%) 43 (52%) 15 (18%) (5%) (4%) 10 (12%)
I think my exam result will be representative of my operating systems knowledge (7%) 33 (40%) 21 (25%) 10 (12%) (4%) 10 (12%)
The final assessment should be weight ed more towards the exam (2%) (5%) 26 (31%) 27 (33%) 14 (17%) 10 (12%)
41. Do you have any particular comments you would like to make about the exam?

Question type : Long-answer

Answer at the bottom page (44 comments)
9. Miscellaneous
The availability of blogging and public source code repositories makes it increasingly difficult to assess assignments under the assumption that it is completely the students own ideas (despite students signing that they will not plagiarise the work of others). This has the potential to completely destroy the value of practical assignments, both as a learning aid and an assessment tool, and create an unfair environment where students who get the benefit of doing the work themselves are indirectly penalised in their assessment as they may not be as correct as a plagiarised version. I'd appreciate student views on the area. Note that practical environments take years to develop, so a new assignment series each year is impractical.
42. The following are some "wild" ideas that I'd like feedback on to gauge opinion.

Question type : Single answer -- Radio Button
High level take-away: Students expect be rewarded in their assessment for work put into the assignments.

The exam and the harmonic mean seem reduce the ability of cheater to do well without understanding the material.

The high-workload  approaches of labs and oral exams are favourably looked at. I wish I had the resources to explore the approach.

  Strongly Agree Agree Indifferent Disagree Strongly Disagree N/F
Make the assignments simple Satisfactory/Unsatisfactory (the exam would be the final determiner of student assessment) (2%) (11%) 13 (16%) 27 (33%) 28 (34%) 4 (5%)
Assess the assignments only via an oral exam on understanding (1%) 17 (20%) 19 (23%) 24 (29%) 18 (22%) 4 (5%)
Assess the assignments via automarking and an oral exam on understanding (6%) 32 (39%) 21 (25%) 11 (13%) 10 (12%) 4 (5%)
Reduce the value of the assignments towards the course. (1%) (8%) 16 (19%) 36 (43%) 20 (24%) 3 (4%)
Make the assignments completely formative and optional (i.e. only for practice), and the exam is the sole determiner of student achievement. (2%) (2%) (10%) 23 (28%) 45 (54%) 3 (4%)
Assess the assignments via automarking, and via targeted exam questions. (4%) 19 (23%) 28 (34%) 21 (25%) (10%) 4 (5%)
Run the assignments as weekly labs, with small deliverables. 17 (20%) 27 (33%) 16 (19%) 12 (14%) (10%) 3 (4%)
43. What is your opinion on an equitable approach to evaluating practical student work?

Question type : Long-answer

Answer at the bottom page (49 comments)
44. 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

(11%) chart
Just right 57 (69%) chart

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

Question type : Single answer -- Radio Button

HD 12 (14%) chart
DN 29 (35%) chart
CR 23 (28%) chart
PS (6%) chart
FL (1%) chart
No Idea 12 (14%) chart
N/F 1 (1%)

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

1: Suggested by student office

2: The only way I can get to be a better programmer is if I push the limits of what I

3: Curiosity

4: N/A

5: No

6: NICTA courses have higher teaching quality in general

7: Pad more knowledge to overall the computing field

8: A recommendation from my ELEC2142 lecturer, as a natural pathway to learn more about low level hardware and embedded systems.

9: The advice from software engineers during my internship

10: N/A

11: No

12: Opportunity of handling OS by myself

13: Ties together several other subjects (ie. fills the gap between other courses and comp2121)2

14: That I was able to do it as an elec eng L3 elective

15: Wanted to learn better C, this seemed like the best course to take.

16: Essential to computing

17: Nope

18: getting better with C

19: People told me that it was important and fundamental.

20: N/A

21: -

22: No

23: Tie in with embedded systems knowledge.

24: just love comp sci even though it's not my degree

25: Curiousity

26: Kevin was teaching and was told he was a good lecturer. Was happy.

27: Amount of work

28: Just want to know something about OS.

29: N/A

30: Leads to aOS - which emphasises my previous answers

31: Another reason

32: Show respect to the old generation in the area of CS

33: Available subjects to fit my timetable
6. What were the best things about this course?

1: Rewarding feeling when passing assignments.

2: The tutorials

3: giving chance to understand basic concepts and structures of operating systems.

4: Challenging assignments, lecturer who knew his material like the back of his hand, interesting content, applicable to normal programming

5: The chance to get access to a large code base was great, I definitely improved my ability to write documented code that had to work with a larger system. I gained a lot of experience debugging, and debugging *difficult* issues at that. The course was interesting and challenging, and I felt that the three major course components worked well in tandem.

6: The assignments, challenging and rewarding. The early 10% bonus is a great idea, encouraging students to start extra early is a big help.

7: Working practically on the OS/161 kernel

8: Good lecturer :)

9: The course is no doubt challenging. My partner and I were hitting road blocks after road blocks, but the moment we figured something out it felt amazing.

10: The experience of tackling challenging assignments

11: hard assignments

12: Chance to get some hands on experience writing things I actually use everyday as a programmer. Also, understanding the evolution of ideas in OS overtime and how and why certain things work the way they do.

13: Being able to learn interesting concepts in the field of operating systems and essential use in devices.

14: Challenging but rewarding programming assignments.

15: Very interesting and useful to understand multiprogramming and synchronization primitives and VM. Assignments are good because you wouldn't fully understand the concepts until you have to implement them

16: Assignments were challenging

17: Deep understanding of operating system.

18: Interesting topics structured and taught well. Very good OS/Systems background even if you don't specifically work on OS

19: Video lectures. By far the best thing about the course. Especially considering how information-loaded and intensive this course is. It has assisted me greatly in learning the material.

20: * Relevance to what we use every day (operating systems) and to computer science. * Very interesting and challenging. * Lectures were very informative and tutorials quite good at reinforcing learning.

21: In-depth understanding of the OS

22: The course is very interesting. The material is well organised

23: Interesting case studies and real world examples; Assignments

24: The programming assignments were reasonably challenging and I do have learnt what I've expected to.

25: Very interesting and challenging assignments

26: I feel as though I have a good understanding of what makes a good Operating System (i.e. it achieved its goal fairly well)

27: Learning OS at low level

28: Great content

29: The researchy aspect in extended

30: The lectures were very easy to listen to. If there were no assignments for this course, anyone would find it informative and easy just because of how well it is taught. But obviously the meat is in the assignments.

31: The assignment was awesome practice for things we learnt

32: The assessments really forced you to understand all of the basic concepts required

33: Lectures and tutorials are very helpful.

34: the fact that we were really forced to put into practice what we'd learned and get up to scratch with the content through the assignments

35: The best things about this course were the challenges presented in the assignments which give hands on experience to the content and theory learnt during the course.

36: Tutor and lecturer were both excellent. Can clearly see the application of the knowledge obtained in this course while writing applications.

37: Interesting content. Solid assignments.

38: Engaging lectures. Challenging but manageable assignments

39: Lecturing style was clear. Notes were clear and readily available.

40: Covered topics were varied and broad, exposing issues that a beginning OS developer would ignore or take for granted. The extended class, running in parallel with normal lectures and with a similar but deeper content, is a pretty cool idea. Further, Kevin is able to answer (all?) questions in a clear manner, which was a great help with the course when one is confused/misunderstands how certain things work. Hands-on experience in actually building something interesting (e.g. VM, multitasking) from scratch is pretty damn cool; other (esp. core) courses are much more removed from practical applications/issues. Open-ended extended assignments are pretty fun, too.

41: Course content is fascinating, very knowledgeable and well-spoken lecturer and tutor, really challenging assignments that make you think and when (if) you get them working it's one of the most rewarding feelings.

42: Good introduction to operating systems.

43: Lectures

44: It is a challenging course. You learn a lot if you do assignments seriously.

45: Getting an insight into how the operating system works and gaining a good understanding of the complete system

46: well structured, good material, passion lecture.

47: Interesting topics

48: it gives a good overview of OS

49: The tutorials and the assignments were very good in solidifying what was talked about in lectures

50: The mix between the hands-on (assignments) and the theory. The amount of content is just right and I certainly feel I took a lot out of this course that would be useful for me in the future in general.

51: The assignments, challenging but rewarding

52: pretty much everything. assignments, lectures, tutors (both anna and the sub we had for two weeks)

53: Assignments were fun and challenging. Tutor explained things very well – made both doing the assignments and learning the material easier.

54: Deeply interesting content. Assignments were very enjoyable and challenging (in hindsight).

55: Learning about fundamentals and brief in-depth snippets of how OS works. Great course for any computing student and very helpful to have the underlying knowledge.

56: Assignments

57: tuts/lectures

58: It was very challenging, and gave us a first person look at how operating systems actually work.

59: managing OS with high-level language.

60: Video Capture helped a lot the better understand the lecture slides when reviewing Tutorial questions helped understand a lot more about the topics

61: Challenging but rewarding programming assignments.

62: Lecturer's style of presentation, knowledgeable and thorough. Good material covered, relevant real world examples.

63: Interesting, engaging material that I imagine would be useful to anyone studying a computing degree at any level. Definitely broadened my knowledge and provided valuable insight to the overall computer technology stack.

64: Excellent lecturer, good assessment scheme, interesting content.

65: Exceptional lecturer, great content, every lecture was a joy to attend. One of the best courses I've done. Fascinating.

66: The material. Just the right amount of depth to make it interesting, broad enough scope to stop it from being boring.

67: The course was taught really well. Above all the challenge assignments were the best part.

68: Get to write codes for Operating System.

69: Understanding how Operating System is being implemented generally
7. What were the worst things about this course?

1: The os161 assignments are quite challenging

2: Virtual Memory Assignment, the coding of the physical and virtual memory usage using alloc_kpages() and PADDR_TO_VADDR to allocate memory was a trial and error process to get things working with no errors. Perhaps I did not listen good enough. Not the concept of how a VM system works but the specific functions used to implement it.

3: weekly exercise is not enough for us to get familiar with concept we learned in lecture.

4: None

5: Assignments are not easy.

6: Some lecture content was quite dry, felt like we were just learning algorithms, though might be unavoidable due to the subject matter

7: that it always classes with elec eng courses - always!

8: Assignments felt extremely difficult at times. Many hours spent. Hate programming in C.

9: Should give more time on last assignment than others

10: The worst part of the course was the amount of time the assignments ended up costing me when something *did* go wrong. There were very long debug sessions that required me to hash out implementation issues- despite having a good grasp on the actual theory and concepts. At the end of the day I gained experience and skills doing this, which I am grateful for, however looking back there was probably a 60/40 split between debugging/hair pulling and actual theory comprehension respectively. I only have myself to blame for the issues, but it was just the one thing that I noticed while taking the course.
Yes, debugging in general in complex low-level systems is challenging. Getting into the habit of defensively programming (asserting invariants in the code) is a good skill to practice independent of the programming in general.

11: Probably the information for OS161 wasn't really enough.

12: THe challenges can be overwhelming at times

13: Tutorial participation. i.e. the idea of speaking in class to get marks, rather than attending and following and listening attentively.
We find that unless you're prepared to participate, we are effective awarding marks to sleep in the same room as the tutorial.

14: not enough time to do them

15: The crunch periods - it felt like there could have been more time to do the assignments. Maybe they could be released slightly earlier?
Three weeks should be sufficient for the assignments.

16: Perhaps the release of marks for Assignment 2 was a bit slow to gauge accurate progress in the course (marks wise). This could have enabled a bit more time dedication to bonus marks to make up any that may have been lost.

17: Have to know lots of details for the exam.

18: There was no real direction on the OS161 interface for the assesments. This meant spending days understanding how OS161 worked with the theory

19: Assignments

20: Not enough detail for assignment

21: For those who are not familiar with high-level language ,this course's assignments are too difficult.

22: It is personal issue.I have a feeling that I should have done it better if put in more effort.

23: Tight assignment deadlines.

24: The tutorial is far too short, my tutorial sometime just finishes in 15 minutes.

25: Assignment length. The last assignment in particular we were given just over 2 weeks, and I spent the first half of that programming madly myself and the second half constantly communicating with my partner. The last assignment requires ridiculous amounts of work and an extra week would've been nice - If I was taking a full time course load this semester I wouldn't have been able to do it. (Realistically though, I acknowledge that sometimes giving students an extra week makes them just start it later.)

The last assignment was released on May 18th and due June 7th - 3 weeks should be enough.

26: I would have liked a little more code walkthroughs to be available for the complex concepts covered in the course, maybe even in the lectures as examples,

27: More guidance on the assignments would be beneficial. The skeleton provided were not quite adequate to get us started in my opinion.

28: very very poor feedback to assignments, in promptness and quantity of comments. I have no idea how I did compared to everyone else.

29: Tight assignment deadlines.

30: Lack of feedback on performance, and lack of help available for assignments
I don't buy the argument for lack of help available - we had consults all semester and hardly anybody attended.

31: * Last assignment was initially a little daunting, i.e. had a bit of a steep learning curve.

32: Somewhat difficult to grasp what is going on with OS/161 at times. More consistent practical work (smaller assignments) or practical questions in tutorials might give a better understanding.

33: SVN synchronisation issues in the assignment

34: Not enough time for last assignment. We wanted to attempt the advanced part, however there was only 2 weeks to complete the whole assignment

35: There are too many things to remember when preparing for the final exam. Every chapter is equally important and can be tested with some hard questions. And I forgot half of them after going through all the materials once so I have to study again and again.

36: Deadlines were slightly too quick, see below.

37: learning curve

38: Lack of information, or hidden information, about how to implement assignments

39: The worst things about this course was the low level instruction codes that were required to be understood for certain parts of the course.

40: tricky deadlines

41: The assignments may be too difficult for some students.

42: Do I have to answer this question? There are no bad things about OS!

43: Felt like a lot of content, but was very satisfied. Assignments seemed to encourage classmates to look at other code online.. .which was quite discouraging.

44: the assignment can be confusing, especially when you do not know what went wrong

45: Too many assignments towards the end of the course. Too busy by the end.

46: assignment too hard

47: Difficult assignments than other courses.

48: sheer density of information at times. perhaps if course was just on os/161 it might be more manageable. mind you this was my first third level course.

49: The assignments takes a bit too long to mark. Also, it would be nice if the assignment markers gave more feedback e.g. why 0.5 mark was taken off for a section.

50: n/a

51: Workload at times seemed a little much, especially as coordinating time to work with project partners wasn't always easy.

52: Last assignment is too hard.

53: For weaker programmers, the assignments seemed like throwing them off the deep end, and it became more of trying to finish a deadline instead of learning the core of OS.

54: I would say pressure, but I think it was mostly psychosomatic. There was a little bit of a lack in available material for the extended component.

55: last assignment too hard

56: at first the lecture notes, however, this was fixed.

57: A lot of (very necessary) work in assignments before interesting components. Time to try more advanced things would be good (we never reached paging because of time pressures)

58: Never quite having enough time to finish the assignments to my satisfaction. This is more a time management thing on my part, but trying to do earliest deadline scheduling for assignments is asking for trouble.

59: I didn't get to finish the last assignment. It is just too complicated to understand how everything work in the OS and what causes the error.

60: nothing I can think of

61: Too short tutorial time. Tutor can't explain all questions during the tutorials.

62: Lecturer explain things more clearly

63: Not much happening at the beginning of semester
11. What background knowledge do you think you were missing that would have helped you in this course? Are the official pre-requisites a suitable preparation?

1: Multi threading, but worked it out in the end, just had to practise it.

2: None really - the pre-requisites are suitable.

3: It was a long time since I played with C. Prerequisites are fine.

4: Having taken ELEC2142 instead of COMP2121 I didn't know much about MIPS, but it was pretty easy to pick up so I don't think it's a problem.

5: I hadn't worked with C for more than a year which made the assessments more difficult... Not sure what could be done about that though

6: low low level C

7: I missed stuff on comp2121 contents of which I think may help me a lot.

8: N/A.

9: None really, but on behalf of others: experience with a larger code base than a couple of source files. Pre-requisites are adequate in my opinion.

10: For a postgraduate student, the prerequisite course is Microprocessor which is about assembly programming. I think it's not necessary because not much is included in this course and I can quickly pick up those codes related.

11: I was missing some really super-solid knowledge of C that would have helped. No course can really make you learn that though.

12: The official pre-requisites are enough.

13: Prerequisites are suitable.

14: my c was not strong enough for this course at the start.

15: Debugging, C pointers/indirection, unix syscalls usage

16: Official pre-requisites are suitable

17: Coming from only doing comp1917 and comp1927, I don't believe I was missing any important knowledge.

18: Very little, but only thanks to security. More needs to be covered concerning syscalls and how the kernel boundary actually behaves in Unix.

19: COMP1917, 1927 and 2121 are appropriate prerequisite.

20: wasn't really missing anything

21: the official pre-requisites are suitable for this course.

22: of the prerequisits I'd done comp1927 and elec2142 and I can't think of anything I particularly struggled with because of assumed knowledge, although I still haven't learnt hash tables properly

23: I think the preqrequisites prepared me well enough for this course

24: Pre reqs fine.

25: Not enough practice on C programming for a long time since not a computer science but computer engineering student.

26: Yes the official pre-requisites is very suitable, especially 'comp9032' is very helpful for OS

27: I was not missing any background knowledge. The pre-requisites are fairly suitable. (COMP2121 was it?)

28: Official pre-reqs were sufficient.

29: none i can think of

30: Not sure. My main problem was the fairly sparse documentation on the TLB to be honest.

31: The pre-requesites are ample preperation in my opinion. Computer Architecture was immensely helpful for its explanation of MIPS, TLB, DMA etc.

32: Some practice with other major C code written by other people might have helped working with the assignments as they were a challenge as of itself.

33: None

34: The official prereqs seem about right.

35: Nothing as such.

36: ^ note for question 10: I haven't done any COMP courses apart from COMP1921. I feel that I was constantly behind my peers in ability to code because I have not done COMP1917 and 1927. Some terms were foreign to me, like Hashing. Nevertheless, I felt I was able to get a good understanding of OS theory and how it relates to hardware (and assembly) from mastering ELEC2142. So while I had to learn how to code as well as learn the theory, it has all been rewarding and I like to think I have coped quite well.

37: I do Electrical Engineering so it would've been nice to have done another COMP course that taught me how to navigate through lots of code and make intelligent decisions about how to use/manipulate it. But this course taught me that.

38: I didn't do COMP2121 but had no issue keeping up. COMP1917 and COMP1927 should be enough if you attend all lectures etc.

39: N/A.

40: Deeper understanding of c.

41: Rusty on C,

42: I think it would be good to recognise that for some/most students, this is the first 'C' course that they've taken since 1927. I wouldn't necessarily change the structure of the course, but a webpage primer either explaining or linking to the main points like pointer arithmetic would be great. The 'primer' page on gdb was an excellent resource for gdb, something similar for C would be very helpful.

43: Nothing else was needed. 2121 was a good pre-requisite.

44: I did not take COMP2121 and it was not an issue, although I did have prior experience with OSdev/asm/microcontrollers.

45: Official pre-requisites helped me greatly in understanding, especially learning C.

46: The official pre-reqs are suitable.

47: Having a lot of experience with assembly from Elec Eng prepared me well, I most struggled with the UNIX side of things not being a CSE student. This probably only applies to a small % of the students though.

48: N/A. Suitable pre-reqs, although I understood most of it despite a poor result in COMP2121

49: The pre-requisites are suitable, but still, I wish I had a better understanding of how OS works as a whole at the beginning of the course.

50: One should be able to handle Unix system and other program(emac, vim...etc) well.
13. Which material do you think you will be most useful to you in the future?

1: Multithreading, deadlocks etc.

2: concurrency

3: synchro!

4: Threads and processe have already been helpful, I/O management, scheduling and multiprocessor systems seem likely to be useful in the future

5: Virtual Memory

6: Concurrency and virtual memory

7: Threads

8: All of the topics covered

9: threads and synchronization

10: Synchronisation and Threads

11: Knowledge about virtual memory

12: Processes, threads and virtual memory.

13: threads, concurrency, memory management, security

14: Synchronisation and concurrency

15: processes and threads (very applied)

16: Concurrency and Memory management

17: processes/threads, concurrency issues, memory management

18: High-level theory, knowledge, and concepts in general.

19: Scheduling

20: Synchonisation and concurrency and VM

21: memory

22: System call

23: material related virtual machine

24: fs, io, security

25: Synchronisation and concurrency

26: Synchronisation and concurrency

27: Concurrency.

28: Deadlock

29: Some hints for implementing swapping -- ran into some concurrency issues

30: Multiprocessor Systems

31: Hard to say, it tied together really well as a good BFS of OS.

32: Virtual Memory for optimisation

33: Concurrency and synchronisation knowledge

34: Concurrency and scheduling. They will prove invaluable in the future if I end up pursuing real time embedded systems.

35: General understanding of how an OS works to be able to write better code over the top

36: Synchronisation

37: Processes and threads

38: File systems, concurrency, virtual memory

39: Synchronisation and concurrency

40: Synchronisation

41: Threads

42: Virtual Memory.I still remember every bit I have done

43: Cache, Multiprocessor, Security, Concurrency

44: The assignments are provided good experience to see how a simple OS looks like.

45: Scheduling

46: Multiprocessor Systems

47: Synchronisation, Virtual Memory, Scheduling, I/O Management

48: I

49: Synchonisation and scheduling

50: Threads and parallel/concurrency issues

51: Most of them

52: hopefully threads and concurrency

53: Unix/Linux related case studies

54: Thread, Scheduling, Security

55: Processes, Threads, I/O Management and Synchronsation

56: Memory management

57: System call implementation, File Systems

58: Threads

59: Memory management and virtual memory

60: I/O management, Synchonisation and concurrency

61: Virtual Memory for optimisation

62: General appreciation for os complexity

63: Threads and concurrency

64: Multiporcessor systems

65: Concurrency, deadlocks and scheduling

66: Probably threads + scheduling. However I am a firm believer in the idea that being exposed to ideas/techniques improves your reasoning, so technicially all of the above would apply.

67: Through understanding of VM performance and issues.
14. What material related to operating systems, but not currently in the course, would you like to have seen covered?

1: --

2: Porting the operating system into the embedded device.

3: hardware interrupts, but hard to do with simulated hardware

4: More in depth studies of different os's.

5: N/A

6: Not sure.

7: i don

8: The famous Lions Book

9: None

10: -

11: Perhaps drawing a few more parallels with Linux. Although the textbook does a decent enough job of that.

12: N/A

13: None that I can think of.

14: I would have liked to see more case studies on how real world OSs like Linux or Windows handles things like VM. Of course it would be beyond our level, but selected topics would be interesting. I also would have liked to see something about virtualising OS and how translation layers like WINE work.

15: More case studies of how Windows and Mac achieved things (Consumer OSs)

16: Distributed OS

17: More stuff on multiprocessor OS

18: Networking and Security surrounding that

19: No idea

20: More coverage on OS/161

21: Perhaps graphics, how they are managed etc

22: Perhaps some basic comp. arch for a bigger picture, aside from that nothing.

23: Modern approaches and techniques

24: N/A

25: a look at the functionality of modern OSes/ the scope of features modern OSes provide

26: N/A

27: N/A

28: nothing I know enough about to suggest, but security is really interesting, sad it was almost left out

29: security

30: more on multiprocessors and/or security

31: Unsure

32: None

33: Hypervisors, security & rootkits

34: features of modern system like 'Android'

35: None

36: nothing, but perhaps a bit more hand-holding through system calls in lectures and tutes.

37: N/A

38: more virtual machine stuff could have been cool

39: User-interface for the OS

40: Mobile operating systems (iOS, Android, WebOS)

41: A closer look at the implementation of a popular open-source OS (was never sure which parts of OS/161 would be usable in a real desktop/server OS). Perhaps microkernels.

42: Not sure...

43: More than just Unix-like OS's wouldve preferred to see how Windows etc. work

44: I don't recall much discussion about hardware drivers, that would have been nice
15. Which of the current topics would you like to see scaled back or excluded?

1: scale back on multiproc stuff

2: noting at all

3: None

4: Security

5: File systems

6: Processes

7: file systems, but mostly because of my lower-level interests

8: Maybe a little less time on concurrency - let us make our own mistakes. More practical?

9: Security

10: None

11: There seems to be more focus on concurrency related topics than any other, though it may well be the hardest concept in the course

12: Low-level implementation issues

13: Not sure...

14: N/a

15: perhaps filesystems.

16: None

17: Security

18: low level implementation issues.

19: None, I think it was a very well rounded course with very little irrelevant material.

20: N/A

21: vm

22: Low-level implementation issues

23: N/A

24: hard drive access optimisation

25: File Systems

26: scheduling

27: cut off the I/O part for other topics

28: -

29: N/A

30: File systems is slightly too large

31: N/A

32: Perhaps the overall Process/Thread & concurrency area has room for shrinking.

33: N/A

34: We probably spent too long on pagetables, but it helped for the assignment so I don

35: File systems

36: ext3 FS

37: Not sure.Maybe there should be more elaborations on how the kernel works

38: Deadlock

39: VM

40: I feel like the scheduling algorithms don

41: Anything about windows and magnetic tapes.

42: File systems topic is huge (examining ext2 and ext3 seemed a little too much)

43: Low level implementation. Perhaps more high level understanding

44: we spent a lot of time on file systems, like 4 lectures doing case studies in the middle and I sort of lost the flow of it all

45: No idea

46: none.

47: None
20. If you have not been attending lectures, what factors influenced your decision not to attend?

1: Availability of vast resources relating to the subject online or in textbooks; this gave OS lectures more flexibility for me.

2: N/A

3: N/A

4: Travel time (1.5 - 2 hours each way)

5: mostly because I have only 1 lecture on Thursday

6: Lecture time are a bit too late and I think it will be more effective to go through the materials when I'm not that tired

7: Have been attending lectures.

8: Assignments to finish and exams to revise.

9: N/A

10: N/A

11: Time spent doing OS assignments

12: n/a

13: N/A, attended all

14: N/A

15: N/A

16: Assignments from other courses. Late lectures in the evening.

17: fatigue

18: Too many assignments from other COMP courses

19: I attended most of the lectures, I slacked off in the latter half of the semester because you started doing video lectures which I greatly preferred.
That is one downside I fear. I do not want to end up recording lectures each week to an empty lecture theatre.

20: A clash with a core Electrical subject lecture on Thursdays. I am very grateful for the OS lecture recordings, as a result.

21: Attended ~60-70% of lectures due to time constraints from working full time on an industry placement. The video lectures made it much easier for me to keep up to date when I couldn't get off work to attend.

22: When I had several assignments due at roughly the same time, was extremely helpful to be able to not attend some lectures and catch up later with the videos.

23: Work commitments for the first half of semester. However afterwards i regret missing the earlier lectures.

24: only skipped a couple because I had a clash

25: Towards the end of the semester, increased workload as multiple assignments from several courses are due very frequently and close together.

26: Work commitments

27: -

28: N/A

29: Other assignments due

30: The lecture slides were sufficient to follow the course.
21. Any suggestions for improving lectures (including the lecture video captures)?

1: Maybe the occasional practical demo - eg. Here's a view of what happens with vm and paging in a running system under load. Don't know how this could be accomplished, but would be interesting.

2: Video lectures were awesome. My lecture attendance didn't drop because the lectures were bad, it dropped because being able to rewind a few minutes is infinitely useful and doesn't inconvenience the other students in the lecture by interrupting. On that same note, can I suggest taking a more hardline stance with lecture interruptions? There was one student in particular who constantly interrupted to uh 'contribute his knowledge' for no good reason, and part of the reason I switched to video lectures was because I could skip over his interruptions. I was pretty impressed with how patient you were with the interruptions though so kudos for that. Also (sorry for wall of text) it would be nice if the notes were up earlier. I couldn't decide 'do i need to attend this topic in person or will notes suffice' because they were up so late. Minor quibble though, mitigated later in the semester by video lectures.

3: If they are pre-recorded, they can be carefully structured and more concise. Labelled bookmarks (possible in YouTube in the info section) would be extremely useful to be able to quickly find specific information or examples.

4: The slides should be uploaded before the lectures. Students have time to read it and prepare before attending the lecture.

5: N/A

6: Better sound quality. Thursday lectures was quite difficult to understand in the video as the voice echoed.

7: Perhaps slightly clearer audio. Specifically when students provide input or ask questions. This was usually not quite understandable, but not a major issue really.

8: No, they seem fairly solid

9: Try a better microphone. Sometimes the volume varied very wildly.

10: Having different methods in topics introduced somewhat chronologically, kind of like "people tried this first, but found this and this disadvantage so then x was developed". This is sometimes done and sometimes not, but I find that it helps with understanding more than "these are all the things available to us right now". Links to suggested reading material.

11: Less slides and 'death by powerpoint'.

12: A better lecture theatre? One where you are closer to the audience so its less scary to try and ask questions?

13: Better lecture theatre, or use the PA system (I know this isn't necessarily under your control, but the science theatre is awful to have a lecture in without amplification - it's very difficult to hear)

14: More up-to-date preparation from Kevin; the occasional "oh, that's what I have coming up next" pauses were a bit awkward.

15: Continue to do this from the start of the course, as the lecture notes are near impossible to follow without the aid of the capture.

16: better sound quality

17: Sometimes sound quality could be improved in certain parts of some captures.

18: prevent a particular student from answering the questions from other students and intercepting the lectures.

19: Improve sound quality, when a student asks a question, possibly repeat the question again yourself before answering (student's voice aren't very clear in the recordings)

20: Start recording from day one. Allow lecture notes to be released before lectures.

21: It seemed to cover it pretty well, I can't suggest anything major I would change.

22: The lectures are already very good, I would have enjoyed more story time/tales from industry.

23: More explanation through hand writing

24: None.

25: Wireless mic? Bluetooth headset attached to your top pocket?

26: Continue using the videos.

27: Was difficult to hear any questions that the audience would ask, perhaps repeat it to the mic?

28: maybe split lectures to 1hour slots? I found it difficult to follow sometimes during the 2hour slot.

29: -

30: combien videos in lecture ntoes.

31: possibly engaging the class a little bit more, but they were generally very good

32: None

33: none

34: Not sure.

35: More low level implementation examples to help with assignments.

36: It would be better if Extended OS lectures were in the same room.

37: No.

38: Lecturer could repeat student questions so that they can be heard clearly on the video captures, because the microphone doesn't pick them up when spoken by the students.

39: Try some hands on in-OS161 demos? Just a possibility.

40: It would be better if Extended OS lectures were in the same room.

41: More practical things in the industry could be included because the provided materials is sufficient for basic studying. Microphone can be used for recording.
In general, seems the videos are popular. I've looked into the wireless lapel mic, and the set up is not trivial - products out there are mostly professional analog (requiring too much set up time), or mobile phone bluetooth headsets. If anybody knows of a USB-based, wirless lapel/lavalier microphone, drop me a line.
22. 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: None used

2: Didn

3: N/A

4: N/A

5: N/A

6: N/A

7: -

8: I read part of Silberschatz and Tannenbaum is better

9: N/A

10: N/A

11: No need. Tannenbaum is fantastic.

12: n/a

13: I think Tannenbaum

14: n/a

15: N/A

16: n/a

17: N.A.

18: N/A
25. Any suggestions for improving tutorials?

1: Tutor can explain some back ground knowledge to the question again but making the assumption that we all have reviewed and prepared for the tutorials.
Sorry, we expect you to prepare for tutorials.

2: Post answers for assignment tutorial questions as well.

3: N/A

4: N/A

5: There should be more tutorial questions.

6: Have tutorials for the extended course? :P

7: tutors should not rush through straightforward answers to questions in 35 minutes. take more time to tease things apart (and allow fuller notes to be taken)

8: please upload tutorial answers at the end of every week.

9: N/A

10: have less repeated questions, like the temperal and spatial locality ones

11: More questions, often finished 20-25 mins early and could have been used to further understanding.

12: A little more questions for each week

13: nope

14: I did not attend tutorials but I read the sheets and they were helpful for understanding the material.

15: Sometimes the tutes and the lectures were out of sync. Probably needs a conditional variable somewhere in there

16: DON'T PUT THEM IN GOLDSTEIN! There is no wi-fi access in there. This is a computing class, and sometimes it's beneficial to look something up to further understand what the tutor is saying.
Sorry, I have little influence on the scheduling lottery that occurs each year.

17: More examples with calculation questions would improve some tutorials.

18: Probably upload information from the code reading tutorial onto the wiki for future reference.

19: N/A

20: Didn't go to tutorials but I did enjoy the extension lectures. I just wish the lecture videos were more consistent for the extension lectures

21: N/A

22: In our tutor room the projector wasn't working making the code walkthroughs difficult. Also my tute was early in the week, sometimes was difficult to prepare for the code walkthroughs due to limited time.

23: Please make it sync with lecture.

24: Nothing comes to mind.

25: Ensure all tute questions get covered. Anna was good at this!

26: maybe provide answers for assignment questions would be good

27: Tutorials often ended early, more questions, and indeed some more challenging questions would be amazing.

28: Weekly handins

29: For the shorter tutorials add in coding examples. Eg. an equivalent of writing lseek syscall on a system which is just missing this functionality and explaining the surrounding structures and syscalls would give substance to the theoretical explanations in lectures. (Though pick a topic which is not already an assignment)

30: None.

31: Do not have them in the Goldstein buildings as they do not have uniwide wifi.

32: Nope can't think of any, David was a excellent tutor!

33: No.

34: Fix the projector.

35: Dave only gave me tutoring once.He explained everything in detail and guided class to understand the core of question not question itself.Best tutorial I have had.I wish I had him as the tutor.

36: in general tute should not end 15-20 minutes early. comment on what are common pitfalls/mistakes. comment on what are bad/good style constructions.
31. Do you have any specific comments about OS/161

1: Too many university uses the same assignments for their OS courses.

2: No

3: Good OS to do uni work on.

4: good

5: Tough but rewarding core course (would not choose for elective. Just my personal preference. Probably reflected in some of my answers)

6: Code base is rather big, need a good walkthrough.

7: Some comments in the code which are more relevant to the advanced assignment (or non-UNSW assignments?) can sometimes confuse the spec/requirements.

8: Great platform to get started learning about UNIX-derived operating systems!

9: Very great concept and execution as a learning tool.

10: It often makes simplifications on what would happen in a real production OS. This makes it hard to decipher which parts of it are full-featured and which ones would need changes for use in a PC or server class OS. Often the comments help with this a lot, but not in all cases.

11: Scale of what we needed to understand was fairly big for certain assignments. Maybe too much? But challenges are good.

12: For the most part the comments were great, but on occasion the comments seemed to contradict what was asked of us in the assignment specs, which I think was because the comments were from the Harvard developers. I think the comments should be removed, altered or clarifications in the spec should be made to avoid confusion.

13: The wiki could be expanded to include some more helpful notes.

14: Reasonable code scale for studying OS especially for low-level programming starters.

15: I dont like that there are implementations available online. It makes me less happy about the work i did do on the assignments.

16: Second time doing this course and I thoroughly enjoyed it again. Really good course with a fantastic lecturer and great tutors. I think this might be perhaps the only course that has really really good lecturer and tutors. Material is superb and should stay as it is. Exclusion of security topics from the exam this year was a surprise but that's OK. Thanks Kevin, Anna and Dave!

17: Seems quite well written, a valuable tool. Has the occasional surprise or rough edge, but that's expected.

18: Not really.

19: Compared to other kernels, it was a joy.

20: Not enough test cases.

21: No.

22: Not really

23: Excellent theoretical content - especially the memory, multiprocessing and scheduler parts.


25: No

26: not really, it's quite a cool little code base

27: Very good for teaching OS

28: self-exercises with os/161 please....

29: The codebase could be better documented, system calls had a lot of guessing with the VOP layer. Not a huge issue, the OS seems like a really good educational tool, being able to test quickly is great.

30: Very great concept and execution as a learning tool.

31: good as a teaching OS, good amount of visibility for the most part, except for the one issue of attempting to follow VFS_XXX functions

32: Its large coding base may be too daunting, so for weaker students the code walkthrough could be done the first time together with tutor/lecturer.
35. Any suggestions for improving the assignments?

1: N/A

2: maybe a little more real examples of implementation. help understanding in a more practical way

3: I was actually very keen on doing the advanced assignments. But time constraints meant you were typically given a week to do the standard assignment before you were allowed to do the advanced assignment. Then you had a week to do the advanced part. Do-able, but I couldn't managed that

4: More tests. No early "bonus". No 1 week early requirement for doing advanced. Maybe make just make advanced assignments mandatory for extended course.

5: tutors to help us get started/general assistance, more lab-like

6: In the second assignment, I found implementing the syscall exit useful, but as this was not part of the assignment I was a bit sure how to do so and ran into some problems with it, would like if that was already implemented or part of the spec. With the extended assignments I would suggest them being worth less but with a later due date. I was interested in attempting the extended parts for the last assignment, but as I had 2 other assignments due at the same time this was not possible.

7: Perhaps a few guided labs at the start of the semester to get comfortable working with such a large database of files and the 0S/161 OS. And as an opportunity to choose an assignment partner in person.

8: Nuke the % awarded for the bonus, even down to 0%. I feel like if the bonuses were 'marked' less casually (maybe even with your tutor who students might be more comfortable with sitting with), the incentive shifts to 'showing off' what you have come up with rather than marks. Maybe even a competitive element, who's process management system is the most robust/efficient? etc.. I was very interested in the topics and the bonus for the second assignment, however ran out of time at the end of semester for any of the assignment 3 bonus tasks. The obsession with marks at university drives me crazy, I wish people valued their actual understanding over their marks.
I wish marks were less of a focus also, but unfortunately, it is.

9: More cover on the lecture slides, I felt like doing a lot of google search and wikipedia for every assignment
Lecture slides are intended to guide you through the material, not be the only source of information. Thats why we have textbooks, and various internet resources.

10: not enough time. somehow more time?

11: Perhaps allow dropping partners if they are not doing any/sufficient work on the assignments.

12: It would be great if the advanced assignments had an extra week to the standard. I wanted to try the advanced assignments but didn't finish either assignment 2 or 3 more than a week before the due date.

13: N/A

14: In the first assignment my group forgot to format the design.txt before submitting. And as a result, our marker said our design.txt was unreadable and had to be ignored. Our mark was significantly impacted because of this. I understand this is a mistake on our part but would really appreciate if the marker could be granted the permission to correct the formatting since it will only take literally a minute.

15: Mark them a little bit faster. ;) Other than that, perhaps automarking shouldn't count so much to total assessment. I'm not sure how it normally works in other COMP courses, having never done any, but in other subjects you can get quite a lot of marks for working, even if the final submission isn't 100% perfect.

16: Some tips on using Sub-Versioning (svn). Specify which parent folders/directories that the user/programmer can reference as resources, i.e. there are more than one 'vm.c/vm.h' files in the OS/161 assignment.

17: As mentioned before earlier and more feedback would be great.

18: none but re: "The advanced assignments are intended as on opportunity for students to delve deeper, and not as an opportunity to scrounge marks. There is a general trend towards less of the former, and more of the latter." Maybe its the people I interact with but all the people I know that attempted them seemed to be in it for interest/preparation for AOS.

19: More time on last assignment. No penalty for late submission for last assignment.

20: I think needing to complete the standard assignment a week in advanced to apply for the advanced component made it difficult to schedule my study time well. e.g. I started ass2 6 days before it was due and finished it wwith 4 days to spare. If I could have done the advanced component, I would have.

21: More documentation on the TLB. I'm probably dense, but I couldn't find enough information on it to be 100% sure as to what it needed.

22: nope

23: -

24: Don't make advanced worth more, some people just aren't up to it, and it will reduce the marks of those who are already really trying hard in the standard ones. Plus, the standard ones already took up a lot of time, and if the amount of time required to do the advanced part becomes compulsory, it will put a much larger load on the students.

25: try and make the assignment questions tuts close to when the assignment comes out, like put the assignment out just before the weekend and then have the tut that week on the assignment questions

26: Perhaps moving the wiki notes to the actual site of the assignment specification would help. Or at least have direct link to it from the assignment specification page. Only noticed there was useful information on it when you sent an email about it.

27: Give more time for the later assignments

28: Bonus for anything interesting. e.g. porting OS161 to the nintendo 64

29: No.

30: We ran into time pressures sometimes, and would have been able to complete the advanced parts more thoroughly with a few more days. Hard to avoid, but it happens.

31: broken up into smaller achievable (but perhaps dependent) chunks with definite tests that can be used to help for each one (not that the tests should define the assignment).

32: I think they're perfect. Once the concept was perfectly understood, the assignment did not seem as difficult.

33: Modify OS161 so it isnt the same as the one online. So people cant copy others code/read how tos.
I will make it clear next year, the online versions are not exactly the same, and the guides are not completely correct. Students who followed one particular guide actually attempted a more difficult approach to the assignments, that was not correct. They are also easy to spot, and a significant number of student were penalised for various degrees of plagiarism.

34: The warm-up asst0 was given 4 weeks to finish which is too much. It could be shrunk to 2 or 3 weeks and move the extra 1 or 2 weeks for the VM asst3.

35: Assignment feedback; still don't think I'll get ANY feedback by the time the exam is over. Assignment 1 marking was also wrong, the tutors pointed out non existent 'mistake' for the testcase failing, which was disappointing.
Did you raise the issue with the mark, or myself? We are not perfect, and can't see issues that we are not made aware of.

36: Definitely deliver the assignment 3 information lecture to the whole cohort and not just the extended students, that was a major help. When I found out that the extended students had been delivered an information lecture on assignment 3 before the standard students, I was quite flabbergasted and thought it should have been the other way around.
The extended students got a very brief intro, and then the focus was on issues related to the advanced version. The standard student got much more depth on the basic assignments. The ordering could have been better, but I don't view it as particularly problematic.

37: Give better directions on how to get started

38: there should be more test explanations on conceptually how to solve the bug in our code if we can not pass the test

39: More detailed "How to start" guide. I found a lot of trouble starting each assignment (very large code base and difficult concepts to wrap my head around).

40: The first concurrency assignment was perhaps a bit too constrained/
37. What were the strong points of COMP3891/9283?

1: interesting talks - sometimes.

2: Assignments that relate directly to the material, rather than some theoretical waffle.

3: Doesn't sugar coat it, if you are capable it lets you go further. Very good way to introduce yourself to OS concepts.

4: the tangents

5: I loved the parts that extended the normal course content knowledge (scheduler activations, etc) as well as the parts which linked closer to the real world.

6: Interesting additional material. It was great to explore case studies of actual implementations of the concepts discussed in lectures.

7: Lots of interesting information!

8: cool material

9: I enjoyed the extra topics

10: It was rather interesting to delve deeper into many more advanced OS topics.

11: Relevant background info and examples, real life examples. Great lecturing. Deeper and more rounded treatment of content was good.

12: Interesting topics

13: Virtual machines.

14: Extension lectures were interesting

15: In general, everything was just really interesting. Having a smaller environment to interact with the lecturer was nice, and being lead on random tangents was particularly interesting.

16: No forced tutorial participation

17: Interactive lectures, interesting material.

18: Assignments that relate directly to the material, rather than some theoretical waffle.

19: More advanced/complex content and research topics.

20: -

21: Almost free discussion

22: Deeper look at a wide range of topics

23: Extra knowledge

24: Going above and beyond normal OS improved my appreciation of operating systems
38. What were the weak points of COMP3891/9283?

1: Ordinary lectures can get slow.

2: -

3: A bit too specific/technical at times

4: Didn't pay much attention

5: Not as many topics that I thought there would be

6: None that I can think of.

7: I do not think there was enough time spent on the ext topics.

8: sometimes a bit over my head - I would consider myself above average ability.

9: It was unclear at times what was assessable.

10: Not really guided all too well, unsure of what was going to be in the exam/what we're learning

11: Too much to process/understand sometimes. More extended lecture time would be good?

12: Mainly the infrastructure surrounding it, the website etc.

13: I felt the one hour lectures just were not enough to get much covered.

14: I don't like how eOS now being examinable made it so you had to dash through some of the more interesting topics to get to the assessed ones.

15: The "advanced" topics were often on technologies already obselete, like upcalls. The principles still apply, but mention of equivalents actually in use, like epoll/select on a I/O worker thread would make it more practical.

16: Lack of feedback in general, and slow extended assignment marking. The concepts covered were really specific to certain designs, and explored a bit too slowly.

17: The lectures didn't feel that flowing, they seemed just random topics

18: The smaller environment meant that interaction with the lecturer sometimes tended towards being more students talking than the lecturer talking, which is not always preferred.

19: None that I can think of.

20: Extension lectures weren't as consistent as the standard lectures with the lecture recordings. I skipped a few extension lectures assuming I would be able to watch the recording later and was then disappointed to miss out.

21: No option to answer the standard question in the final exam?

22: Didn't always sync up well with the standard lectures(in terms of content)
39. Any suggestions for improving COMP3891/9283 Extended OS?

1: -

2: Some 'questions for thought' or tutorial style problems we can think about in our own time.

3: A better structure for the overall lectures

4: Maybe discuss the latest article on LWN or something.

5: While the theoretical component alone was fine for interest - I felt that perhaps extended should have a distinct separate extended assignment option. (e.g. either do the normal or the extended version). This was primarily due to time constraints not allowing me to attempt the advanced parts properly along with normal assignments - despite a strong interest to do so.

6: More extended lecture time.

7: Don't teach to the loud minority. Perhaps separate the courses more because it doesn't seem like doing extended meant anything except that you lose the tutorial and gain a here's some cool things "lecture". perhaps separate assignments or substitute tasks etc.

8: More hours?

9: Better classroom.

10: more structured I guess

11: Maximise time in the lecture by having it in the same room as the normal lecture.

12: More stories. Kevin's examples from his experience were some of the most interesting content in the course.

13: Maximise time in the lecture by having it in the same room as the normal lecture.

14: Maybe have the lectures run a little longer.
41. Do you have any particular comments you would like to make about the exam?

1: Past papers

2: It was just right

3: The length was good, but the multiple choice questions are annoying when they feel very ambiguous and you don't get a chance to explain your answer, which could allow us to demonstrate we do actually know about the topic, but can't decipher your one sentence question.

4: It was a fair exam.

5: Slightly ambiguous multiple choice questions are annoying (though I suppose that's the entire point), but it was counterbalanced by humourous ones :) Overall I'm happy with the exam, thought it covered most of the topics quite well.

6: A 3 hour exam with a few more questions wouldn't hurt as there's just so much material in this course to cover. An exam barely scrapes the surface which introduces an element of luck as to whether you spent more time revising the right bits.

7: Describing algorithms or approaches and then asking students to talk about issues with applying them to particular circumstances would probably be a better indicator of understanding than just asking them to describe an algorithm.

8: Too many multiple choice questions.

9: Weighted harmonic mean is bad

10: It was a well rounded exam of theory and application.

11: I made a silly mistake of implying that data compression will make it larger :) I liked the required terseness of answers. Made me think a bit, and provide (hopefully) high-quality answers without the fluff.

12: T/F section seemed a bit of a shallow testing method. It would be better to maybe extend it to 3 hours, and just ask more questions. But that costs marking time, which might not be acceptable.

13: Did not expect the high concentration of UNIX specific questions. Would have thought that the exam would be more OS161 specific as an indicator of who actually properly attempted the assignments

14: the exam questions are very good. just hope I had a bit more time, 30 minutes will do.

15: It was a standard exam, I got caught out by a single blind spot that was worth a lot (the TLB question) even though I did a significant amount of work understanding it in assignment 3 so I'm kind of annoyed at that. The marking scheme was a tad wonky. i.e. A question worth 8 seemed less than twice the work as a question marked 4.

16: -

17: Exam is very easy, perhaps at least one or two more challenging questions for some of the more capable standard OS students. Overall very happy with the exam, I got to show everything I knew, and it seems fitting that most of the course effort is shifted to the assignments. Would prefer if the exam was not weighted as highly. Exam was well written.

18: In my humble opinion, practical assignments are much more important for writing exam. I do not want to memorise the concepts, instead I'd like to know how to implement it.

19: the true/false answers scare me, I feel like you should just tell people if they guess only true the whole way through or something they'll get 0, not dock marks because some of those questions are very ambiguous and I could argue either way, in fact we all did after the exam

20: T/F questions are somewhat tricky.Sometimes even I understand the whole topic I will choose wrong if I skip reading one specific word.T/F should be replaced by real "MCQ"e.g one out from four choices.

21: Would prefer more questions with less marks assigned to it.

22: No

23: The word "quantum" for the round robin scheduling question. Got stuck on that question for quite a while thinking about what it means.

24: I felt the number of topics covered in the exam was not very broad. I don't like the True False questions, I don't feel as if they are testing my knowledge, more trying to trick me.

25: Some of the true/false questions had ambiguous wording.

26: No.

27: Overall it seemed reasonably balanced with content and difficulty - perhaps it could have had more Extended specific marks & questions. You could probably easily make it a 3-hr exam and fit more content coverage in it to allow a greater representation of student knowledge on each topic.

28: true/false with a penalty is a very limited measure and discourages attempts to answer. if short answers are needed at all, fuller multiple choice without a penalty (or only a minor penalty) is far more approachable.

29: Needs more sample papers to prepare us for the layout..

30: I felt the multiple choice questions didn't test my knowledge as much as try to trick me. I feel this section would be better replaced with a section like the others.

31: Too much things to remember. Exam range could be made more specific so that we can review with a clear focus. More operative questions could be included instead of concept reciting questions.

32: A bit too short. 2.5 will be good

33: Maybe should have been a bit more challenging.

34: The exam felt right. It wasn't difficult, but it assessed knowledge and the difficult part of the course was really the assessment.

35: I was annoyed that I couldn't make a genuine attempt a some of the True/False questions at risk of losing a mark for "guessing" despite being 70% sure.

36: The question where some parts were for non-extended, some for extended, and some for all was confusing.

37: Maybe 2.5 hours. Losing marks for wrong multiple choice was a little harsh given the very ambiguous wording - perhaps a way to justify your answer in order to get 0 instead of -1

38: I prefer the questions where you have to work with existing code (e.g. with deadlocks) or demonstrate that you know how page table lookups / TLB lookups etc - more calculation / coding, less writing

39: I forgot what "quantum" meant in the context of schedulers. I would have remembered if the term "time slice" was used. Not sure what to make of that.

40: not yet

41: I believe parts of the exam was too heavily focused on assignments and programming. The exam should cover material outside of assignments, in my opinion.

42: the virtual memory part was annoying to fill in, repetitive and confusing (hex/decimal etc). It was too easy to write question 6 and 7 in the same booklet! by the time I realised, it was too late and i couldn't afford to rewrite it in a different booklet.

43: The exam was thorough and a good length

44: Losing a mark on the true false questions is cruel
43. What is your opinion on an equitable approach to evaluating practical student work?

1: I think less points should be deducted from the automarking tests because sometimes it's hard to make an idea working all right with the whole system when practically implementing it.

2: I like the idea of oral reporting. This also means people who understand the content, but have a small bug are less penalised.

3: I think the system is fine as is

4: Oral exams/demonstrations seem like a reasonable way to assess student familiarity with their work. Shifting more value to exams penalises students who understand the material but perform poorly in closed book exams. Open book exams might also be helpful? Regarding question 44, as the approach is not transparent I can't really comment...

5: In ENGG1811, we weigh the assignments very little, and target exam questions at the first assignment to deter the huge number of plagiarists.

6: a 10 minutes demo similar to COMP3331

7: Oral exams would take forever for you to mark, but they'd be optimal. Give it a shot one year.

8: Fine as is. Perhaps more tentative checks for plagiarism. Oral examinations would be bad because some people require a long time to contemplate the problem and arrive at a solution.

9: Marking based on student understanding is more important than marking code. This favours oral tests, targeted exam questions, weekly labs, etc. Too much weighting on the exam increases margin for error in grading students (Smart students can have a bad exam and vica versa) Students reading blog articles on the topic is not always a bad thing as they are still learning from them.

10: Huge assignments with weekly labs maybe better

11: Combination of auto marking and manual marking (possibly only in cases where auto marking performance is poor), assignments should also have peer assessment.

12: Abolishing harmonic marking.

13: In ENGG1811, we weigh the assignments very little, and target exam questions at the first assignment to deter the huge number of plagiarists.

14: Reduce the workload on the assignments and make them individual assignments.

15: Oral presentation of OS

16: Having them do many small deliverables which will finally result in the entire assignment's worth of task. This not only prevents students from just following other people's blogs, but actually understand the flow of logic to get to a particular state in the assignment.

17: Automarking + code design mark. Regarding question below, we were never told how they were treated.

18: I like the weekly deliverables, perhaps including a small amount of the marks being "Tutor insight" and their opinion of whether they believe the student learnt the content or not. Probably difficult for extended OS students since they don't have a tute, but maybe during the lecture?

19: Introduce some practical labs (which don't have to be every week, but only the weeks where assessment is required) and place students under "exam" conditions (i.e. no talking, no internet access, etc., but allow whispering among groups if group work is permitted). The work during these lab sessions would need to be challenging enough for assessment purposes, but not too challenging as to not allow for a solution to be formulated and tested within the time frame.

20: Oral exams / interrogation is extremely effective, as a demonstrator for ELEC subjects I know how competent a student is within the first few sentences that come out of their mouth :) I am aware of the public blogs / github repos that are available online, and I agree they pose a threat to the integrity of the practical work. It's all a game of how best to allocate the tutor's hours, my only suggestion there is to maximise the tutor's one on one involvement with the students directly. An idea could be to have students write up notes / material and collaborate on a course-wide level- and tutors assess their work. Students could also come up with short presentations or tutorial questions and demonstrate them during a tutorial.

21: more oral understanding, but not necessarily exam. More incentives for tutorial involvement, maybe with assignment understanding milestones

22: Ideally it should be two fold. By having the assignments, it forces revision of content and reinforces concepts (easiest way to know why something is done a certain way is to do it) and students are rewarded for effectively doing revision. Win-Win. I like the idea of oral questioning, although I am concerned about the time required (and the man power, for that matter) to get all the programming groups/pairs tested to a reasonable level. This isn't even considering that some people are nervous when interviewed, which will put a damper on the oral plan. Maybe do the equivalent of an oral spot check? If you take the micro assignments route, give people a heads up a couple of days before that they also need to do an interview on their assignment? You'll have to deal with the mess that is timetabling, but ideally not give cheaters enough time to prepare.

23: Maybe additional coding tasks? Smaller chunks you can knock over in a night that test something interesting about OS knowledge.

24: I think weekly labs with an oral delivery of each deliverable along with code would ensure understanding

25: maybe introduce a practical/lab examination?

26: Re last item in #42: ensure weekly progress of all students? Cheaters tend to do the assignment last-minute. Run plagiarism detection on each lab, too. Oral evaluations might be appropriate, but it will take time and effort to assess every student pair.

27: I have some "wild" ideas too... - Create brand new assignments for next year onwards, and make all the students sign NDAs that bind... for life. - For anyone that cheated in Assignment 1, make the perpetrators stand up in front of the class and bring back the cane, to set an example just before Assignment 2. Oh, well, just in case there are laws against those methods, I would agree that a combination of an oral exam and some normal marking will work well. It's proven to work extremely well in ELEC2142 (a coding subject). While it probably won't squash plagiarism entirely, at least those that do will be compelled to really understand the code they've plagiarised and get better at understanding the course anyway? Dubious, but better than weighting the exam to equal all assessment. For the sake of the sanity of next year's students, please do NOT do this. Unless the exam is open book. I couldn't do the assignments without Tannenbaum and your lecture notes by my side.

28: Auto-marking. Points can be awarded for style and design as long as it's not a large portion of the final assignment mark. Targeted exam questions are fair as long as students are warned that they will exist (preferably on the assignment spec as well as the lecture slides and the course website).

29: divide it up, so there are works to be done each week. Leading to a step-by-step completion of assignments, thus no need to plagiarise.

30: i feel interviews give the best impression of your knowledge of the task.

31: I think that the important thing is that students still do both. If assignments were optional then half the graduates would have only a grasp of OS theory, and half would have a very in depth understanding of the implementation. I believe the assignments need to stay to some degree otherwise graduates from the same course will be wildly differing in ability depending on whether they did the assignments or not. Reducing the marks doesn't solve it, it just makes students more likely to give up on an assignment and say 'I'll make back the marks in the exam'. I think the best option is to still do auto marking, and verify that they have come up with a working solution, but to ensure that it is actually the students solution, verify it with targeted exam questions.

32: I think it's important not to place too much weight on a single assessment ie the exam - it's easy to stuff up an exam even when you know the content, if you're having a bad day. I also think that you need to give people the opportunity to fiddle with the practical component to understand why certain approaches won't work, and there might not be time to do that if weekly labs are given. So I think the oral assessment is a good way to prevent plagiarism without reducing the fairness and value of the assignments - but I understand that orally assessing everyone is going to take a lot more time and staff.

33: This is a hard question and is a problem for every university in the world. I guess its just a fact of life and should just deal with it. Its not the university's loss, but rather the student's loss. The final exam is a good way of assessing a student's knowledge so the exam mark is a good indicator of OS knowledge. However, for some students (either the minority of the majority), the assignment weightings should remain the same because it teaches A LOT! Everything comes into place when the assignments are attempted. So, just leave it as it is.

34: I think that developing assignments for students is better. Nowadays, there are plenty of information on the internet. If you make assignments that cant find on the internet, this problem would be solved.

35: weekly labs is a great idea. small completion mark each week and then target test in exam.

36: Not so fond on the ones that don't provide marks for assignments (first and 5th options of previous question) since I'm not good under exams compare to assignments. Also, from previous courses that have assignment targeted exam questions, they tend to still not provide an adequate representation of the things you learn doing practical assignments (except barring Buckland's "take your project and make these new changes!" cs2911 format).

37: I believe adding an oral marking component would be a great idea for both: - identifying cheater - Helping students solidify understanding of the material by critiquing their assignments an knowledge in person.

38: I feel that an oral exam in addition to automarking is the best approach. The practical components were definitely very useful and from my experience of extended assignment marking oral seems like a great way of assessing knowledge. I don't think many people would like the idea of a final exam being the sole determiner.

39: more milestones, and central journal/log. legit development work should be step by step with some mistakes and how it was corrected. pick those who don't contribute to tute discussion to higher scrutiny with oral exam on assignment

40: I think the oral exams are a good idea, could even help against partners who do not do their fair share of the work. The weekly labs could also work but I feel the challenge of understanding all the source code would be too hard (and I don't want this to be removed as it is a somewhat unique challenge for the course).

41: Automarking and checking through the assignment manually.

42: Not sure this is different to what we're doing now.

43: Student's understanding has to be final determinant. Removing practical work relies too much on exam performance (a personal weak point). Oral assessments would be a good solution.

44: If it becomes weekly labs I think the difficulty can be too easy or too hard to finish during one week.

45: I would say oral exams are ok but keep in mind that, some people may feel uncomfortable when speaking out loud which could affect their ability to perform well(Nervous much?). Assignments on the other hand should be fine, given a certain time frame. In the end, their understanding should be tested in the final exam from which they learned from the assignments and course materials. One cannot simply rote learn for the final exam, it requires a good understanding to do well on it.

46: There should be oral exam on understanding .It sounds cool.

47: As a weekly deliverable with feedback

48: How about provide some materials(like papers, some hints or sample codes) about how to implement the assignments. Because the assignment is too difficult, not much student can finish, provide help too some extent will much helpful and if student can find help from course, they wouldn't try to find code online.

49: Assess the assignments mainly on understanding.
Basically, the course continues to run smoothly, and positively challenge students, especially on the practical side.

Capturing the lectures was viewed overwhelmingly positively. I plan to continue experimenting with the technology. I'll see what I can do with the audio quality.

At a high-level though, Extended OS has become an issue.

It is intended to be selected topics from seminal research papers, or deeper examination of selected OS topics. It is intended to be an informal discussion, where students are expected to contribute, with the research papers themselves being the fall-back reference for study. The intended audience is students who find the standard material quite easy to grasp, even boring. Historically 10% of students did extended. I make this clear at the start of semester!

However, the number a students has grown dramatically over the past few years to > 40% of the course, and the expectations seem to have become spoon feeding very specific topics, taught slowly for the students who find the standard course challenging enough, and most scary of all,  some motivation is avoiding participation marks in the standard tutorials.

This is undermining the purpose of extended, and restricting the level of the material. The aim is to challenge the brighter students, not provide an extra hour of the standard lectures and avoid the tutorials.

Unfortunately, my only approach to discouraging "free riders" is to differentiate the assessment, and make extended much more challenging. I have been doing this, but it seems I need to differentiate more to allow extended to remain challenging.

Regarding addressing plagiarism in practical assignments. I think I do as much as can reasonably be done with the resources available to me. Oral assessment of assignment is viewed favourably, but with such a large class, it is too resource intensive to be practical. Feedback is consistent with my expectation that students appreciate being rewarded for work put into practical work. However, the harmonic mean will remain despite being unpopular - consistent practical and exam performance is required, and indirectly makes it harder for cheaters to free-ride through the course.

Overall, thanks for the generally positive feedback for the course.
   - Kevin


2003-2004, phpSurvey