Back
Thanks for your responses. Feedback in red.
Survey ID 1381
Title COMP3231/9201/3891/9283 14s1
Description
Anonymous Yes
Fill Ratio 78% (108/138)
# Filled 108
# Suspended 3
# Not Filled 27
(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
Pretty similar results to past years, albeit slightly more positive.

Outliers are:
  • Help with technical questions is much higher - I'll attribute that to piazza.
  • Video capture was also rated a little higher this year - wonder why given largely same approach.
  Excellent
Satisfactory
Poor N/A N/F
Lecturer: Kevin Elphinstone 66 (61%) 34 (31%) (7%) (0%) (0%) (0%) 0 (0%)
General OS lectures 40 (37%) 56 (52%) 12 (11%) (0%) (0%) (0%) 0 (0%)
Your tutor 23 (21%) 13 (12%) 18 (17%) (5%) (2%) 47 (44%) 0 (0%)
Tutorials 24 (22%) 18 (17%) 18 (17%) (3%) (1%) 44 (41%) 0 (0%)
Asst1: Synchronisation 51 (47%) 39 (36%) 16 (15%) (2%) (0%) (0%) 0 (0%)
Asst2: Syscalls 33 (31%) 56 (52%) 16 (15%) (2%) (0%) (0%) 1 (1%)
Asst3: Virtual Memory 44 (41%) 37 (34%) 23 (21%) (2%) (2%) (0%) 0 (0%)
Textbook 18 (17%) 18 (17%) 20 (19%) (4%) (2%) 46 (43%) 0 (0%)
Computing resources 23 (21%) 41 (38%) 30 (28%) (3%) (1%) (8%) 1 (1%)
Course web page 32 (30%) 38 (35%) 36 (33%) (1%) (1%) (0%) 0 (0%)
Piazza message board 62 (57%) 35 (32%) (8%) (2%) (0%) (0%) 0 (0%)
Wiki 27 (25%) 45 (42%) 27 (25%) (5%) (2%) (2%) 0 (0%)
Help with technical questions 52 (48%) 36 (33%) 14 (13%) (1%) (0%) (3%) 2 (2%)
Lecture slides 42 (39%) 53 (49%) 11 (10%) (1%) (0%) (0%) 1 (1%)
Lecture video capture 66 (61%) 28 (26%) (7%) (3%) (0%) (3%) 0 (0%)
Operating Systems overall 56 (52%) 42 (39%) 10 (9%) (0%) (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 61 (56%) 38 (35%) (7%) 1 (1%)
Chance to get hands dirty with low-level code 60 (56%) 36 (33%) 12 (11%) 0 (0%)
Jobs propects for OS hackers 12 (11%) 41 (38%) 55 (51%) 0 (0%)
Would llike to do OS research 17 (16%) 44 (41%) 45 (42%) 2 (2%)
Course is core for me 20 (19%) 23 (21%) 64 (59%) 1 (1%)
Friends told me it was good 58 (54%) 28 (26%) 21 (19%) 1 (1%)
Chance to do challenging programming assignments 63 (58%) 30 (28%) 14 (13%) 1 (1%)
3. Any other factor that influenced your decision?

Question type : Short-answer

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

Question type : Single answer -- Radio Button
Wow, this is pretty high
Yes 105 (97%) chart
No (3%) chart
N/F 0 (0%)
5. Please provide feedback on the kind of material covered

Question type : Single answer -- Radio Button
Students still interested in seeing more of windows. This next case study I develop will have to use windows as an example.
  Too much
OK
Too little N/F
High-level OS issues (1%) 12 (11%) 89 (82%) (6%) (0%) 0 (0%)
Low-level (implementation) issues (1%) 15 (14%) 77 (71%) 15 (14%) (0%) 0 (0%)
Unix/Linux (2%) 13 (12%) 76 (70%) 14 (13%) (3%) 0 (0%)
Windows NT (0%) (6%) 48 (44%) 40 (37%) 13 (12%) 0 (0%)
OS/161 Internals (6%) 20 (19%) 70 (65%) 10 (9%) (1%) 0 (0%)
Other Systems (1%) (3%) 76 (70%) 20 (19%) (7%) 0 (0%)
6. What were the best things about this course?

Question type : Long-answer

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

Question type : Long-answer

Answer at the bottom page (86 comments)
8. 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
A slight uptick of lectures and downtick for tutorials, nothing of concern though.
  Strongly
Agree

Neutral
Strongly
Disagree
N/A N/F
Lectures 72 (67%) 28 (26%) (4%) (0%) (0%) (4%) 0 (0%)
Tutorials 37 (34%) 17 (16%) (4%) (3%) (0%) 47 (44%) 0 (0%)
9. How does the quality/value of this course compare to other....

Question type : Single answer -- Radio Button

 A general uptick this year.
Among
the best

Average
Among
the worst
N/F
Year 3 COMP courses 70 (65%) 25 (23%) 12 (11%) (0%) (0%) 1 (1%)
COMP courses in general 69 (64%) 26 (24%) 11 (10%) (1%) (0%) 1 (1%)
Courses in general 71 (66%) 26 (24%) 11 (10%) (0%) (0%) 0 (0%)
10. 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 (90 comments)
11. Consultations were underutilised during semester. Please comment on why you did not take advantage of the available consultations. (e.g. inconvenient time, did not need, not useful, etc..).

Question type : Short-answer

Answer at the bottom page (93 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 hard technical parts of the course remain just that. Consistent with past years.
 
System calls 21 (19%)
Processes (4%)
Threads (5%)
Low-level implementations issues 28 (26%)
Synchonisation and concurrency 18 (17%)
Deadlock (6%)
Memory Management and Virtual Memory 58 (54%)
File Systems 22 (20%)
I/O Management 23 (21%)
Scheduling 13 (12%)
Multiprocessor Systems 39 (36%)
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 (97 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 (67 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 (63 comments)
4. Lectures
16. Is the current mode of lecture delivery, using computer-projected slides, effective?

Question type : Single answer -- Radio Button

Yes 105 (97%) chart
No (1%) chart
N/F 2 (2%)
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 33 (31%) chart
Most of the time 67 (62%) chart
Sometimes (6%) 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 21 (19%) chart
Most of the time 63 (58%) chart
Sometimes (6%) chart
Rarely (3%) chart
Never (0%) chart
N/A 12 (11%) chart
N/F 2 (2%)
19. The lectures were captured again this year, 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
The availability of lecture videos was highly appreciated again. The quality has proven sufficient 2 years running.

It seems that a significant minority 40% skipped lectures in favour of watch video offline. This is backed up by small numbers attending lectures.

My queries attempting to find out if students struggled to find time/keep up with the material when skipping lectures seems to indicate it is not an issue.

Students also seem okay with adding extra support material for the course in the form of video.


  Strongly Agree Agree Indifferent Disagree Strongly Disagree N/A N/F
I found the lecture videos useful 56 (52%) 42 (39%) (3%) (0%) (0%) (5%) 2 (2%)
The quality of the sound was sufficient to follow the lectures 51 (47%) 42 (39%) (3%) (2%) (2%) (6%) 2 (2%)
I used the lecture video at least once. 62 (57%) 38 (35%) (0%) (0%) (3%) (3%) 2 (2%)
I mostly used the lecture videos instead of attending lectures. 16 (15%) 25 (23%) 17 (16%) 22 (20%) 19 (18%) (6%) 2 (2%)
I used the lecture videos instead of attending lectures, and struggled to keep pace with the course. (select N/A if you mostly attended lectures) (6%) (8%) (7%) 19 (18%) 11 (10%) 51 (47%) 3 (3%)
The screen captures are better than what echo360 offers. 36 (33%) 22 (20%) 24 (22%) (1%) (0%) 22 (20%) 3 (3%)
Having extra pre-recorded material available would be useful (e.g. debugging, svn, assignment tips). 42 (39%) 38 (35%) 19 (18%) (1%) (1%) (4%) 3 (3%)
Video recordings should be limited to what is covered in lectures. (4%) 16 (15%) 34 (31%) 26 (24%) 17 (16%) (6%) 4 (4%)
720P video resolution is sufficient. 44 (41%) 42 (39%) 11 (10%) (2%) (0%) (5%) 4 (4%)
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 (63 comments)
21. Any suggestions for improving lectures (including the lecture video captures)?

Question type : Long-answer

Answer at the bottom page (60 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 (31 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 to previous years, except a small downtick in the first question. 
  Strongly Agree
Neutral
Strongly Disagree N/A N/F
The tutorials helped me understand the material 24 (22%) 32 (30%) 11 (10%) (1%) (0%) 36 (33%) 4 (4%)
The questions were appropriately timed 22 (20%) 29 (27%) 13 (12%) (3%) (0%) 37 (34%) 4 (4%)
The questions were of appropriate difficulty 20 (19%) 26 (24%) 20 (19%) (2%) (0%) 36 (33%) 4 (4%)
The questions should have increased difficulty (6%) (7%) 37 (34%) 12 (11%) (5%) 36 (33%) 4 (4%)
The number of questions was appropriate 10 (9%) 29 (27%) 23 (21%) (5%) (0%) 37 (34%) 4 (4%)
The number of questions should be expanded (7%) 17 (16%) 35 (32%) (6%) (2%) 36 (33%) 4 (4%)
I always prepared for the tutorials (6%) 15 (14%) 21 (19%) 15 (14%) (5%) 42 (39%) 4 (4%)
Preparation beforehand improved my understanding of the material 13 (12%) 28 (26%) 18 (17%) (1%) (1%) 43 (40%) 4 (4%)
Class participation is important for understanding the material 14 (13%) 20 (19%) 18 (17%) (6%) (4%) 40 (37%) 5 (5%)
Occasional tutorials being out of sync with lectures (due to public holidays etc..) is not a problem 11 (10%) 28 (26%) 20 (19%) (3%) (1%) 41 (38%) 4 (4%)
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
We had a new tutor this year and an experienced one. The survey reflects this. I'll give feedback to the new tutor to improve for next time.
  Excellent
OK
Poor N/A N/F
Tutor A 29 (27%) (8%) (5%) (2%) (0%) 58 (54%) 5 (5%)
Tutor B (7%) (7%) 10 (9%) (2%) (2%) 71 (66%) 7 (6%)
25. Any suggestions for improving tutorials?



Question type : Long-answer

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

Question type : Single answer -- Radio Button
Pretty similar to previous years
  Too easy
Just right
Too difficult N/F
Asst1: Synchonisation 12 (11%) 21 (19%) 70 (65%) (2%) (0%) 3 (3%)
Asst2: System Calls (1%) (5%) 57 (53%) 38 (35%) (4%) 3 (3%)
Asst3: Virtual Memory (0%) (1%) 50 (46%) 37 (34%) 17 (16%) 3 (3%)
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
OK
Confusing N/F
Asst1: Synchonisation 42 (39%) 25 (23%) 34 (31%) (3%) (0%) 4 (4%)
Asst2: System Calls 14 (13%) 26 (24%) 34 (31%) 24 (22%) (6%) 3 (3%)
Asst3: Virtual Memory 16 (15%) 27 (25%) 29 (27%) 24 (22%) (8%) 3 (3%)
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
Somewhat
Not at all N/F
Asst1: Synchonisation 48 (44%) 34 (31%) 22 (20%) (1%) (0%) 3 (3%)
Asst2: System Calls 24 (22%) 26 (24%) 37 (34%) 15 (14%) (3%) 3 (3%)
Asst3: Virtual Memory 21 (19%) 33 (31%) 33 (31%) 16 (15%) (2%) 3 (3%)
29. How confident were you with the following low-level and general programming concepts PRIOR to the course.

Question type : Single answer -- Radio Button
My general aim with this question was to get a feel for programming experience.

It confirms my suspicions that a significant body of students have little experience with "tools of the trade" outside seemingly simple programming tasks.

Specifically, POSIX/System programming, debugging, source code version control, and source navigation which are tangential, but helpful to the course, are lacking.
  Expert (e.g. > 100hrs) Solid experience (e.g. < 100hrs) Some experience (e.g. < 10hrs) Little to no experience (e.g. < 1hr) Never heard of it before N/F
C programming 29 (27%) 60 (56%) 15 (14%) (1%) (0%) 3 (3%)
C pointers 23 (21%) 49 (45%) 30 (28%) (2%) (0%) 4 (4%)
C pointer arithmetic 18 (17%) 46 (43%) 35 (32%) (6%) (0%) 3 (3%)
Compilation toolchains (gcc, ld) (7%) 24 (22%) 48 (44%) 21 (19%) (4%) 3 (3%)
Debugging with GDB or similar (3%) 18 (17%) 36 (33%) 34 (31%) 14 (13%) 3 (3%)
POSIX programming (5%) 11 (10%) 18 (17%) 26 (24%) 45 (42%) 3 (3%)
Assembler programming (on any platform) (6%) 36 (33%) 46 (43%) 15 (14%) (1%) 3 (3%)
Source code version control 13 (12%) 24 (22%) 34 (31%) 23 (21%) 10 (9%) 4 (4%)
Source code navigation (cscope, gtags, ctags or similar) (4%) (6%) 11 (10%) 41 (38%) 43 (40%) 3 (3%)
30. How confident are you with the following low-level and general programming concepts AFTER the course?

Question type : Single answer -- Radio Button
Nice to see that OS resulted in a general perception of improved programming-related skills, in addition to OS itself.
  Expert (now part of your programming toolbox) Could use the concept elsewhere with a little effort Now roughly know what it is Still have no idea N/F
C programming 66 (61%) 35 (32%) (3%) (0%) 4 (4%)
C pointers 58 (54%) 42 (39%) (4%) (0%) 4 (4%)
C pointer arithmetic 55 (51%) 44 (41%) (5%) (0%) 4 (4%)
Compilation toolchains (gcc, ld) 21 (19%) 56 (52%) 25 (23%) (2%) 4 (4%)
Debugging with GDB or similar 16 (15%) 57 (53%) 27 (25%) (4%) 4 (4%)
POSIX programming 12 (11%) 34 (31%) 34 (31%) 24 (22%) 4 (4%)
Assembler programming (on any platform) 23 (21%) 54 (50%) 25 (23%) (2%) 4 (4%)
Source code version control 30 (28%) 53 (49%) 18 (17%) (3%) 4 (4%)
Source code navigation (cscope, gtags, ctags or similar) 20 (19%) 43 (40%) 24 (22%) 15 (14%) 6 (6%)
31. Which source code version control system were you most familiar with BEFORE taking the course.

Question type : Single answer -- Radio Button
Hmm, git is pretty popular. I'm wary of git do to its "power" (i.e. ten different way to do the same thing). SVN in the past has been robust and relatively simple. I will consider just switching to git if there is a general familiarity with it. However, not confident it is the right choice for the 20% who are first timers.
git 78 (72%) chart
hg (mercurial) (0%) chart
svn (subversion) (6%) chart
other (1%) chart
I had not used version control before 20 (19%) chart
N/F 3 (3%)
32. The aim of the assignment work was for you to develop practical skills with the concepts covered in lectures.

Question type : Single answer -- Radio Button

  Not really
Somewhat
Very much N/F
Did the assignment work help with this? (3%) (3%) 15 (14%) 28 (26%) 56 (52%) 3 (3%)
33. Any suggestions for improving the assignments?

Question type : Long-answer

Answer at the bottom page (60 comments)
7. COMP3891/9283 Extended Operating Systems
Skip this section if you did not do COMP3891/9283 Extended Operating Systems.
Extended OS aims to be an informal lecture on selected advanced topics from real systems, research areas, or state of the art. It also aims to cover OS/161 in more depth to prime students for the advanced assignments.
34. Please answer the following.

Question type : Single answer -- Radio Button

  Strongly Agree Agree Indifferent Disagree Strongly Disagree N/F
EOS should be assessed differently to OS. (3%) 25 (23%) 17 (16%) (3%) (0%) 60 (56%)
Compared to OS, completing EOS should indicate a greater OS understanding and level of achievement. 15 (14%) 29 (27%) (4%) (0%) (0%) 60 (56%)
Having separate exams is a good way to differentiate EOS from OS. 13 (12%) 29 (27%) (4%) (2%) (0%) 60 (56%)
Requiring completion of a subset of the advanced assignments is a reasonable way to achieve a higher "bar" for EOS. 13 (12%) 29 (27%) (4%) (2%) (0%) 60 (56%)
Only automarking the advanced assignments is OK. (3%) 12 (11%) 14 (13%) 17 (16%) (2%) 60 (56%)
EOS should have tutorials in addition to the extra lecture. (5%) 16 (15%) 18 (17%) (6%) (3%) 60 (56%)
EOS should be more formal and structured like OS. (3%) (8%) 23 (21%) (8%) (4%) 60 (56%)
The advanced assignment components were too large. (3%) 17 (16%) 16 (15%) (7%) (4%) 60 (56%)
The advanced assignments should be worth a higher fraction of the EOS mark. (7%) 14 (13%) 20 (19%) (4%) (2%) 60 (56%)
35. How would you rate extended OS as a whole?

Question type : Single answer -- Radio Button
Slight improvement this year.

Excellent 19 (18%) chart

25 (23%) chart
Average (4%) chart

(1%) chart
Poor (0%) chart
N/A (3%) chart
N/F 56 (52%)
36. Any suggestions for improving COMP3891/9283 Extended OS?

Question type : Long-answer

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

Question type : Single answer -- Radio Button

  Strongly Agree Agree Neutral Disagree Strongly Disagree N/F
The exam overall was too hard (4%) (6%) 47 (44%) 45 (42%) (3%) 3 (3%)
The exam overall was too short - i.e. it should be 3 hours (6%) 12 (11%) 29 (27%) 40 (37%) 18 (17%) 3 (3%)
The exam should contain more True/False questions (2%) (7%) 35 (32%) 40 (37%) 18 (17%) 5 (5%)
The exam gave me the oppurtunity to demonstrate my understanding of operating systems 21 (19%) 55 (51%) 19 (18%) 10 (9%) (0%) 3 (3%)
I think my exam result will be representative of my operating systems knowledge 13 (12%) 48 (44%) 30 (28%) 12 (11%) (2%) 3 (3%)
The final assessment should be weighted more towards the exam (3%) 13 (12%) 39 (36%) 33 (31%) 17 (16%) 3 (3%)
38. Do you have any particular comments you would like to make about the exam?

Question type : Long-answer

Answer at the bottom page (56 comments)
9. Miscellaneous
39. This year we trialled Piazza as an additional medium for student support. Please choose one of the following.

Question type : Single answer -- Radio Button

Keep using Piazza. 91 (84%) chart
Get rid of it. (2%) chart
I do not have an opinion of it. 12 (11%) chart
N/F 3 (3%)
40. Any comments on the use of Piazza?

Question type : Short-answer

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

Question type : Single answer -- Radio Button

Too soft (3%) chart

(5%) chart
Just right 89 (82%) chart

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

Question type : Single answer -- Radio Button

HD 19 (18%) chart
DN 36 (33%) chart
CR 29 (27%) chart
PS (6%) chart
FL (0%) chart
No Idea 14 (13%) chart
N/F 3 (3%)




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

1: no

2: General interest and course content

3: NA

4: I can't graduate if I don't pass this course.

5: Mostly friends who recommended me this course

6: I believe that understanding OS is extremely important in a computing degree

7: The knowledge the course provides seems like good core knowledge to have for anyone working with computers

8: N/A

9: It's good to know about all fields of Computing; even the ones that I'm bad at

10: I happened to be on industrial placement for co-op which ironically gives me the greatest amount of time to focus on a single subject.

11: prereq to advanced courses (AOS, distributed, etc)

12: Get some concurrency knowledge

13: chicken is tasty white meat! Try crocodile!

14: No

15: No

16: No

17: Was told it was an extremely useful course

18: reputed by word of mouth as a 'must do' course for comp sci

19: no

20: Not only students say it's a good course, but also lecturers of other subjects.

21: N/A

22: No

23: For the further possible requirement of my job

24: I think understanding OSes is a big step to understanding computers in general

25: I heard UNSW had a great OS course.

26: no

27: I thought programming would be fun (Electrical Engineering Major)

28: Just sounded really interesting to be able to learn about the systems that enable humans to actually use computers.

29: Didn't have any knowledge of OS.

30: challenging course assignment

31: Wanted to get a taste of AOS

32: Nope

33: Understanding how a computer really works

34: No, mostly covered in Q2

35: It

36: Interest in the field

37: I just wanted to know how operating systems worked :D

38: interesting

39: More or less gneral interest. Also highly recommended amongst peers in same program. (EE elective)

40: AOS

41: A chance to broaden my knowledge base.

42: Someone I know believes that it's essential for a CS degree.

43: My cs2041 tutor said it was good

44: It's often touted by other students as a should-be core course.

45: Seems like a fundamental knowledge area for CS

46: No

47: OS should be core knowledge for any CS major

48: No
6. What were the best things about this course?

1: The moment asst 3 worked. It was really hard, but also really rewarding when we got it out. I really enjoyed the tuts (looking at the problems on a practical level) ; I felt they balanced the mostly theoretical lectures out nicely

2: Overall the programming tasks were interesting.

3: Challenging assignments Interesting content Excellent tutor

4: Comprehensive material

5: Content was interesting, important and relevant. Material covering the content was good. Assignment helped a lot with learning the content.

6: Lectures and assignments

7: machine level algorithms

8: Learning about the building blocks on which the OS's I use everyday are built on. Understanding these systems i just blindly use is really worth doing.

9: -Topic was extremely interesting and important to know about. -Good lecturer that obviously cared about the course -Assignments were challenging at times

10: Assignments were great.

11: Lecture videos, assignments, lecturer

12: Learning about how operating systems work, the problems encountered by OS programmers that I would never have thought of. Just interesting in general and it's good to see the history, how the OS has involved and where it relates to real world examples in current/previous OSs.

13: It isn't as messy as other level 3 comp courses

14: Very well balanced course, hands on learning experience. Assignments were very good for learning the material, there was little difficulty in understanding course material once an assignment was done.

15: Video lectures, great slides, great layout of assignment specifications.

16: The course was very engaging because it explained how the OS I took for granted worked. Concepts such concurrency and different algorithms were very interesting to look at.

17: The assignments are very interesting and challenging. They also encourage students to extensively use version control and debugging software.

18: Challenging and useful assignments.

19: Assignment work

20: Assignments Range of Content Organisation

21: Really interesting content. Learned a lot. Can see how things learned can apply to not only OS but a lot of other issues surrounding computing in general

22: The assignments were challenging, debugging was painful but very satisfying when successful. Keep the lenient late policy, we would have given up rather than pushing for a complete solution if it weren't for it. Thanks for confirmation it is having the desired effect.

23: Hands on O/S internals experience, good opportunity to learn processes/threads/user level program running and kernel operations.

24: deep approach on particular OS like os/161

25: Lecture Slides

26: The content was well structured and prepared. I got the feeling that the lecturer was guiding us down a path because his slides seemed to intuitively answer questions raised in lectures

27: Hands-on, fun assignments, interesting lectures, help available whenever

28: Great slides, really interesting content, video lectures are the best.

29: The content was interesting; the lectures were generally engaging. Having the lectures recorded has been absolutely excellent and has helped a lot with studying and with any missed lectures due to illness. The assignments have been really fun.

30: It was definitely interesting, and by far the most useful course I've ever done.

31: The 'aha' moment when finishing the hard assignments.

32: The Extended Lectures were very interesting, especially addressing more complex issues and getting a look into the actual literature.

33: > chance to get low and dirty with OS > great conceptual understanding of something sophisticated i use everyday > good lecture slides supplemented by good lecturing and videos > piazza was friendly and lecturer was approachable there

34: The assignments were the most challenging and therefore most rewarding aspect of this course. Great experience working with an OS.

35: Assignments - working on a large codebase which was written by someone else.

36: Kevin's delivery.

37: Incredibly interesting content Assignments very good for learning

38: Interesting to get into the nitty gritty of operating systems and having an understanding of what needs to be done.

39: Interesting, generally engaging lectures. Recordings were very helpful for studying.

40: Best was teaching of concurrency issues, (as I think this is very important to many different computing fields).

41: Interesting content, challenging assignments, engaging lectures

42: Besides acquiring very clear concepts and structure about operating system, I get some chance to peek how OS/161 works.

43: Well structured, good energy, lots of ressources.

44: Getting to learn something that I believe will be very useful and relevant in the future

45: Videos are helpful

46: Content

47: Threads and Synchronisation also Virtual memory made me understand how computers work

48: Very challenging Demanded hard work

49: Assignments

50: Breadth of material covered and the assignments were hard and challenging but worthwhile.

51: The exposure to the OS mechanism.

52: Good lecture, well organized and excellent support

53: The assignments - awesome.

54: Fantastic to understand the operating system in our laptop we use everyday, so much in depth.

55: Very interesting, lots of useful content covered and the support online was really helpful.

56: material, general knowledge of OS

57: Heaps of materials: lecture recordings, wiki, piazza, answers to tutorials and probably more that I missed.

58: Lectures recording was a huge help, most handy resource for the course

59: Deal with all the assignment

60: Really interesting topics Wide variety in knowledge about OSes

61: Assignment depth: concurrency, vfs, file management. Online lecture allowed for me to revise content. Piazza was very useful! As some of the problems I experienced in my understanding or assignments were shared and asked by others

62: Challenging assignments

63: Information resources (recordings, slides, piazza), great email coverage so nothing got missed. Solid support network available.

64: Piazza Lecture recordings

65: Challenging, interesting

66: challenging

67: Very enjoyable and relevant final exam. Recorded lectures for picking up small details left out in slides Very clear goals with regard to understanding of operating systems Challenging content

68: Well structured and fun

69: the assignments

70: challenging assignments

71: Kevin's a great lecturer, lecture videos very helpful, challenging assignments that make you feel like you really learned something

72: Kevin is an awesome lecturer and the course is run very well.

73: Online lecture videos

74: The assignments: I learned a lot from them (sometimes things not covered in lectures - like how to design waitpid) and they covered many of the major topic areas The help offered on Piazza was also very good and helped with my understanding even though I personally didn't ask anything

75: course is split between basic and extended

76: Real system implementation for understanding the details of OS related the course.

77: Well structured, clear assignments

78: The assignments gave me in-depth knowledge of operating systems.

79: Know the basic implementation of OS

80: Synchronisation assignment, knowledgeable instructor

81: new area

82: It was interesting and challenging. The piazza forums worked well.

83: A great insight to the operating system which until this course, was a general mystery symbolised by the Windows Logo and the blue screen of death.

84: Teaching me about the internals of an OS, helped me to better understand computing in general. Learning about concurrency (issues/solutions etc.) was very useful as well.

85: The tutorials and assignment lectures were good

86: Assignments were fun, good amount of detail into most topics

87: Challenging assignments that were also helpful for learning. An organised lecturer who knew how to teach well.

88: The discovery aspect was good - i.e., we have all the pieces, but we need to find out how to put them together.

89: It was fun implementing parts of an OS

90: Fun, hands on assignments Good ratio of theory vs prac Interesting and useful course content

91: The tutorials and the relevancy of all these topics. We deal with Operating Systems every single day. Now I know how they work. I was able to explain to non-Comp Sci majors what i was learning and they understood.

92: Excellent lecturer Kevin :) Really interesting content

93: Lecture recordings, assignments, content, everything, etc.

94: Challenging assignments, interesting lectures

95: Assignments and theory behind how OS works.

96: The chance to get hands on with implementing an operating system.

97: Course material is well-organised and planned. Kevin is a very good lecturer with a very clear and natural presentation style. Personally really appreciate the lecture recordings (and the quality of them) because it allowed me to review material when I couldn't keep up in lectures (I have difficulty paying attention sometimes) or to catch up when I couldn't make it to a lecture for whatever reason. Lecture recordings being made available soon after the lecture took place really helped to ensure that I did not fall behind in the course. My tutor was also very knowledgeable and very helpful and encouraging.

98: useful and help me to know how the OS is working
7. What were the worst things about this course?

1: The lectures were very fast paced and it was hard to keep up since I like writing notes. The recordings helped though because I could pause periodically Subversion was slightly annoying to use partly because I wasn't used to it and partly because it didn't seem to work as well as other version control systems in terms of merging and branches. The course is not wed to SVN, and it appears we are approaching the point of the general cohort being familiar with git. We'll seriously consider switching to git next year.

2: File systems are boring and the assignments (especially assignment 3) were very difficult

3: no

4: The last assignment with many problem time consuming and path fix

5: I wish we had smaller milestone 'labs' to do so that we could be more comfortable with manipulating low level code instead of being thrown off the deep end

6: It was hard to get started on assignment 2. An additional lecture discussing the assignment like for assignment 3 would be very helpful.

7: Challenging assignments

8: Would prefer something like Labs to get a better understanding of OS161

9: Getting it wrong early leads to a lot pain.

10: Unforgiving assignment marking

11: Slow feedback on assessments, EOS had too little scope with regard to assessment marks and tasks. Some EOS content hard to relate to the core course (Rollback/Rollforward)

12: Harmonic mean Time to do assignment 1 is too big, leaves little time for assignment 2

13: The amount of content covered made for a not great studying experience...but it's not really a problem since less content would've made it less interesting :P

14: not providing enough info on other OS on how different OS work differently

15: I wanted to get into more depth with scheduling (eg: have an assignment for it). Too large of a focus on what didn't work or what was old/history.

16: The teamwork - for assignments two and three it became difficult to coordinate for the amount of time that was necessary to spend together, so despite being a pair assignment it ended up being a lot more one sided work wise. People with partners who are unreachable or do not participate are also disadvantaged. Whilst I was happy with my second partner (especially after my useless first one), I nonetheless believe I could've finished earlier and understood the assignment better if I had done it alone with the assistance to understanding offered by Piazza.

17: Bugs were often hard to debug

18: Lectures too long

19: Assignments felt a bit too 'hacky' (getting things you're aware of to work) rather than really figuring out/bringing things together to work.

20: Having the lectures in biomed was bad; having to run from CLB to biomed for EOS was quite annoying and meant we lost a bit of time. The assignments felt a bit rushed even when we started early and worked on them regularly - I think because initially we didn't know enough to be able to know what we needed to do, and trying to work it out felt like scrambling around blindly; by the time we were finished everything made sense though.

21: Sometimes concepts were not as well motivated as I would have liked it to be. A lot of concepts were but when it came to OS161 implementation details there were a lot of things that I was unsure about, and why it was implemented in a certain way, rather I just took a few things for granted (especially in the assignments)

22: I think extended students should either have their own tutorials or be made to attend regular tutorials as well.

23: The assignments weren't worst for their difficulty but

24: -There were a few issues but I don't think they were bad enough to warrant me filling this in. (see my other responses)

25: Sometimes lectures were too complex and did not explain topics too well, and therefore required a lot of reading outside of uni.

26: Biomed! Agreed :-)

27: We need more time for assignment 3.

28: Easy to fall behind if you missed a key concept

29: Harmonic means are scary

30: Took up the bulk of my time.

31: Biomedical Theatres. I know lecturers do not choose the lecture hall, but I still had to complain about this somewhere..

32: Assignment spec was a bit cryptic sometimes. Timing of Assignment 2 was poor

33: Lectures weren't that great but I'm not sure why. Unfortunately I fell asleep in most of them. Not sure what can be done to improve. Timing wise, the sample exam was not true to the actual exam. Sample exam had only 16 T/F questions and only 74 marks total while the actual final exam had 25 T/F questions and 98 (+2) marks total. However, there was still enough time to finish the exam. It is just that the sample was a little too short so the final could catch people off guard if they were timing themselves at home and doing the sample question. There was 100-ish exam-like questions on the wiki in addition to the one exam.

34: The content was sometimes very difficult to understand, though I'm not sure that there's much that could be done about that given the amount of content there was.

35: I am not satisfied with the ass marks.

36: Lots of time needed for assignments

37: Not really much.

38: Going through assembly language is not that fun.

39: The difficulty of the last assignment.

40: Lectures were sometimes slow in pace

41: none

42: Would have preferred to have just a small amount more of a look at modern operating systems actually do things - I wouldn't want an assignment on buddy or slab allocators, but I'd have liked to know what they are, esp in extended. I thought that the assignments were perhaps not explained fully from the get go. I personally wasted a lot of time in the later assignments creating structures that didn't quite work because I'd misunderstood what went where. I ended up resolving this issue by reading a lot of the OS161 guides and labs on the internet, as well as perusing a number of complete copies of OS161 that aren't very hard to find on Github. I actually wish i had known about these resources earlier than I did.

43: Occasionally slower lectures Lecture locations.

44: Freeloading of assignment partner.

45: The stress of the assignments..

46: content is very heavy sometimes

47: Assignments

48: Lectures notes could have more detail

49: None

50: The amount of detail in this course was staggering, given I was undertaking a full semester loading I probably would have struggled immensely to keep up.

51: Wish we could attend a different tutorial if we had to miss one and still get credit.

52: Mobile OS missing

53: Not sure if this is relevant, but would've been good to see more low level stuff (hacky assembly things you don't get to see anywhere else, processor specific examples). For example things that OS's did or functionality that CPU's provided that was gradually phased out because it was unnecessary. But that's probably just me.

54: the tutorials

55: Hardness.

56: The assignments were extremely difficult to start. Once the very basic things were done they became reasonable assignments, but the hurdle to get started was extremely difficult to get past.

57: up to date ???

58: None.

59: teamwork is not good for this kind of assignments(talking about the base OS course)

60: Starting the assignments. I had no idea where to begin sometimes and it stressed me out.

61: hard

62: deadly assignments.. especially ass3. spent more than 5 days to finish it

63: Tutorials. I had one great tutor who came in 2 or 3 weeks, and the other weeks the tutor was not so good. She was very quiet, got the impression she didn't know how to phrase things more than 1 way so couldn't see what you were getting at trying to explain things, tutes were boring and not very interesting.

64: Some of the assignments I did feel a lot out of my comfort zone, e.g. I found the forking component of the assignment very difficult to figure out.

65: Nothing much to complain but maybe change the way class participation marks are given.

66: The challenging assignments that make you feel like you really learned something. Took up so much time! Also didn't like how my tutorials were run, everyone (including myself) wants the class participation marks. Makes it seem artificial and didn't have natural flow. Just people shooting their hands up to answer questions.

67: Felt that some assignments could have used more explanation/direction (perhaps intentional?)

68: Setting up everything. Also, sometimes the assignments got a bit too confusing.

69: My partner. Group assignments can be bad if teamed up with a bad partner... hard to avoid.

70: Somewhat unguided extended components of the assignments, especially asst02. Very little documentation/guidance was provided. It felt like we had to already be extremely knowledgeable about operating systems, and possibly OS/161 in order to achieve the harder tasks of the extended components.

71: The dirty bit needs a far better explanation.

72: Lost some mark in assignment due to code style. When I work at day with php and java, sometimes it is easy to miss switching.

73: not easy to understand

74: I thought the third assignment was a huge step up in terms of difficulty.

75: I did not like the assignments, mostly for personal interests reasons though.

76: There do tend be some very big gaps in learning about the theory of Operating Systems and how they are actually implemented. The pseudo code really helps but since we don't have labs there tends to feel like we're also learning how the program the OS to do the assignments.

77: The file systems topic was rather tedious

78: None

79: I thought the file system topic was a bit dry. Not the implementation (i-nodes, open file tables) but instead the file names, directory, working directory part. I/O was a bit difficult to understand.

80: 1. Trying to figure out how to do fork() in assignment 2. I read over the OS161 code, but was so confused and had no idea. I felt really lost, and no one could really tell me without giving it away entirely, and I wanted to figure it out alone. So I didn't like that feeling of hopelessness that came with not being able to figure it out. 2. I was partnered with someone really disorganised, and so the assignments went badly for me, which I felt I didn't deserve, as with someone better organised I could have gone better. But that isn't the fault of the course.

81: Usage of SVN.

82: Nothing in particular

83: My partner

84: OS161 teaching not very guided, found the OS161 specific tutorial exercises basically impossible on my own

85: A lot of content to absorb, and it's easy to forget content that isn't reinforced through assignments

86: NA
10. 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: Personnaly, a little bit more C knowledge would have helped, but the official pre-requisites are adequate.

2: The official pre-requisites is sufficient enough to understand the course, perhaps an induction/C revision lecture online would be useful as there was a 1 year interval for a lot of students since the last time they had to use C.

3: NA

4: Nothing really, VM is just hard..

5: COMP2121 is relevant.

6: Not missing anything, prereqs are suitable.

7: none. Since I'm a com.eng student and know about low level machine, such as MIPS machine already. Other students such as comp.sci students maybe get confused with some low level language

8: Having done Comp1927 and COMP2121, I haven't been in the situation where the course expects some background knowledge that I didn't have. So the pre-requisites are suitable, I'd say.

9: n/a

10: C pointers and syntax. Yes, but I transferred from a different university and did not learn C.

11: A bit of history about OSes

12: Pre-requisites are suitable

13: COMP1927 and COMP2121 are sufficient.

14: The pre-requisites were good, but pre-existing knowledge of source code management would have been an excellent recommended pre-requisite

15: The official prerequisites are good preparation.

16: I think my background knowledge was adequate. I think the prerequisite of comp2121 should be removed since the only thing that I found to be crucial was knowing what an interrupt is which could easily be explained in less than 10 minutes. However I do feel as though the course (assignments specifically) require some level of programming maturity so maybe removing the comp2121 prereq and having a warning that this is a third year course would be good?

17: Having not taken any 2nd year comp courses I did find a few gaps in background knowledge. Really the pre-requisites were fine, I took first year computing courses and also ELEC2142 which deals with assembly and other useful information. Other information I would have liked to know to the course was some general know-how in linux. I was never really taught much except how to run gdb and gcc and so if I needed to set up paths and shell scripts or install things it was a bit foreign. I also never learnt any sort of subversion. The other thing that would have been a little helpful was learning more about the MIPS/RISC3000 architecture/assembly. Having only learnt ARM some of the instructions particularly the branch delay slot required a bit of thought. It wasn't a real problem though, as I understood all the assembly basics. I also had to learn how to typecast properly as I hadn't really had any experience with that...

18: Official pre-reqs seem fine. I did cs2121 a very long time ago and was still able to recall/follow the MIPS-related content that was covered. And C-programming is a given; if one isn't comfortable with it by 2nd/3rd year in CSE they should do something about that in their own time.

19: C. I've enrolled in the summer course of COMP1927 which removed some contents and makes it a little bit hard. But generally the prerequisites are suitable.

20: Little to none. Yes.

21: The pre-req is sufficient in my own experience.

22: None, the prerequisites were fine

23: Didn't feel like I required any additional information.

24: Official prerequisites are sufficient.

25: Suitable preparation, although having done Computer Architecture would have helped for later topics I've heard.

26: A bit more experience with GDB would have come in handy.

27: No, i'm pretty fine

28: Coming from an elec background having done ELEC2141 and ELEC2142, I felt I was well prepared for this course. Not sure how this relates to microprocessors as I have not done that course.

29: Pre-req was fair

30: C code traversing.

31: Prereqs were suitable. I feel like it would have been helpful if I'd read more into different OSs, and used Linux and had to deal with it before. When Kevin mentioned OS specifics and things with say, Linux and Ultrix and Itanium, some students would be nodding along, and I would be somewhat lost - I had no idea about OSs beyond the mainstream ones

32: Official Pre-reqs good

33: I did COMP2121 as a co-requisite and did not feel that I missed anything. COMP1927 is the only course I think which should absolutely be a prerequisite.

34: I think COMP2121 is a suitable preparation

35: Several times in the extended lectures discussions were held which I had no idea about regarding implementation differences and techniques. In those cases a greater exposure particularly to the unix os may have made it easier to follow the discussion.

36: no

37: I took the prerequisite at the same time, I found OS helped to understand the prerequisite content more than the opposite case

38: Concurrency would have been nice but not necessary

39: 2121 helped a bit I guess. Really you just need a decent understanding of actual hardware and generally how it all works, so you can build OS concepts on top of it.

40: computer hardware /architecture

41: no experience in implementation or coding on huge project(big scope)

42: Pre-requisites were enough

43: knowledge of C was necessary - knowledge of microprocessors wasn't

44: None. I have taken assembly language so it was okay.

45: hardware related issue. yeah, suitable

46: Prereqs are suitable.

47: I didn't do the prerequisites, but I think ELEC2117 is very similar to COMP2121 though so should probably be made a valid alternative

48: The prerequisites are suitable, assuming you learned everything properly.

49: The pre-requisites are fair

50: The prerequisites were sufficient.

51: In the syscalls assignment it would have been easier to have had practice in using the various syscalls (read, fork, etc.) before having to implement them. I feel like COMP2121 wasn't really a necessary prerequisite (I was taking it at the same time and this course helped me in that one more than the other way round) but this might not be true for everyone

52: comp2121 came in very useful

53: Official pre reqs are perfect

54: enough

55: The pre-requisites are suitable, but I think should set some mark requirement(e.g. mark of COMP9021 > 75).

56: Official pre-reqs are fine, I think. I didn't take 2121 (doing it as a co-req), and OS is helping me more with 2121 than the other way around.

57: Pre-requisites are fine

58: official pre-req is a suitable perparation to this course

59: I think I was alright with what I had. Maybe COMP2041 would have helped for Linux skills

60: I had the prereq waived and didn't run into any problems from not formally taking COMP2121.

61: Nothing

62: Bit coding

63: The official pre-requisites are suitable. Being familiar with GDB would definitely help, but I learned it during the course so I didn't experience any major issues.

64: I think COMP2121 is a pre-req which isn't required and largely a strong grasp of C is required.

65: I think it's fair.

66: Prerequisites were sensible

67: The prerequisites are very much appropriate. I wish I'd learnt my COMP2121 content a little better than what I did.

68: I think computer architecture should also be the pre-requisite of this course.

69: pre-requisites are fine

70: I think it was fine.

71: A greater understanding of non-solutions to concurrency problems.

72: Pre-requisites are suitable.

73: I'm a Physics /Comp Eng, so i have had the bare bones of computing courses leading up to this, and I certainly don't think I was prepared. It is likely because apart from comp 2, I haven't done any other coding, because DCS and Comparc are both hardware design subjects. Perhaps having another of the second yeah comp subject as a prereq wouldn't be a horrible idea, because I got a little swamped by the return to C land.

74: None

75: Pre-requisites were suitable

76: It was targeted at a good level. Not sure COMP2121 is entirely needed (as a student who has done it before).

77: Official pre-requisites are fine in my opinion, there was nothing that glaringly obvious that I could suggest.

78: It is sufficient

79: I did this course without the COMP2121 prereq: wasn't a problem. For future students, do continue to give waivers. Also, COMP9447 is probably an equivalent to this prereq. Background knowledge: some more familiarity with GDB would have been helpful. Official prereqs: sufficient for most cases.

80: pre-reqs were fine

81: I found the pre-requisites were sufficient.

82: As an elec eng student (so I've done our equivalent of the prerequisites) I felt that the things I had problems with generally weren't the things emphasised in the lectures/tuts. I felt we have a bit of an understanding of the theory covered earlier in the course, but I had to work hard than most comp students on the assignments since my C coding skills were a little forgotten. A lot of the jargon used to explain examples was new to me

83: Microprocessor

84: I definitely think the official pre-requisites were suitable preparation. As for missing background knowledge - I don't know, I mean if I knew all about OSes already that would be helpful, but that's not the point of doing OS.

85: I felt as though very little background knowledge was required. The pre-requisites I had done were more than enough

86: more extensive gdb knowledge

87: all good

88: Pre-requisites were fine.

89: A lot. I'm an electrical engineering student doing this as an elective. I've only done COMP1917, COMP1927 and ELEC2142 (assembly language course). Setting up the environment was very challenging, and probably the biggest issue in terms of missing pre-reqs. All the cse students already have a favourite editor, and know how to use it with c-tags and so on. I had no clue. Had I not picked a partner who was a cse student, I would have really struggled. Many non-cse students have never used make (although the step by step instructions meant this wasn't an issue), and we've barely used gdb. I use Linux as my only OS at home, so I find using the terminal trivial. Think this isn't the case for many other non-cse students. (I once wore my xkcd "sudo make me a sandwich" shirt to Uni, and none of my electrical engineering friends got the joke). Halfway through the semester my friend told me that he finally figured out how to paste text into the terminal (because ctrl-c ctrl-v doesn't work). Other students don't know how to use grep, look up manpages, or do lots of other stuff which seems trivial to you and I. All the anecdotes about VAX machines, and mentions of the TCP/IC stack were completely lost on me and my electrical engineering friends. My other non-cse friends don't have a clue about Linux file permissions, or even the VFS (how everything is a subdirectory of /, and other drives are stored in /media, and home folders are in /home/username). I've started writing a "Guide to OS for non-cse students" document. I'll finish it once exams are over and send it to you. I think it will address these concerns.

90: I found that I was a bit inexperienced with C programming and often found that I knew "conceptually" what I wanted to do for the assignments, but "ran out of C" when I tried to implement it. My suggestion to future students would be to ensure they have plenty of experience with C, Perhaps more than just the first year COMP subjects (1917 and 1927, and the Embedded/Assembly programming course).

XXX Programming background
11. Consultations were underutilised during semester. Please comment on why you did not take advantage of the available consultations. (e.g. inconvenient time, did not need, not useful, etc..).

1: Piazza is enough for consultations

2: Did not need

3: Didn't need them, so I didn't seek them out.

4: I felt that simply rewatching the lectures was ample.

5: Replaced by Piazza, which I think is a better system than one-on-one consults

6: Easier to ask the tutor in tutorials

7: I did not feel the need. Piazza worked just as well

8: I don't use consultations as I usually have many people to approach, facebook groups to query, or piazza message boards to probe before having to resort to the lecturer. (I don't want to bother you or lecturers in general)

9: Inconvenient Time

10: did not feel I needed consultations

11: Piazza is more than good enough.

12: Piazza!

13: Did not need, Would not have had enough time to ask lecturer when I have a question.

14: But I did!

15: Too busy

16: Time inconvenience.

17: Most of the time my problem could be resolved simply by asking questions on Piazza or doing additional self-study. And asking questions online gets a faster response.

18: Usually problems with course content could be solved by simply more research or study

19: did not need, tutorial and pizza are enough

20: I thought the available resources were sufficient

21: get to know deeply about OS

22: No idea they were on.

23: Piazza platform almost answers every question.

24: too many assignments from other courses

25: bad time

26: Did not need. Forums, Facebook group and friends proved sufficient

27: Normally could work out problems myself by talking and discussing with lab partner

28: The forum was more convenient

29: Never used consultations before, but I would probably only use it to clear up questions for assignments or if there was a topic I couldn't understand before an exam. These problems were alleviated by the class forum.

30: Often our tutorial finished early, so my assignment partner and I spoke to our tutor on a few occasions in that time instead. Emailing her and writing on Piaza was a faster way to get our questions answered too (I feel I used Piaza a lot!)

31: Mainly that it had to be scheduled every time, i.e. one couldn

32: Didn't really need them, Piazza answered the rare questions I needed to ask.

33: Did not need

34: did not need

35: Timing.

36: Aren't consultations always underutilised? Piazza solved any questions I had, in any case.

37: piazza dealt with problems

38: inconvenient time

39: inconvenience and lots of resources available like Piazza to make up for it.

40: Piazza was adequate enough for me.

41: Did not need them. Piazza was great and so was the course web page. I could also catch Kevin right after class. Tutor A in the tutorials was a LEGEND.

42: did not need them

43: I was busy with other courses and did not spend enough time pondering about OS lectures till the exam period (Which was a bit late to start attending consultations)

44: I ddi not need them

45: Did not need, and was inconvenient. When there were topics I did not understand, I preferred to look online/use piazza, for solutions

46: The lectures and tutorials as well as piazza were sufficient

47: I thought that my questions were trivially silly, or that you could only answer them by telling me how to do the whole assignment. Also, when were the consultations? Also, Piazza answered most of my questions.

48: Intimidating

49: inconvenient time

50: did not need

51: did not know about it

52: Didn't need them - piazza was enough

53: Did not need it

54: Did not need.

55: consultation is not an approach for me to study, however it will save a lot of time for exploring the unknown problem.

56: did not need

57: I did use them

58: I was at work when I wasn't at uni

59: Too many assignments from other courses

60: I think piazza seemed sufficient when coupled with non exhaustive requiring solutions to assignments

61: Piazza answered most of my questions

62: we have piazza already and it good

63: did not need, forum was very helpful

64: I have never used a consultation before. I usually just ask my peers if I need help.

65: Was not very aware of them. And the forum helped very much so was not a major requirement.

66: Piazza was more useful, as I could get consultancy from anywhere.

67: I was able to figure out most questions myself and Piazza / wiki was extremely helpful (plus lecturer answers were frequent)

68: piazza more convenient

69: inconvenient time, would come to the consultation if this semester doesn't have so many assgs

70: No help needed -> PIAZZA

71: Because the consultation times were usually at inconvenient times for me

72: Did not feel the need, given the huge amount of online resources.

73: Long commute to uni

74: Did not feel I needed.

75: My heavy course load meant i was leaving things to the last minute more than i would like, and by the time i had questions i needed to ask it was a bit late.

76: Did not need.

77: Busy working on placement, mostly didn't need it anyway *hopefully*

78: Used the itnernet instead

79: Due to some of my other courses (namely COMP4128) I did not have a lot of spare time, and as a result almost all of my time at uni this semester was spent on that.

80: Did not need them

81: Piazza seemed like a much more accesible system. I also think it is more convenient for both student and lecturer.

82: inconvenient time

83: Inconvinient time

84: Piazza was more than enough, and very useful.

85: No need

86: Did not need.

87: Do not usually take advantage of consultations.

88: I've never used consultations before.

89: Did not need. I understood it was a hassle for Kevin to come to K17, and he was very active on the Piazza forums with answering questions which was really useful. There wasn't really a point where I or my group needed to have someone review our code since we pretty much did that ourselves through pair-programming and working together on understanding the material. Any non-urgent questions I had I raised with my tutor at a tutorial.

90: I didn't feel I needed it, and also couldn't attend due to work.

91: Too busy, not a fault on the part of the course (and I also got a lot of useful information off Piazza)

92: the time was inconvenient; I didn't need them at first. consults during the study break / exam period would have been good (or mentioning them more publicly if there were consults I didn't know about!)
Take away was that Piazza seemed to cover the consultations (though, I'd argue that it can't replace a whiteboard) 93: Piazza and pretty much covers the function of consultations. Also I usually just Google stuff.
13. Which material do you think you will be most useful to you in the future?

1: I think the synchronisation and concurrency will be most useful, especially if I decide to do the concurrency course

2: Synchronisations and concurrency (for robotics), possibly virtual memory.

3: Concurrency, Deadlock, System calls

4: Knowledge of syscalls & processes, concurrency issues, low-level computing

5: Concurrency

6: Most of the material in general is useful but I particularly found low level implementation the most useful since I did not have much experience with it.

7: concurrency

8: concurrency

9: vm

10: Understanding of processes and threads and their role in the operating system

11: Processes and Threads

12: Thread/processor/deadlock knowledge.

13: I don't know, they'll all be useful if I work in the field, won't they?

14: Most of it

15: Scheduling, I/O, Multiprocessor

16: synchronisation

17: All of it seems pretty useful, whether I choose to do OS in the future or not.

18: Deadlock, writing concurrent user level code

19: Synchronisation and concurrency

20: All of it, I suppose synchro though.

21: System calls, Memory management & Scheduling

22: Thread and process

23: Probably stuff to do with disk buffers/caching etc. As well as the core content like system calls and process/threading.

24: Virtual memory

25: ..basically all of it

26: memory management

27: Concurrency

28: Piazza Forum Sigh!

29: I intend to work in the field of OS so everything.

30: Concurrency, memory management

31: having a general understanding of low level systems etc

32: Concurrency

33: Synchronization Concurrency

34: Virtual Memory, File system, concurrency and multiprocessor systems.

35: Threads/concurrency and multiprocessors

36: multiprocessor systems and I/O

37: concurrency, deadlock, VM, and file system

38: learning ctags/cscope

39: Alllllll of it.

40: A more low level scope/frame of mind has given me interesting goals / designs for hobby projects, and higher level/multiprocessing are important and still underutilised

41: Concurrency and the algorithms used for scheduling or page swapping

42: Just having a better understanding of OS implementation will be very beneficial in the future

43: syscalls, processes/threads, memory, file systems

44: Knowing about synchronisation and concurrency, preventing deadlock maybe (because I've never taken a concurrency course). But I found all of the course very useful in helping me better understand how a computer works - before doing OS, there's just a black box between cs2121 and every other programming course, and you accept things like the stack grows down and the heap grows up but OS really helps you understand why.

45: Algorithms in general, useful for theoretical computer science.

46: Concurrency; threads; scheduling

47: Synchronisation

48: General understanding + Threads and Concurrency

49: Synchronisation and concurrency/deadlocking and multiprocessor systems + scheduling.

50: I/O management and low level implementation issues

51: Multithreading, Concurrency, VM

52: Synchronisation issues and just problem solving in general.

53: Synchronisation and concurrency

54: All if it is pretty good, learning GDB properly was very useful

55: Concurrency, Threading

56: Synchronisation & Concurrency, Memory Management and Virtual Memory

57: Concurrency knowledge

58: concurrency

59: Multithreading

60: Synchonisation and concurrency

61: System Calls, Low-level implementation

62: Processes, threads, synchonisation and concurrency and maybe memory management.

63: Pretty much all of it

64: concurrency, memory management

65: High level understanding of operating systems, and virtual memory

66: Concurrency and scheduling

67: Memory and concurrency, maybe?

68: Multiprocessor, memory, Synchonisation and concurrency

69: Synchonisation, Deadlock, Scheduling and Virtual Machine

70: Virtual Memory and concurrency. Everything else was interesting though.

71: Synchonisation and concurrency

72: Synchronisation and concurrency

73: memory management and multi-thread programming

74: Threads

75: Probably concurrency

76: Concurrency, system calls, scheduling, i/o, filesystems

77: Deadlock

78: Threads & processes, concurrency, memory management, multiprocessor systems, deadlock

79: System Calls

80: Everything especially concurrency

81: Memory Management and Virtual Memory

82: Synchronization/concurrency, Scheduling

83: memory management

84: Concurrency and virtual memory

85: Memory management

86: Use of concurrency and synchronisation primitives in designing / implementing systems.

87: The ability to read and comprehend a large codebase.

88: Synchronisation and concurrency.

89: all

90: Perhaps the virtual memory stuff, as well as knowing how OSes work in general.

91: everything

92: I think all is too detail or low level hence will not be used if not follow the OS mature

93: Concurrency and understanding of low level coding

94: processes, memory management, file systems and I/O

95: Concurrency

96: concurrency, threading, understanding of how it all links together

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

1: Not sure of other areas in the course

2: -

3: OS security (eg. logic bombs, login spoffing, etc.)

4: Not much - there's already so much content

5: Network communications.

6: I don

7: -

8: wanted to know more about Windows

9: Mobile OS

10: N/A

11: nothing i can really think of

12: SSD Yes, eventually SSDs should be covered.

13: Don't know.

14: Unsure.

15: -

16: Networking

17: Security

18: Graphics, GPU compute and FPGA compute (tangentially at this stage)

19: Security? How it is implemented in OSs. Also how things like fork() worked.

20: None

21: do not know

22: no

23: Porting programs between OS platforms

24: Seeing an OS like OS161, run natively on the computer (i.e. booting from the BIOS)

25: Embedded systems, security/reliability

26: Everything I know about them I learnt in the course..

27: N/A

28: Not sure, cause i don't know about it :P

29: hacking

30: Not sure.

31: more general information about a variety of operating systems

32: Security. The rest can be left for AOS.

33: Nothing

34: how to boot a os

35: Basic issue about security of OS

36: It'd been better if the course covered more optimisation and performance issues.

37: -

38: As previously mentioned, some cool processor specific stuff.

39: Security.

40: I have no knowledge about OS outside of the course. Sorry.

41: NA

42: NA

43: Further in-depth details about paging.

44: security

45: not sure yet

46: None

47: Security

48: n/a

49: More security related topics.

50: I don't know,sorry

51: None

52: microkernels and drivers

53: Basic O/S secuity issues

54: Hacking. Priv-esc

55: Distributed operating systems, security, UIs, WMs and DEs, ,

56: I'd have liked to have explored Windows which I use nearly all the time (just as as interest :)).

57: N/A

58: Security

59: Implementation of Device Drivers (in more detail)

60: n/a

61: mostly about advance C code trick

62: graphical

63: More cutting edge implementation examples, really interested in ex4

64: security

65: I am not sure.

66: all what i expected and more already

67: Some x86 or ARM topics would be fun, because those are the most famous archirectures. I know those arechirectures are much more complex compared to MIPS, but it should be covered at least one lecture This is really computer architecture. Interesting, and related, but not core to the course.
15. Which of the current topics would you like to see scaled back or excluded?

1: -

2: n/a

3: File Systems - I think too much time was spent on them

4: file system

5: Nothing if the assignment 3 can be lessen in detail then is good for other student

6: They were all important

7: None, seemed quite well balanced.

8: Current topics are sufficient to gain a good understanding of the operating system.

9: None

10: Multiprocessor Systems

11: N/A, I liked the current choices

12: File Systems was very tedious

13: concurrency

14: concurrency scaled back

15: I think it's a fair balance at the moment.

16: None

17: NA

18: Maybe I/O

19: multi-processor

20: None.

21: none

22: -

23: N/A

24: None

25: mm and vm

26: None

27: NA

28: all seemed pretty useful

29: Virtual memory

30: None

31: Nothing

32: Seems OK to me.

33: multiprocessor systems

34: (Maybe) scale back (a little bit) on synchonisation and concurrency.

35: none.

36: not sure yet

37: earlier part of multiprocessors, I/O

38: more about thread implementation on different os platform

39: Multiprocessor Systems

40: N/A

41: None

42: Scheduling

43: I/O management

44: I/O management

45: None

46: None.

47: Don't know.

48: Maybe cut back on the file system case study, maybe do a case study for another topic.

49: I/O Management

50: Probably

51: all good

52: None

53: I think we went further than necessary into deadlocking

54: -

55: Concurrency

56: Perhaps multiprocessor systems.

57: System Calls from an elec prerequisites perspective.. But I guess to comp students didn't know as much about them already

58: I am not sure. I really do think it was balanced.

59: File systems.

60: N/A

61: no

62: None

63: Nothing particular
20. If you have not been attending lectures, what factors influenced your decision not to attend?

1: I only attended when I had another obligation or had to work on the assignment. Sometimes I would attend, and the material was an overview of something I already knew.

2: laziness

3: Travelling to class

4: Doing the assignments; the lecture time was a convenient time to meet with my partner

5: Mostly related to assignment of other course

6: NA

7: In a perfect world I would attend every lecture and pay attention and it would be great, but I don't always have the attention span during that given time of day, or am not feeling well, or am last minute assignment-ing and skip all my classes that day. In the case of OS, my non-attendance had nothing to do with the course or the lecturer or the lectures themselves.

8: Just missed a few lectures when I was away for a conference

9: Location

10: time

11: The lectures I tended not to attend were ones in the biomedical theatre. I usually had a class at lower campus just before it, so it was rather inconvenient to get to

12: Competing course work often meant i had to balance my time carefully, and the lecture recordings of this course were of incredibly high quality, so i felt safer skipping OS lectures.

13: Working internship

14: The lecture slides are fantastic (although you make everything sound so easy that I zone out in lectures only to realise I've missed a bunch of stuff).

15: Attended first half. Fell back on schedule in the second half due to assignments but caught up with lecture videos.

16: N/A

17: too busy doing assignments

18: I attended as many lectures as I was able to, and would have liked to attend more. I've been generally unwell this semester which has limited my ability to attend lectures to some extent, and there were times when I was well enough to be at uni but I was nevertheless unable to make it to biomed/clb (due to the long distance), or unable to make it through an entire two hour lecture block.

19: I prefer to learn at my own pace

20: Clashes, biomed, lazy.

21: It's more effective personally to watch the lecture, because I was able to rewind at anytime when I need to. Also the bio-med lecture hall is not a comfortable environment to sit in for two hours/wednesday extended lecture, it's too hot and I struggle to breath.

22: There wasn't anything wrong with the lectures, I was just immensely busy this semester.

23: Timing

24: The fact that lectures have been recorded for me to watch in the comfort of my home.

25: N/A

26: Other assignments and exams

27: n/a

28: NA. I went to all lectures and never regretted doing so.

29: Timetable conflicts, and when Operating Systems lecture was the only subject for the day.

30: Timetable clash, still came often.

31: I like the idea of learning at my own pace, with video that I can play and pause when needed. I also had work most of the days, so the videos were super useful.

32: Towards the end of the course I sacrificed a few lectures to catch up on assignments that were piling up and was unable to follow subsequent lectures easily. It was difficult to catch up using the recordings during teaching weeks as I felt my time would be better spent completing assignments.

33: N/A

34: I generally prefer to learn on my own/in my own time

35: Some lectures I missed due to other assignment deadlines.

36: Find it more effective to listen to recordings due to ability to repeat and better coordinate with study schedule

37: Could not make it, had internship commitments and videos were available so I chose to watch them instead.

38: N/A

39: n/a

40: health

41: There were video lectures available, which was more convenient for me

42: Doing OS assignments

43: I have found I find textbooks and other resources more useful in my mode of study and do not thrive in a large lecture group audience. For lectures I did attend, the lecturer was quite effective and explained concepts well (telling from my peers) but I unfortunately do not learn this way (and that is my failing)

44: I didn't ever miss both the lecture and the lecture recording; in a few of the weeks I didn't attend the lectures, usually because of assignments and other things, and the knowledge that there'd always be lecture recordings afterwards.

45: Mostly attended lectures, but I skipped a couple because I needed to work on my COMP4128 assessments.

46: N/A

47: Long travel times, a desire to work when I want (times when I'm most productive).

48: Time tabling issues and assignment deadlines. I had a 1 hour clash, and 1 lecture in biomedical theater directly after a lecture in the law building. Otherwise I would spend time on assignments near the deadlines.

49: I attend lectures

50: I attended for the first 3-4 weeks but I found myself sleeping in most of the lectures.

51: Bad timetable schedules and not releasing the lecture slides early mean't I couldn't prepare for the lectures beforehand.

52: I prefer learning from a textbook/at my own pace so live lectures aren't the best for me. This does not reflect badly on the lecturer at all however I found the video captured lectures to be great.

53: busy working, fast learner and understanding material

54: N/A

55: I attend but don't listen I don't know why

56: Speed of lecture

57: I seem to tune out every 10-20 minutes. With video lectures, I'm able to pause, and process what has been said, essentially allowing my full focus throughout the video.

58: sometimes there's homework

59: -

60: I missed a couple to work on assignment 2 instead.

61: Other commitments

62: I did mostly attend lectures, but the recordings were easier to understand because you could pause to make notes and rewind if you missed something

63: Scheduled time of classes.
21. Any suggestions for improving lectures (including the lecture video captures)?

1: Sometimes it was had to follow when you were obviously pointing to something on the screen and it was impossible to tell what.. Maybe some sort of highlighting function could fix that?

2: reading more source code in Linux

3: Using the pointer tool instead of hand-waving makes the videos easier to follow.

4: N/A

5: -

6: A bit neater work with the stylus, if I have to nitpick.

7: These were some of the best lecture video recordings I've seen in any course, a lot of it has to do with the quality of the lecture presentations and Kevin's lecturing style. The only thing is sometimes a laser pointer would be used in class which obviously wouldn't show up in the screen captures - sometimes Kevin would use the cursor which would show up. But I did not find it too difficult to infer what he was referring to, just had to pay a bit more attention to what he was saying and what was written on the slide (pausing is sometimes needed to take in the whole slide).

8: n/a

9: Not to use white board, always plot on computer so that video can capture

10: No. Kevin's lecturing is truly among the best I have seen at UNSW. He knows the material, and knows how to deliver it well. He knows how to speak to a crowd (it's amazing how many lecturers don't).

11: A better way of drawing on the lecture slides, maybe a stylus of some sort

12: Possibly improving the audio

13: Quite satisfied with the way they are. Though it would have been good if Kevin used the simulated lazer pointer more often instead of pointing to the screen so we know what he is referring to. I realise that is probably a bit of a hassle.

14: Slightly more detail on some slides, to make them less cryptic when looking back

15: no

16: Live examples

17: No

18: more excitement/fun

19: get more example to explain some processes, such as virtual memory and file system.

20: Tell non-extended people about the extended lectures which explained how to do the non-extended assignments. Extended students need that help less than non-extended ones. The videos were superior to echo360 only because you can download them, and watch them later when you don't have internet access (which I did a few times).

21: Could post the video captures on youtube. It works very well for streaming videos and I'm sure there would be a lot of people who aren't at unsw who would be very interested in following along too.

22: more interactiveness

23: two hour lectures become quite boring

24: Jokes? Maybe more interaction Less slides?

25: No, they were extremely helpful. Cannot thank you enough for making them available.

26: Going to biomed was a chore. I'm sure Kevin is aware and probably has no control over it either.

27: Sometimes it seemed like what was being said wasn't related to what was written on a slide so I'd concentrate on what was being said rather than reading the slide and then the lecture would move on to the next slide

28: The audio volume is slightly lower compared to the balance with other audio

29: NA

30: no

31: Video captures are amazing. Slides are very solid

32: n/a

33: Would have liked a broader survey of implementations used in current operating systems across topics.

34: None

35: Bonus marks for attending a majority subset of the lectures (>80%) to encourage attendance while still retaining video lectures.

36: N/A

37: N/A

38: Random joke slides in between breaks

39: n/a

40: People in the lecture should be quieter, but that isn't Kevin's fault

41: I'm satisfied with lecture.

42: Maybe Kevin can slow down occasionally :) But videos solve that issue. Have more student interaction just to keep things lively.

43: Lectures were generally good, but sometimes they got a bit disengaging, I think this was a combination of the long duration without sufficient breaks.

44: n/a

45: Perhaps more use of the stylus for explanations.

46: The lectures were definitely useful, but I think more practical demos in lectures would have helped.

47: None

48: Telling students "you may probably won't understand what I'm about to say until you rewatch the video lecture when studying for assignment"?

49: A lot of the lectures I found I didn't understand properly until AFTER assignment completion. I'm not sure if this is just a problem I had or if it was like that for other people. Maybe releasing assignments earlier could remedy this?

50: I cannot stress enough how good the lecture recordings are.

51: Maybe a few more examples of questions

52: explanations of the extended parts could be clearer

53: This one's a bit difficult since I'd suggest putting up more information on the slides themselves so listening to every single lecture is not a must BUT I do see the downside of too much information if you do in fact choose to add more detail. Slides are presentation material, supporting if anything so unfortunately there isn't a nice solution for this.

54: They're fine

55: lot of my friends said the lecture is boring and sleepy. should have make it more interesting.

56: use mouse to point at things - pointing at slides IRL do not translate to screen

57: NA

58: Keep the lecture recordings, they're great.
Biggest issue seems to be lack of a "laser pointer" in the lecture recordings. First-world problem :-)  I do try to vocally direct the listeners attention ("on the top left....."), but I'll try to use the simulated pointer more - it is a little tricky to do well without spending the lecture talking down to my laptop. 59: Perhaps labelling the pages of lecture notes that each video/lecture covered. Better resolution is always good, but 720P is watchable. I often experienced issues while trying to download lecture videos from home, with the downloads intermittently failing halfway through. It would also be good if the lecturer could repeat questions for the video recording, otherwise these appear a little out of context if the student was not loud enough to be captured on the video.

60: -
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: n/a

2: n/a

3: Only looked at Tennenbaum

4: n/a

5: N/A

6: N/A, did not use a textbook

7: I used this for some explanations: http://pages.cs.wisc.edu/~remzi/OSTEP/

8: n/a

9: sorry,I haven't used that

10: NA

11: No use of textbook. Slides were sufficient.

12: I used Silberschatz and Tannenbaum. Tannenbaum was excellent for use alongside the lectures, and somewhat helpful for the assignments. Silberschatz was completely useless in comparison.

13: N/A

14: I use Operation System Concepts (Silberschatz, Stallings) as another textbook as a extra explanation if I can hardly understand some concepts. It's really hard to say which one is much more better than others.

15: used Tannenbaum

16: na

17: -

18: N/A

19: N/A

20: no idea

21: N/A

22: -

23: N/A

24: Used Tannenbaum.

25: n/a

26: N/A

27: n/a

28: n/a

29: Used tannenbaum

30: N/A

31: NA
25. Any suggestions for improving tutorials?



1: more questions, no participation mark

2: get more suggestions about the assignments

3: More dynamic tutorials with examples, videos and pictures etc. Sometimes just reading and a whiteboard isn't all that engaging.

4: I thought they were great. Tutor A was such a great tutor to me. Especially being on exchange. She was always willing to talk and help me.

5: More questions? Although I was in Extended, I did the tutorials anyway to ensure I understood the material, and may have found it more helpful to have more questions, both simple and more difficult

6: N/A

7: more fun

8: It seemed like Tutor B was either reading from answers, or reciting explanations word-for-word, rather than explaining topics in an easy to understand way.

9: Maybe one or two open questions per tutorial to further the student's interest to do with the related topic material

10: Please release the answer before tutorial, because sometimes I didn't quite understand the answers provided by tutors.

11: pick partners from your tutorial

12: Not a fan of class participation marks, but I guess they made the tutorials more interactive. I felt Tutor B was very methodical and rigid in her tutorials, opting to stick to answering the questions. The one time we had Tutor A I felt the tutorial was a lot more natural and she didn't seem fussed about noting down class participation (perhaps because it wasn't her class).

13: NA

14: no

15: didn‘t attend tutorial

16: None, Labs would be awesome though.

17: Ditch the participation mark

18: make it more interesting

19: Would like Labs as well

20: Put some challenging question for extended students

21: -

22: n/a

23: number and depth of questions didnt match student numbers so it was unfair to have attendance based on answering of said questions.

24: More questions, possibly using relevant past exam questions to expand the number of questions each week.

25: Tutorials are great, I love doing the questions each week. I wish my tutor were more engaging and less awkward/quiet. She says 'no' a lot, which tutors aren't meant to do. (She's very nice, just not great at tutoring).

26: Maybe find a better way to do the participation mark: a lot of time students tried to answer a question simply to have a mark and were not providing an interesting/correct/precise answer.

27: N/A

28: I'm in the extended class, so no tutorials for me.

29: Didn't go, did the questions at home. (Extended)

30: N/A

31: The teaching style of a tutor really makes a difference. Forced participation helps.

32: n/a (EOS)

33: need more info on certain concepts, always have time after explaining all tutorial questions

34: Tutorials that focused on explaining the assignments were very useful

35: The tutorial questions related to the assignments were somewhat helpful, but I found I never actually referred to them when I was actually doing the assignments.

36: N/A

37: N/A

38: no

39: Maybe add a few more questions? Or just make discussion points? Some ended fairly early (after finishing the content)

40: Adding easier tutorial questions to the current set of questions may improve class participation. Alternatively could use a different method of awarding class marks.
33. Any suggestions for improving the assignments?

1: Better timing Less time for ass1, More time for ass2, Ass3 had enough time

2: more guidance

3: learning curve from asst1 to asst2 was too much

4: Smaller tasks to complete each week that help to understand code

5: asst1 and asst2 must be more challenging

6: Second assignment could have had better references/guide as traversing through all the complicated code and its relations to each other was very time consuming.

7: More information on where to start :D

8: I would say specifications could be a lot more comprehensive and explanatory but I also feel it was intended to be very general and high-level. Though it does mean spending more time digging through code, reading resources, man pages, forum/wiki posts/discussions, etc., I think this might have been the point. I can say I benefited from undertaking the above and didn't really mind spending extra time doing it. But if the point of this question is how to make the assignments easier/less time-consuming for students then probably the assignment specs.

9: It was somewhat difficult to work out how to approach ass2. Perhaps a 'ass2 tips' video could be made like with ass3

10: Perhaps a bit more time on the code walkthroughs to introduce the code. Assignment 2 in particular was extremely confusing to start, even after reading lots of the code. Assignment 3 was ok, but most of the people i talked to found that implementing the frame table first was an easier approach than starting with a temporary page table. That's my perception also

11: decrease the difficulty, make it be done by singles instead of team of 2

12: No

13: I think the "advanced" assignment parts probably should've been apart of the regular course, even if ones hand was held a bit more to achieve that. Completion of them didn't feel as rewarding as other courses with similar formats (Compilers)

14: git would be strongly preferred for assignments: COMP2041 (which students have probably done prior) teaches the basics of git, and if students are already familiar with it then perhaps not so much time will be spent fussing over svn branches in setting up the assignments? :)

15: More of the walkthrough lectures would be amazing as a resource as the assignment 3 walkthrough greatly aided in understanding the assignment details. Point taken, I'm considering doing this, though the VFS lecture explicitly point out the design of the solution to the assignment and I point this out several times in the lecture.

16: Explain dirty bits better.

17: Making some things a little clearer? Like I said before, for things like fork() we just had no idea whatsoever, despite all the reading. I felt like we had a lot of hints, but did not know how to tie them all together. So maybe some way of clarifying how to do fork()? It wasn't immediately clear to us to use fork_newthread() or whatever it was. I thought we did something similar, but didn't use it. Also, a better way of testing? More specific tests that we could run, on varying levels. For asst3, all we had were those few programs. We could not get the programs running, due to some totally unknown error. Smaller, lower-level tests would have been helpful to detect what was going on, as our theoretical implementation was correct, but we were utterly lost as to why it couldn't open the programs. So we could never find out why it did things.

18: If possible, please provide correct answers of assignments as references.

19: Make it clear which files need to be edited.

20: Clarity in some ways. I found the FAQ/traps/pitfalls page much more helpful than some specs. One huge suggestion that almost killed my partner and I - Can you please let people know that after thread_exit()/thread_fork() that we're supposed to press enter to return to console? We spent 12 hours trying to debug this problem in assignment 2 only to have our hearts broken when a fellow classmate asked if pressing enter after forking was normal.

21: Sometimes the lectures and assignments/practical material felt very disconnected. Maybe try mentioning or briefly covering how the material relates to OS161 and our practical work more often?

22: Maybe providing more documentation, especially the extended components.

23: The later assignments in particular felt like we didn't understand the concepts well enough (after going to lectures or watching lecture videos, and reading lecture notes, and talking to peers) to really implement some of the required things.

24: Separate into more smaller 'milestones' to hit along the way, so that you know you're making good progress. Sometimes it felt like you had to basically code the whole assignment, THEN compile for the first time, THEN try to debug (i.e., not an iterative approach). This might be my own problem though.

25: no

26: NA

27: A bit more guided introduction into starting the assignments.

28: I really did not like the third one, I think more direct instructions would have helped but I also understand that it kills a little bit the purpose.

29: when doing the assignments I would have liked the spec to be a little more explicit but in retrospective thought, I think I learned a lot more with the spec exactly as it was - and required some background reading and digging to truly understand concepts.

30: Provide more examples of expected output, or common incorrect output.

31: I feel like the assignments were more a case of 'write this structure' than a case of solving a problem etc. eg the paint shop was a fun and interesting part of an assignment, which involved designing a solution and implementing it. I felt that the later assignments were more of a case of working out what the standard solution Was and then writing it out. My difficulty came in when I didn't fully understand the structures/functions I was writing, rather than because I hadn't considered some issue, or had an incomplete solution. i would say the assignments could be improved by making them less monolithic. eg the virtual memory assignment all blurred together into one giant task - make an allocator and frametable solution, and a page table set up that works with the frame table, and the vm_fault which deals with both of them etc. I didn't feel there was a clear route for going through and building and testing little bits at a time. Interesting, the walk through for the VM assignment explicitly describes what you suggest. I can't tell if this is information overload, or whether you just happen to miss it.

32: None

33: Improve spec for assignment 3 and make it less difficult; cover it in regular lectures and extended lectures

34: was not really a fan of doing the assignments in pairs.. Would have preferred to do them on my own even if that means additional work..

35: Considering the advanced part of the assignments are compulsory for EOS students, the amount of marks awarded compared the amount of effort necessary to earn them don't seem proportional. Maybe more marks can be allocated to each small part of the advanced assignment, so that it's easier to get to or close to the cap.

36: svn conflict resolution is very annoying. Always had to manually correct stuff via email, etc. Please give some additional info regarding this.

37: n/a

38: Would have liked more content and more room for extension in the assignments (well more room for extension in 1 and 2 anyway).

39: First assignment could have more of a relation to direct O/S problems instead of purely conceptual producer/consumer & store problems. Clear guide to bad practices with regard to programming style, allocation/deallocation of memory.

40: no

41: hints and explanation videos (like the ass3 video) would be very useful

42: Virtual Memory Assignment was too lengthy and required a lot of time initially just to understand the concepts and another bulk to code it. Do consider scaling it down a little.

43: The time for assignments 2 and 3 are very strict, it would be better if we have some more days (2-3 days) to work it out. The reason being that there are other courses that has overlapping assignments.

44: Clearer specifications.

45: A lot of hints/clarifications were spread out over the spec, wiki, forums etc. Sometimes a bit of work to refer to all the sources, but not difficult to do if you plan/design properly.

46: Assignment 3 could have been specified in more detail.

47: Personally I think it's about right. Good early bird bonus system and some challenging bonus mark tasks (which we never attempted because we never made the early deadline - but they looked hard).

48: making sure the thing worked before leading us on a search for three days for a spinlock bug :( Apologies for that one. I managed to slip under the radar of us (and several other Unis).

49: Clearer directions on which files to change would be helpfull.

50: Mechanism to ensure partners aren't freeloading.

51: Better balance difficulty and workload.

52: Since it was in sys161 a better focus on what sys161 did prior to completing the assignments may have been better.

53: no

54: use git and not svn would be nice as most people use git and would take away the problem of generating the diffs.

55: Test them a little more - a friend got really stuck on the problem that needed to be fixed in assignment 3

56: Clearer specification on what needs to be done and what is already there would be helpful to save time.

57: Make what the Oracle does clearer, e.g. failing for spurious debugging printfs

58: I would prefer if the walk-through lecture was given the week before the assignment is released, followed up with the tutorial the next week. I think this would help ensure that the tutorials can be used for revising. The timing in the semester makes this a challenge to do in lectures (we're time constrained), there is nothing stopping you from doing a walk through yourself.

59: Less cryptic descriptions. Required behaviour should be more well-defined.
Underlying tone seems to be desire for assignments to be more prescriptive, i.e. less thinking, researching, designing. I think that would remove the challenge and make them less interesting. 60: They were just scary to start off with. I liked how assignment 3 had a help tutorial. It would be nice if they all had that.
36. Any suggestions for improving COMP3891/9283 Extended OS?

1: Maybe have some tutorial questions for extended so we could gauge our understanding of the extended material.

2: In some lectures discussions went into areas I had no exposure or knowledge about. Some explanation or background info for those that were not accustomed to the info would have been good.

3: Nothing in particular. Advanced components were fun to complete.

4: More content that expands on learned OS content (i.e. scheduler activations, VLA's), greater assignment component and smaller exam component.

5: More guidance for the extended components etc

6: -

7: I feel like too many people are taking 3891 making it more of an actual course which detracts from the whole tutorial feel of the EOS lectures. Make EOS heaps harder and OS harder and scare people out of EOS, cause at the moment everyone is telling everyone to take EOS Bingo, that is my perception, also. It has the potential to become a "victim" of its own popularity.

8: Integrating material from the extended lectures into assignments would be brilliant; the only way knowledge of extended topics is assessed is in the final exam.

9: More extended content!

10: Sometimes the marks given for advanced assignment sections weren't indicative of difficulty (we found fork() much easier than the waitpid() system calls)

11: I would personally have still preferred tutorials (especially to do code walkthroughs and assignment related work) and spend the 1 hour lecture for EOS dedicated to advanced topics, instead of using the 1 hour lecture as a sort-of-tutorial lecture.

12: I loved the Extended part of the course content wise, but there was a much greater lack of support for the coding (which is where I struggled particularly). As a bit of a C noob, I found the extended assignments really difficult. I'd still take extended again though, because the extra stuff we did was so interesting.

13: It would be cool if the EOS lecture content was somehow relevant to the assignments. There were a few vague connection, but it would facilitate a deeper understanding if it was more connected to the hands on assignments.

14: Have the advanced assignments to be related to the advanced content in the lectures. E.g. there were some topics that I had to study for the final exam which we had not delved into in the assignments. Which makes it harder to study at the end.

15: I felt it was a bit unfair for automarking the extended parts. For example, we did parse in the arguments for execv, but forgot argv[0], meaning we lost all the marks on doing that (-0.5 is harsh).

16: The lectures were incredibly interesting but felt unfocused, and it was a bit hard to tell what exactly was examinable and what wasn't.

17: Slow down lecturing speed for EOS. And also give it a little bit more structure. The contents in EOS is not much harder than OS, but the way it is taught make it very hard to follow.

18: N/A

19: A little less on virtual machines

20: Sometimes detail was given in unusual areas (e.g. log file systems, too much detail on performance, not enough detail on implementation)

21: more organisation

22: Tutorials would be a huge improvement. Not that it was bad without it, but it would have helped tremendously with keeping up to date with the course (I guess attending standard OS tutorials would have also been an option).
My perception is a tension between "a normal structured lecture" and the informal advanced tutorial it has evolved from. I would like to keep it the advanced tutorial, rather than effectively make OS be a course with 4 hrs of lectures each week catering for the entire cohort.  23: -Having an assignment (or an advanced component of one of the existing assignments) that involves concepts taught in EOS would be really good. -Not sure if this will be done already but since EOS is harder (both in exams and assignments) there should be some sort of scaling that would allow the same raw mark in EOS to be better than in OS. -There should be more concepts taught in EOS we lost too many lectures to assignment walkthroughs.
38. Do you have any particular comments you would like to make about the exam?

1: I felt the exam didn't cover as much material as it could have. A longer exam might make this possible

2: I am a bit worried about the harmonic mean. I find that I generally make a mess of exams (I get quite stressed during exam periods) and I normally rely on in-semester assessments/quizzes to make up for my (usually) poor exam results. I suggest adding in a mid-semester exam to cover the first half of the content, and use the final exam to cover the second half of the content. (for some reason I don't get as stressed out by mid-semester exams)

3: Multiple Choice questions were somehow confusing

4: I didn't like the amount of true/false questions and the penalties - I understand that you don't want people guessing, but some questions were ambiguous and I wanted to be able to justify my answer in case I was wrong about how I interpreted the question.

5: some of the multiple choice questions seemed ambiguous