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: 58 / 89 (65%)
Evaluate the organization and coherence of the lectures. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
52 | 5 | 1 | | | |
90% | 9% | 2% | | | |
At what level were the instructor's explanations aimed? |
Too high | Somewhat too high | Just right | Somewhat too low | Too low | No opinion |
2 | 4 | 52 | | | |
3% | 7% | 90% | | | |
Evaluate the instructor's treatment of students' questions. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
49 | 8 | 1 | | | |
84% | 14% | 2% | | | |
Evaluate the effectiveness of the instructor's visual presentation (blackboard, overheads, etc.). |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
46 | 10 | 2 | | | |
79% | 17% | 3% | | | |
Evaluate the effectiveness of the instructor's oral presentation. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
55 | 2 | 1 | | | |
95% | 3% | 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 |
29 | 9 | 6 | | | 14 |
50% | 16% | 10% | | | 24% |
Did you find the course interesting? |
Very Interesting | Interesting | Not interesting | No opinion |
37 | 20 | 1 | |
64% | 34% | 2% | |
Evaluate the overall effectiveness of the instructor as a teacher. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
55 | 2 | 1 | | | |
95% | 3% | 2% | | | |
What proportion of lectures did you attend in this course? |
90-100% | 75-90% | 50-75% | 25-50% | < 25% |
46 | 9 | 3 | | |
79% | 16% | 5% | | |
Was the assigned work (assignments, projects, etc.) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No work assigned | No opinion |
38 | 18 | 1 | | 1 |
66% | 31% | 2% | | 2% |
Were the printed notes (if any) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No printed course notes | No opinion |
34 | 13 | 2 | 4 | 4 |
60% | 23% | 4% | 7% | 7% |
Was the required textbook (if any) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No text required | No opinion |
13 | 12 | 5 | 13 | 15 |
22% | 21% | 9% | 22% | 26% |
Did the course introduce an appropriate amount of new material? |
Too much | Somewhat too much | Okay | Somewhat too little | Too little | No opinion |
4 | 16 | 37 | 1 | | |
7% | 28% | 64% | 2% | | |
Was the amount of assigned work required for the course appropriate? |
Too much | Somewhat too much | Okay | Somewhat too little | Too little | No opinion |
3 | 22 | 32 | 1 | | |
5% | 38% | 55% | 2% | | |
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 |
| 11 | 28 | 11 | 8 |
| 19% | 48% | 19% | 14% |
At what level were the instructor's explanations aimed? |
- [Just right] I appreciate having some information intended for advanced students and also answering questions in class.
- [Just right] I felt as though certain topics were rushed that were important such as pointers.
Evaluate the instructor's treatment of students' questions. |
- [Excellent] If my English is better, I should have had a fun time chatting with professor Dave : )
- [Good] sometimes you may skip some invaluable question from individuals to save rest students time.
Evaluate the effectiveness of the instructor's visual presentation (blackboard, overheads, etc.). |
- [Excellent] I agree with you that it would be nice to do live demo's during class, but I understand the reasons why that's difficult. Considering that you did what you could without demos, the slides and blackboard were excellent nonetheless. Drawing on the slides was extremely helpful.
- [Good] I liked the examples Dave did on the board! They were good to follow.
Evaluate the effectiveness of the instructor's oral presentation. |
- [Excellent] I really liked when Dave would repeat a topic so for example he would go over an example on the board slowly and then once he was done the example, he would do a quick recap which I found very helpful just in case I missed a point in the example.
- [Excellent] needs more memes
Evaluate the overall effectiveness of the instructor as a teacher. |
- [Excellent] Would love to have Dave teach all of my CS courses!
Was the assigned work (assignments, projects, etc.) helpful in learning the course content? |
- [Helpful] Some assignments were too difficult and long.
The assignments towards the end were long and challenging.
- [Very helpful] Some assignments feels like busy work. But the content are solid and not difficult.
Were the printed notes (if any) helpful in learning the course content? |
- [Very helpful] I really liked being able to follow along in the lectures on the printed notes and being able to add my own comments to the printed notes!
- [Very helpful] Very good notes, but some were outdated since Dave changed a few in the term. I liked the new slides that were added, but unfortunately they weren't in the paper courseware notes.
Was the required textbook (if any) helpful in learning the course content? |
- [Not helpful] Even though the textbook was recommended, I found that I used the course notes much more. (If I recall) the textbook used a different notation for things, which hindered it's effectiveness.
Did the course introduce an appropriate amount of new material? |
- [Somewhat too much] Certain topics such as pointers and doubly linked lists felt a bit rushed.
Was the amount of assigned work required for the course appropriate? |
- [Okay] If it were any more repetitive I'd have said a bit too much.
- [Somewhat too little] I think the course work was ramped up near the end, but definitely doable.
On average, how many hours per week did you spend on this course outside of lectures? |
- [> 15 hours] Spent about 25 hours a week
- [3-6 hours] Just the assignments.
- [7-10 hours] Dave had said that in order to do the assignments we needed to understand and master the content from the lectures. From assignments 1-7 I found the assignments were doable without looking at the notes. Assignments 8-10 heavily required that. If the aim is to have the mastery of the course notes, maybe beef up the assignments 1-7.
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. |
- A lot of appropriate humors, very passionate about the course materials, and excellent visual aids.
- Awesome prof! Super approachable and lectures are very clear. His examples are incredibly helpful and he's always happy to answer questions.
- Dave is super passionate about teaching and computer science and it makes us get excited about the course too! He has taken a lot of hard concepts and really broken them down to smaller concepts.
- Dave is very inspiring and he tried to engage students as much as he can. He also explains the concepts fairly well and keep us entertaining :)
- Dave tompkins is awesome!
- Everything is awesome! Best prof ever!
- Examples are funny and easy to understand.
- Excellent instructor whom I wish would teach all of my CS courses. Very knowledgeable and enthusiastic in his work!
- Explaining concepts, making examples, maintaining students' attension
- Explaining things and using weird analogies that somehow make sense. Sometimes the analogies are really stupid but hey, it works so I appreciate that.
- Explanations were very clear, classes were engaging, overall the instructor is as best as a student can hope to be
- Funny joke, funny guy.
- Funny, being involved, great at catching and maintaining our attention.
- good energy and got the students' attention always. love the 5min movie segments
- Great job at keeping students engaged, especially during more tough and boring materials
- He has made the course very interesting
- he reads the evaluation every term, and he does change the course as some good suggestion provided by students.
- He tries to engage the class with discussion and jokes. It's good. Also the taco bell and cooking analogy where you compare cooking with a recipe and without a recipe when given the ingredients was a super underrated analogy.
- Instructor was engaging, funny, and overall just a really great prof. Made this course super enjoyable.
- Interesting
- Just about everything. Love you Dave!
- Linking the abstract knowledge to daily like to make it easier to understand.
- Love the examples
- Makes the course extremely engaging through humor and interesting analogies.
- Makes the course interesting
- makes the course interesting
- Making the lectures interesting.
- more examples
- Sense of humor and enthusiastic when teaching
- Teach the basic C with some good practices very well:)
- the oral presenting is wonderful!
- There was a lot of assistance outside of the classroom. With Piazza, tutorials, and office hours, it was hard to ever feel like something was impossible to understand.
- Very engaging and love the analogies. Also the five minutes of Wall-E really makes going to lectures something to look forward to.
- Very engaging, he makes you want to pay attention.
- Very entertaining
- Very good presentation, always enthusiastic during the class. Love the jokes and clearly explained the content
- You are really good at making analogies and giving real life applications as examples. I like that you make the course entertaining with jokes. It was really awesome that you drew on the slides with highlighters and stuff. You always try to make sure everyone understands the material rather than just regurgitates it and that's really valuable in an introductory course like this one. You're almost up to date with all of the relatable memes so keep it up
Please make constructive comments about anything in the instructor's technique or style that could, in your opinion, be improved. |
- assign your joke references as pre-readings so we can understand your old jokes in class
- Dave is amazing
- Dave is probably the most interesting prof i would've seen in UW.
- Don't try to include your political views. The clicker question that asked "How many electoral votes is Hillary going to win by?". That's kind of a loaded question. I know it's anonymous but you're the one who made the question. You're a strong influence to these students because you're a great professor. But you are just that, a professor, not a politician.
- For the assignments make the students test their own code. I got into the habit of just writing the whole assignment on seashell and just using the provided tests at the end and praying it worked. And I also doubt many students went above the simple tests to check edge cases. Other then that I really enjoyed enjoyed the course and Dave's teaching method :)
- Good teaching style. I enjoy the use of blackboard later on in the course. I would've liked more black board rather than sometimes drawing on the slide since it's within notes and kind of distracting.
- he could have done more live coding
- I cannot think of anything
- I found that sometimes the slides were changed mid-way in the course. This meant the paper course notes were not the same as the slides, and some of the information on those newer slides I really liked.
- I think the only thing that could be improved was that if we did have more live coding situations but it was explained why this wasn't always possible.
- More fresh jokes.
- nah he's pretty good
- Nothing.
- Nothing. He is the best cs prof ever.
- Perhaps give assignments that can be a little more reasonable (less time consuming)
- Please play videos longer before classes!!!!!!!!!
- since the tests are handwritten, maybe you can separate 10 assignment by 5 on computers and 5 on hand?
- Spending more time on more complicated aspects of the course, and less time being spent on the simple fundamentals.
- The structure of lectures were very good and easy to understand. 10/10
- Use more lighting saber please
What were the strong points of the course? |
- Fun class, good content. Some in depth explaination of the content that a c++ programmer like me didn't know before.
- Funny joke, funny guy.
- Great instructor and lots of time spent learning and developing the beginning modules
- I found CS136 to be an overall strong course and the material taught was well thought out in terms of what to teach and at what point in the term to teach it. Each topic seemed to flow to the next which I appreciated.
- Interesting yet useful
- Makes me don't want to miss any lectures.
- most of the things we learn are practical.
- Overall a very structured and well-taught course. Dave has a good sense of humor:) This is my favorite course of this semester.
- Overall, a wide range of concepts was taught in this course
- prepare us for CS 246 and introduce some advanced concepts pretty interesting
- strongly relative assignment improve the understanding of knowledge
- Taught a lot of useful concepts that are great for foundation & beginner interview questions.
- Teaches students theory of ADTs, sorting algorithms, and how to solve problems in C
- The clickers worth grades made going to class very engaging. I never really cared for the movie but I think some people might have. The slides are great and it's great that the exact copy of the lecture notes that are in the slides. Assignments are so easy to organize and submit with Seashell. Seashell is amazing.
- The course goes very deep into imperative programming, and places a lot of time on the fundamentals leading up to more difficult topics, this makes learning the harder stuff a lot easier!
- The course is well structured. The tutorials are great (despite low attendance) and the lectures are usually pretty good.
- The course's content was pretty interesting, and the assignments were never insanely hard
- The right amount of new material with the right amount of challenge in the assignments
- the Tompkins Family
- Useful contents
- Very interesting assignments, fun content for the most part.
- very interesting content, prof is awesome
What were the weak points of the course? |
- boring at times
- Course load is heavy
- Felt as though pointers were a bit rushed. Explanations were good but a bit more examples of code and actually coding with pointers in class would have been helpful. The more coding examples the better!
I also found the midterm to be too long and certain questions too difficult and complicated for a midterm where we have a small time span to do the question. If the midterm was shorter (less questions and/or less difficult questions) I feel as though I would have had time to check my answers and code and complete all questions.
- He drinks too much zero coke, not very good for his health : )
- I feel like we should teach students how to compile their C program on their own computer and some basic unix command during the first lecture...
By the way... Personally, I use some unix shortcuts on keyboard(such as Ctrl+E goes to the end of line) But Seashell uses Ctrl+E as running test... It becomes very inconvenient when I really just want to move to the end of line...
- more algorithms maybe
- Nah
- None really.
- None, very well structured course!
- Nothing.
- Other concepts could have added into this course like other types of trees
- Some of the extra stuff just doesn't feel important even though maybe it is?
- Sometimes assignments are too time consuming/ difficult
- Sometimes the assignment questions were challenging enough, but the amount of problems was just way too long. Also it would be nice if we could get a seashell error tutorial or something, seashell's errors got really annoying...
- Sometimes the assignments take too much time.
- sometimes the workload is a little bit too heavy.
- sometimes, the assignment is much more difficult than the tutorial material
- Somewhat heavy learning content on the last part of the course. (Chapter 9 10 11 12)
- Textbook integration. I think you should just get rid of it. I never read the textbook once.
- The assignment marking system.
- The end modules seemed very rushed and they were definitely the harder ones.
- The weakest points I found were the strings. I found that the topic was so integral on the assignments (arrays of them, etc.) but I felt the proportion of time spent on them was significantly smaller than other important topics like pointers. (Which understandably are important and confusing which is why so much time was put into them)
Also, sometimes the tutorials are a bit slow in uploading the powerpoints and the solutions to their respective sites.
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. |
- Atmosphere is positive among all time.
- Definitely positive.
- Funny joke, funny guy.
- good
- I don't understand this question.
- it is excellent
- No
- no
- None whatsoever.
- Nope
- Normal.
- Positive
- positive
- Positively
- Positively.
- Sometimes if I didn't understand something, felt like I was the only one since peopl who did Understsnd would raise their hand and ask even more in depth questions.
- stop with the social justice/identity politics. that's for women studies 101
- The class atmosphere is always great.
- The instructor is passion
- The instructor treated everyone with love! Not so much the students!!!!!!!!
- The same guy always answered the questions, and discouraged other people/girls to share their ideas. It would be nice to be encouraged to participate more
Any other comments, e.g., class size, suitability of room, noise level, etc. |
- dont like the classroom
- Drink less coke Dave!!!
- Drink less coke next time.
- Drink more water and less coke Dave, it's good for your health:)
- Funny joke, funny guy.
- good class size, might be a little too long. Hard to focus for 2 hours
- Great class !! :)
- I know some students are enrolling in this course with higher level knowledge(maybe), their question may also helpful for their own learning. However, if that question is not worth for most students' time, I think talk with them one-by-one will be better.
I am a student from second section, you may know what am i actual mean. ^ ^
- I liked the smaller class size.
- I zink Diet Coke tastes gooder than Coke Zero.
- it is ok
- just right
- N/A
- none
- nothing
- The class size was just right, the slides and laser thing was helpful, and the movie clip before class made me never late.
- You're awesome! Wishing you all the best, and I'll miss you as a prof :')