Course Description:
CS 136: Elementary Algorithm Design and Data Abstraction
This course builds on the techniques and patterns learned in CS 135 while making the transition to use of an imperative language. It introduces the design and analysis of algorithms, the management of information, and the programming mechanisms and methodologies required in implementations. Topics discussed include iterative and recursive sorting algorithms; lists, stacks, queues, trees, and their application; abstract data types and their implementations.
Dave's Comments:
Teaching Evaluations:
Number of Respondents: 60 / 89 (67%)
Evaluate the organization and coherence of the lectures. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
38 | 20 | 2 | | | |
63% | 33% | 3% | | | |
At what level were the instructor's explanations aimed? |
Too high | Somewhat too high | Just right | Somewhat too low | Too low | No opinion |
2 | 7 | 49 | 2 | | |
3% | 12% | 82% | 3% | | |
Evaluate the instructor's treatment of students' questions. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
37 | 19 | 4 | | | |
62% | 32% | 7% | | | |
Evaluate the effectiveness of the instructor's visual presentation (blackboard, overheads, etc.). |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
42 | 12 | 6 | | | |
70% | 20% | 10% | | | |
Evaluate the effectiveness of the instructor's oral presentation. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
46 | 10 | 4 | | | |
77% | 17% | 7% | | | |
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 |
16 | 14 | 8 | 5 | | 17 |
27% | 23% | 13% | 8% | | 28% |
Did you find the course interesting? |
Very Interesting | Interesting | Not interesting | No opinion |
26 | 32 | 2 | |
43% | 53% | 3% | |
Evaluate the overall effectiveness of the instructor as a teacher. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
42 | 12 | 5 | | | |
71% | 20% | 8% | | | |
What proportion of lectures did you attend in this course? |
90-100% | 75-90% | 50-75% | 25-50% | < 25% |
45 | 14 | 1 | | |
75% | 23% | 2% | | |
Was the assigned work (assignments, projects, etc.) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No work assigned | No opinion |
22 | 33 | 3 | | 2 |
37% | 55% | 5% | | 3% |
Were the printed notes (if any) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No printed course notes | No opinion |
18 | 24 | 2 | 13 | 2 |
31% | 41% | 3% | 22% | 3% |
Was the required textbook (if any) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No text required | No opinion |
5 | 15 | 10 | 7 | 23 |
8% | 25% | 17% | 12% | 38% |
Did the course introduce an appropriate amount of new material? |
Too much | Somewhat too much | Okay | Somewhat too little | Too little | No opinion |
2 | 19 | 35 | 3 | | |
3% | 32% | 59% | 5% | | |
Was the amount of assigned work required for the course appropriate? |
Too much | Somewhat too much | Okay | Somewhat too little | Too little | No opinion |
10 | 29 | 21 | | | |
17% | 48% | 35% | | | |
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 |
| 13 | 22 | 14 | 11 |
| 22% | 37% | 23% | 18% |
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. |
- Best prof ever.
- Class explanations. Cheerful attitude. Helpful whenever possible.
- Clear explanations. Always keep the class involved in the lecture. Speed is just right.
- Clearly explains content. Interesting teaching style.
- Dave included lots of metaphors and analogies that are not only amusing, but also helpful in understanding and retaining information. He has a welcoming nature that seems to tolerate students asking lots of questions in lecture. He also connected material to the real world.
- Dave is an excellent instructor. He is funny and great at teaching stuff. I would like to take his courses again if he teaches CS 200 classes.
- Dave is hilarious and good at instructing the material.
- Dave keeps everyone interested. It's hard to dose off with his personality.
- Even though the course is hard for me, Dave made his lectures as enthusiastic and interesting as he can for better understanding to students.
- Everything. I looked forward to his lecture every day. I found it unfortunate that we only had two lectures a week: wish he taught all my classes. Best of luck with your career! You are awesome.
- Excellent explanations, great examples and jokes. Keep it up!
- Explain materials clearly, but when it comes to assignments, I still don't know how to do it.
- Explained the content very well. Made the class very interesting and worth looking forward to have the yellow boxes.
- Explains concepts very well/thoroughly.
- Fantastic prof, crystal clear, shows interesting examples every lecture, so easy to follow, made me love CS!
- Funny, enthusiastic, well organized.
- Funny.
- Good for everything.
- Good lecturer.
- Good oral presentation, helpful answers for in-class questions.
- Good teaching skills and strategies. Easy to follow lectures.
- Great teaching style.
- He is hilarious and engaging. The prof makes the class interactive and interesting.
- Humour.
- Humourous enough. Examples are very interesting and easy to understand.
- I like pictures. Interesting compared to other instructors. Enthusiastic.
- I think that Dave's teaching skills are very adept. He is probably the best professor I've had in my 3 semesters here. Everything he teaches is done in a way that maximizes student understanding, and it's rarely boring.
- Interesting examples and appropriate voice make the course more relieving.
- Just being awesome. Explanations were clearly explained. Did not feel like I was ever asking a stupid question.
- Keeping course material interesting (i.e., not boring).
- Not boring, I'm always paying attention. Stresses important points of course content so we don't get mixed up. Pretty much everything.
- The most important thing is that his lectures are not boring. You won't fall asleep.
- Tries to make the course fun.
- Using examples to explain some complex content.
- Very cute. Very good. Very impressive. One of the best profs in UW.
- Vivid examples. Good explanation. Good connection with real life.
- You try to make the course as interesting as possible.
- Your analogies kept me from falling asleep.
Please make constructive comments about anything in the instructor's technique or style that could, in your opinion, be improved. |
- Absolutely nothing. His lectures were so fantastic that I showed up to the other two sections so I could ask better questions in lecture and office hours. Loved the lecture intro videos.
- Already done well.
- Amazing professor, hoping to take more courses with him.
- Digress too much sometimes (ran out of time at the end).
- Everything is fun.
- He is good. I'm just too stupid.
- He seems to be too welcoming to all questions, even if it slows the pacing of the course significantly.
- I can't think of anything. See? He's just that good.
- I would have liked assignments that were more application to the real world / interacted more with the real world.
- I would have preferred more examples done as opposed to discussing a lot of off topic questions.
- Keep being awesome.
- More forceful. Groups of people tend to talk. I would call them out.
- Nah: not really needs to improve I'd say.
- Nil.
- Plan the time required for each module ahead to avoid rushing through last few modules.
- Please draw more with blackboard instead of just talk. Sometimes feel like you don't want to answer questions after class and feel pressured to leave asap. Embarrassed to ask more questions.
- Promise me you'll never change.
- Provide more applications of techniques learned in class.
- Should've played more and more interesting videos before lecture starts.
- So much better compared to other professors.
- Sometimes explains something too fast, and sometimes spend too much time on one thing.
- Sometimes it is better not to answer all of the questions in class.
- Time management, always hears 'short on schedule', and too much students commenting during lecture.
- Would be great if you were available out of class more often. You always had a huge lane in your office. More office hours please.
- You need to be careful of your 'word choice' when you speak. Sometimes the words you used are offending. You go too slow on the course material.
What were the strong points of the course? |
- Aiming you to the right direction of programming. Introduce to the programming world (Actual).
- Basic introduction to the CS world. Useful.
- Detailed.
- Funny, useful.
- Good material.
- Helped understand low level programming. Solid foundation for future programming.
- Helpful lectures.
- I don't see any.
- I learned so much new material and interesting 'real world' problems in CS.
- Information on the slides were both informative, helpful, and succinct. The course was engaging and interesting.
- Interesting material, satisfying assignments.
- It was interesting; likely this was my most intriguing course this term. When they didn't make me feel like pulling my hair out, I liked the assignments.
- Kind of challenging at some points. Assignments are really time consuming.
- Learn a lot.
- Mostly interesting.
- Teach programming skills.
- Teaches A LOT of material
- The instructor.
- The prof.
- What I learned seemed useful.
- Writing code.
What were the weak points of the course? |
- Assigned work is really hard at some point.
- Assignments too long and tedious.
- Compare with last term CS 136. The standard of this term is much lower. Actually we didn't learn ADT thing so far. I am wondering how can I survive in CS 246 in the future?
- Difficult midterm. Assignments took too long.
- Have to learn things outside the material taught in class.
- No marmoset release tests. No assignment solution.
- No sample solution for assignments.
- No sample solutions. Even though I know the solution should be processed for the next term, but it's hard to find time to go over the question with the TA/Prof.
- None.
- Not enough examples of applications of course material. Assignments difficult with vague instructions.
- Not that many.
- Please make notes available at least 1-2 days before lectures. I want to print the notes so I could jot down notes in lectures.
- Proceed a bit too fast.
- Should set CS 136 as the introduction CS course instead of teaching Racket.
- Somehow, there are too much material, and for that the assignments are usually hard examples and time consuming a lot. There are not that much examples.
- Sometimes abstract feeling. Can be difficult to think about how it is.
- Sometimes it is a little bit difficult.
- Sometimes too rush.
- The course.
- The order of the course notes are not that clear.
- There seems to be a lack of practice questions.
- There was a lot to learn. Sometimes assignments were either too long or a bit too difficult.
- We went through the material a little slow so I worry about missing some points and learnt less than previous classes. Also, it would be better if all of the slides are posted at the beginning.
- Weird rules such as must use ? Operator instead of if statement.
- You learn & you get screwed.
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 epic. Dave was really engaging and got everyone to participate.
- Everyone friendly, occasionally groups of talking people get a bit loud.
- Fine.
- Good.
- Good.
- Great.
- In general, I love his lectures and the atmosphere of the class.
- No effect at all.
- Ok.
- Positive.
- Positive.
- Positively :)
- Positively.
- Positively.
- Positively.
- Very positive and enthusiastic about learning.
Any other comments, e.g., class size, suitability of room, noise level, etc. |
- Class size: good, suitability of room: good, noise level: good.
- For sure small classes are better. The size of class is good, but it could be better.
- Good.
- Great.
- Great.
- I don't like the fact that the classroom is underground. Wasn't very noisy.
- I love machine gun!
- I never comments on these evaluations, but you're just so good that I had to. You definitely picked the right thing to do when you grew up.
- I'm fine with it.
- Just okay.
- Love how Dave always shares cool YouTube videos before lecture.
- No complaints here.
- Room is not that good.
- Satisfactory.
In addition to the significant changes to the notes, we also changed the assignment structure to a more 'traditional' (CS 135) format with public and private test cases (no tokens), some questions were hand marked for style, and we posted solutions to some problems. The new 'twist' I added to the assignments was known as a "second chance", where if students performed poorly on the secret tests, some of the trickier test cases were disclosed and then they were given a second chance to fix their assignments.