Course Description:
CS 350: Operating Systems
An introduction to the fundamentals of operating system function, design, and implementation. Topics include concurrency, synchronization, processes, threads, scheduling, memory management, file systems, device management, and security.
Dave's Comments:
Teaching Evaluations:
Number of Respondents: 47 / 37 (127%)
Evaluate the organization and coherence of the lectures. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
21 | 23 | 3 | | | |
45% | 49% | 6% | | | |
At what level were the instructor's explanations aimed? |
Too high | Somewhat too high | Just right | Somewhat too low | Too low | No opinion |
1 | 6 | 37 | 2 | | |
2% | 13% | 80% | 4% | | |
Evaluate the instructor's treatment of students' questions. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
25 | 18 | 3 | 1 | | |
53% | 38% | 6% | 2% | | |
Evaluate the effectiveness of the instructor's visual presentation (blackboard, overheads, etc.). |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
14 | 24 | 9 | | | |
30% | 51% | 19% | | | |
Evaluate the effectiveness of the instructor's oral presentation. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
35 | 11 | 1 | | | |
74% | 23% | 2% | | | |
Was the instructor available for help outside of class? |
Always | Most of the time | Often enough | Not often enough | Never | I did not seek help |
12 | 7 | 5 | 2 | | 21 |
26% | 15% | 11% | 4% | | 45% |
Did you find the course interesting? |
Very Interesting | Interesting | Not interesting | No opinion |
18 | 25 | 3 | 1 |
38% | 53% | 6% | 2% |
Evaluate the overall effectiveness of the instructor as a teacher. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
30 | 15 | 1 | 1 | | |
64% | 32% | 2% | 2% | | |
What proportion of lectures did you attend in this course? |
90-100% | 75-90% | 50-75% | 25-50% | < 25% |
33 | 13 | 1 | | |
70% | 28% | 2% | | |
Was the assigned work (assignments, projects, etc.) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No work assigned | No opinion |
16 | 28 | 3 | | |
34% | 60% | 6% | | |
Were the printed notes (if any) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No printed course notes | No opinion |
13 | 31 | 2 | | 1 |
28% | 66% | 4% | | 2% |
Was the required textbook (if any) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No text required | No opinion |
3 | 2 | 9 | 13 | 18 |
7% | 4% | 20% | 29% | 40% |
Did the course introduce an appropriate amount of new material? |
Too much | Somewhat too much | Okay | Somewhat too little | Too little | No opinion |
5 | 17 | 23 | 2 | | |
11% | 36% | 49% | 4% | | |
Was the amount of assigned work required for the course appropriate? |
Too much | Somewhat too much | Okay | Somewhat too little | Too little | No opinion |
15 | 19 | 12 | | | |
33% | 41% | 26% | | | |
On average, how many hours per week did you spend on this course outside of lectures? |
0-2 hours | 3-6 hours | 7-10 hours | 11-15 hours | > 15 hours |
| 4 | 16 | 10 | 17 |
| 9% | 34% | 21% | 36% |
Note: This is a complete list of comments I received, listed alphabetically to avoid bias.
Please mention anything that you feel the instructor has done well in this course. |
- Absolutely amazing course! One of the most exciting topics (in my opinion) in undergraduate computer science presented with clarity, relevance to the real-world software, and with humour as well. I will certainly remember what is an operating system thrashing :)
- All good except that the assignments and exams are too hard.
- Clear explanations. Humour.
- Dave is the most enthusiastic prof I've ever had in UW. Excellent oral presentation and keeping every class interesting. His Piazza response time was really short and nicely handled :)
- Did well to keep class in an upbeat, energetic mood. Pop culture references provided good comic relief and made the atmosphere more light. Explanations were clear and relatable (personification tactics worked well).
- Engages students during lectures providing plenty of examples and answering questions. Provides relevant examples from real world applications to enforce learned topics.
- Engaging, tried to make people interested in the topic.
- Examples, analogy.
- Excellent atmosphere. Always enthusiastic and eager to teach and explain what is unclear. Great creativity with metaphors -- makes things much more clear and easier to remember and understand. Amazing jokes. Very clear and effective delivery.
- Excellent oral presentation. Jokes.
- Funny, well spoken, engaging.
- Gave good oral presentations.
- Good analogies. Made it more memorable and easy to remember. Tried to maintain students' interest.
- Good at explaining things to students. Funny and entertaining (kept me awake).
- Good atmosphere. Funny jokes, relaxed behaviour. Helped to feel less official. Great analogies, slide notes and outside of class entertainment.
- Good explanations/analogies, manages to keep interest.
- Good oral presentation.
- Good use of analogies and pop culture references to explain abstract concepts.
- Good use of diagrams and examples to clarify topics and explain them in detail.
- Great explanations, great after class availability (piazza). Good blackboard use.
- Great personality and uses everyday life situations to relate to the course material for better understanding.
- Interesting teaching style, fun lectures.
- Keeps class interesting.
- Lectures are interesting and entertaining, also Simpson's references.
- Lectures. Diagrams on the blackboard. Fun atmosphere.
- Makes a good effort to keep class engaged.
- Nice jokes and pop culture references to keep the class interesting.
- Passionate, funny and explains the course material in an easily digestible manner.
- Ran programs on the undergraduate environment to show a good example of a concept in the course.
- Really good sense of humour. Uses a lot of metaphors to explain the concepts.
- Simple, straightforward and interesting illustration with examples and figures.
- Teach.
- Teaching the course content. Testing was done very fairly. He knows about how to balance the test content and difficulty.
- The pace.
- Tried really hard to get students interested in the lectures and materials.
- Very fun to come to class!
- Very funny. Articulate. Gives very relevant discussions on questions to expound the though.
- Very good at analogy, use of memes, etc.. Does not get sidetracked too much by bad off topic questions.
- Very good oral presentation skills. Kept the class environment light and amusing, making it easier to focus and pay attention. good at teaching, unlike many other professors.
- Very good oral presentation. Seemed interested in the material and made it interesting to learn. Jokes/pop culture references lightened the mood in class and helped relate things.
- Videos before lectures.
- Whenever the notes didn't explain something well, he would come up with good examples to get the point through. His humour also made the lectures more fun. I also loved the way he handled stupid questions: other profs should learn from him. I made a couple of stupid questions myself, and I learned to think more before asking.
Please make constructive comments about anything in the instructor's technique or style that could, in your opinion, be improved. |
- A little too "hand wavy". I would appreciate some more examples in class. Slow down the pace sometimes.
- Compared to ECE courses, the lecture delivery exceeds my expectations tremendously. However could go into more technical detail and cover more material instead of using time on review.
- Early in term I found that the professor would jump around the course material frequently. this was confusing. I'm not sure if I got used to it later or just began teaching in order.
- Explain assignments and exams more.
- Go slow when teaching the key concepts.
- Handwriting. The progress of teaching is too fast compared to other terms.
- Hopefully spend more time on examples.
- I don't understand old jokes :(
- Less pop culture, go back to the 80's or 90's references. use the class notes as a complete replacement of attendance -- miss a lecture, still get all the info.
- Maybe more examples within the course notes.
- Middle of the course material seemed slightly rushed, and resulted in having too much time for later course content.
- More assignment hints.
- More code examples. It's always hard to envision the implementation of a concept.
- More coding!
- More prepared non-slide visual content.
- More writing worthy notes. Everything else was great.
- Needs to do his own version of the course. The provided slides were iffy in several places; I think the course would benefit from more of his flair.
- Not much explanation in class about 'bigger picture' things. Such things include what is needed for synchronization, why virtual memory would need file systems for storage, etc.. Basically, more explanation about how each topic fits together would be appreciated. Also, work on the amount of time you give for each assignment.
- Nothing.
- One coke per lecture is way too much. It's not good for your health.
- One minor issue that sometimes arises is that we jump a lot between difficult slides, so maybe the sequencing of slides could sometimes be improved, but this is not a major issue at all.
- Perhaps answer some of the lengthy and not so meaningful questions after class.
- Piazza gets answered less frequently than newsgroup since there is no "Piazza" client. Instructor and TA need to monitor Piazza more frequently. Office hours between the TA and Instructor need to spread out within the week.
- Provide more code related classes corresponding to the assignment.
- Provide more related information for assignments. More examples.
- Should write more on the chalkboard when explaining a concept instead of explaining the concept verbally.
- Show some more examples of the concepts.
- Sometimes move too fast. Should slow down and explain more.
- Spending more time on explaining os161 code.
- The assignments and exams are too hard. Make it easier please.
- The wording for questions on the midterm. I could have done way better on the midterm if I was able to understand exactly what some of the questions were asking.
- When explaining stuff, should explain them less abstractly/lower level. For example, in pseudocode.
- Would appreciate if the assignment description was reviewed briefly in class after it gets posted and gone over in class.
What were the strong points of the course? |
- Assignments are helpful, forces us to catch up.
- Can imply things to practice.
- Challenging and interesting.
- Excellent lectures.
- Four lines are certainly not enough to describe. this course exercises a highly broad spectrum of programming skills, makes student think about efficient algorithm design and storage complexity (on a ~300kb MIPS machine!) as well as opens students' eyes on how the tools they use everyday actually work behind the scenes.
- Good focus on conceptual understanding. Excellent presentation of course materials.
- Good introduction to multithreaded programming.
- Good lectures.
- Interesting and relevant material. Very helpful to understand how operating systems work. Ties all of the prerequisites nicely together drawing on knowledge from them all and demonstrating their significance.
- Interesting, fun, difficult but not impossible.
- Interesting, helpful, applicable, very "hands on".
- Interesting.
- Interesting. Challenging.
- Learning most of what goes on behind the scenes that users don't have to worry about: virtual memory, file systems, I/O, time sharing, etc.
- Most of the interesting.
- Necessary knowledge for every CS undergrad, maybe.
- Never boring (until the last couple of topics). Use of piazza as a forum and quick responses.
- Organized.
- OS
- Programming.
- Taught me how to program in C better.
- Very advanced level of work.
- Very detailed coverage of operating systems. I like how the material was current and relevant to industry, from my experience at least. Assignments were very interesting and allowed for creativity. They also gave room to go above requirements, which I really liked.
- Very hands-on with assignments. Good depth in terms of material.
- Very helpful introduction to low-level and concurrency concepts.
- Very interesting to learn how an OS is built and operated.
- Very well organized. Assignments were well defined.
What were the weak points of the course? |
- A bit too much material.
- A little bit too challenging.
- Assignments require a lot of time, with a full course load it was difficult to finish everything.
- Assignments take a long time to complete.
- Assignments take up too much time.
- Assignments too large, too vague, due too soon.
- Assignments were a tad long and seriously put people in danger if not done early enough.
- Difficult assignments.
- Difficulty/length of assignments.
- Everything other than OS.
- Heavy work load.
- I learned a lot.
- Information relative to assignments is discussed in class way before assignment is done (especially A2 and A3).
- Lack of examples.
- Last few topics were not as enthusiastic. Some filesystem material may have been helpful to know while doing assignment 2 (open/close/read/write). Went over A3 material way too early in the term.
- Less material/aids for assignments.
- More guidance for assignments.
- More material should be covered.
- More slip days.
- Need more lecture time and cover more points.
- Not enough time to cover the second half of the course, i.e.: assignment 4 & 5 are not assignments. Should probably consider splitting into two courses so it become an 8-month course.
- One thing to consider, which is more of a suggestion than a weak point indicator is bringing in examples from existing open-source OS such as Android or BSD (that, however is just my own personal opinion).
- Piazza.
- The lecture material does not help assignments. Assignments may be too abstract on what to do.
- Too much material to 'memorize' from slides.
- Too much new material was introduced.
- Too much of the assignments were very unrelated or uncovered by course lectures or material.
- Too much source code in the OS 161 to be covered during the assignment. The instructor could help in generalizing the source code.
- Too much work, and the midterm was a disaster.
- Too much work, hard to start coding very stressful assignments, hard midterm.
- Too much workload.
- Very time consuming assignments.
Was the class atmosphere affected either positively or negatively by attitudes of the instructor or students, e.g., with respect to gender, race, ability, appearance? Please explain. |
- Class atmosphere was affected positively by attitudes of the instructor. Instructor talks in a friendly manner to students.
- Excellent atmosphere. Class is of comfortable size, and it is always a pleasure to attend. Very relaxed and casual, but still academically disciplined and focused.
- Fine.
- Fun and approachable professor made it easy to ask questions. Personality of prof invoked lots of class comments (most I've seen in a CS course!).
- Generally good.
- Great class atmosphere.
- He was open to questions from everyone -- even those who had difficulty with asking in English (he did a good job at determining question and responding).
- Instructor brings a jolly atmosphere to the class.
- It was all good.
- Long assignments, uninteresting material.
- No, it was all fine.
- Positive.
- Positively.
- Positively.
- Some people ask irrelevant questions: this takes a long time.
- Some people play video games in the first row: very distracting.
- Some students know better and might ask advanced questions others don't understand.
- The classroom atmosphere was positively affected as Dave answered most if not all questions from students with positive attitude even if students asked stupid questions.
- This one student asks too many questions and makes unnecessary comments.
- Very enjoyable atmosphere. Need more female students though.
Any other comments, e.g., class size, suitability of room, noise level, etc. |
- Being in closed room (no windows) is a bit depressing.
- Class size is just right, suitability of room is good, and noise level is just right.
- Everything was okay.
- Fine.
- Great class size, quiet, OK room. Chairs uncomfortable.
- Noise level low.
- Positive.
- Sometimes very noisy at back (people chatting).
- This prof is the best I've had so far!!! Good job, Dave!!!
- Warn students before playing the ''It's a trap'' video. I can't get it out of my head.