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: 42 / 82 (51%)
Evaluate the organization and coherence of the lectures. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
32 | 7 | 2 | 1 | | |
76% | 17% | 5% | 2% | | |
At what level were the instructor's explanations aimed? |
Too high | Somewhat too high | Just right | Somewhat too low | Too low | No opinion |
1 | 10 | 23 | 7 | 1 | |
2% | 24% | 55% | 17% | 2% | |
Evaluate the instructor's treatment of students' questions. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
25 | 15 | 1 | 1 | | |
60% | 36% | 2% | 2% | | |
Evaluate the effectiveness of the instructor's visual presentation (blackboard, overheads, etc.). |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
28 | 13 | 1 | | | |
67% | 31% | 2% | | | |
Evaluate the effectiveness of the instructor's oral presentation. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
32 | 9 | 1 | | | |
76% | 21% | 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 |
18 | 13 | 2 | | | 8 |
44% | 32% | 5% | | | 20% |
Did you find the course interesting? |
Very Interesting | Interesting | Not interesting | No opinion |
26 | 16 | | |
62% | 38% | | |
Evaluate the overall effectiveness of the instructor as a teacher. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
28 | 12 | 2 | | | |
67% | 29% | 5% | | | |
What proportion of lectures did you attend in this course? |
90-100% | 75-90% | 50-75% | 25-50% | < 25% |
37 | 4 | 1 | | |
88% | 10% | 2% | | |
Was the assigned work (assignments, projects, etc.) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No work assigned | No opinion |
30 | 11 | 1 | | |
71% | 26% | 2% | | |
Were the printed notes (if any) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No printed course notes | No opinion |
20 | 16 | | 6 | |
48% | 38% | | 14% | |
Was the required textbook (if any) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No text required | No opinion |
8 | 5 | 4 | 23 | |
20% | 12% | 10% | 58% | |
Did the course introduce an appropriate amount of new material? |
Too much | Somewhat too much | Okay | Somewhat too little | Too little | No opinion |
| 17 | 23 | 1 | | |
| 41% | 56% | 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 |
9 | 21 | 11 | 1 | | |
21% | 50% | 26% | 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 |
| 4 | 12 | 15 | 11 |
| 10% | 29% | 36% | 26% |
Evaluate the instructor's treatment of students' questions. |
- [Satisfactory] Sometimes spent too much time explaining seemly obvious questions asked by some students
Evaluate the effectiveness of the instructor's visual presentation (blackboard, overheads, etc.). |
- [Excellent] Drawing and highlighting on the slides really helped visualize what's going on. I think in some cases it might help if you had more white space to work with, sometimes the slides can get cluttered after a drawing
- [Excellent] I like the combination of using powerpoint as well as the drawings of diagrams used to explain the concepts.
- [Excellent] Like the colour coding thing for linked list
- [Excellent] loved the memory block, room block analogy.
Evaluate the effectiveness of the instructor's oral presentation. |
- [Excellent] The analogies and examples were fun and memorable, also made a lot of sense!
- [Excellent] You are very good at teaching. Thank you kindly for everything!
Was the instructor available for help outside of class? |
- [Most of the time] Wish there were more time slots for office hours. Line up was sometime too long
Was the assigned work (assignments, projects, etc.) helpful in learning the course content? |
- [Helpful] but stressful.
- [Very helpful] But also very hard :(
Were the printed notes (if any) helpful in learning the course content? |
- [Helpful] not up to date though, prof keep changing content makes it hard to follow
- [Very helpful] I think there were printed notes available, but unsure. If there were, I did not purchase them, so the judgement was based on the Slides posted online.
Was the amount of assigned work required for the course appropriate? |
- [Too much] way too much for 2% assignments
On average, how many hours per week did you spend on this course outside of lectures? |
- [> 15 hours] Assignments were brutal but very helpful, but very brutal!
- [> 15 hours] Had to spend more than 36 hours on the assignments in later course to finish them.
- [> 15 hours] More like 30 hours on some assignments
- [> 15 hours] the last couple assignments literally took like 25 hours
- [7-10 hours] Assignments were fun but sometimes time consuming
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. |
- Concepts were well explained through out the course
- effective lectures and explaining every concept with understandable analogies.
- engaging, fun
- Everything! You were so kind, thank you so much!
- Explains material very well, answers questions in class clearly
- explanation makes sense
- fun meme
- Good explanations of the ins and outs of the nuances of computer science. Informative asides and stories. Gives a thorough understanding of fundamentals.
- He's funny i guess
- I feel his teachings skills are very good. The energy and liveliness he has is something a lot of instructors lack and is something that makes the course interesting. His explanations and examples are also very unique and helpful.
- I really appreciate how you went out of your way to keep us entertained when learning the material. The passion you show when teaching us is all the more impressive when it is taken into account that you have to do this for multiple sections in one day. The enthusiasm you show on a daily basis is truly inspiring.
- Introduce materials well
- Overall he is very captivating and attending his lectures made this course very enjoyable. He makes bad dad jokes, but is very funny overall which makes the pain of the course a little bit better.
- Overall teaching was well done.
I genuinely enjoyed this course the most this term.
- Presentations
- Questions about course content asked during lectures and on piazza were explained well, and understandable analogies were often used to make new concepts easier to understand. I also liked Dave's sense of humour that kept the lectures more alive and fun to attend.
- Really personable made 1.5 he lectures fun. Always stopped for questions and took the time to survey students on course exams, assignments etc
- The introduction of concepts and C as a programming language was done very coherently and allowed the learner to get a good understanding of the ins and outs of C.
- The way he taught in class, made students want to come and learn, I know it made me come to as many classes as I could because it was fun.
- The writing and drawing diagrams directly on the ppt slides really helped me to make sense of the concept, visuallizing it in mind.
I also appreciated Dave using real life examples to demostrate concepts like sorting books on a bookshelf, the dirty cloth pile analogy for the heap, etc.
Dave also gives us lots of chance to ask questions during class, which was very effective to help students resolve certain points they don't understand on the go.
The code example walk throughs especially rephrasing the code into plain English were helpful too. i could write notes besides the code so i don't have to spend too much time try read and translate a big pile of code.
Overall, Dave is amazing at explaining and demonstrating seemingly intimidating concepts. Guy makes great jokes too (sometimes really bad but the bad ones are real good too lol)
- This instructor does a very good job explaining topics. He makes sure everyone understands. He also uses fun and illustrative examples to help explain topics.
- Very engaging lectures, provides content (for the most part) at a very good pace, good humour to keep class engaged
- Very fun lectures
- Very well structured lectures, logical explanations, and great analogies.
Please make constructive comments about anything in the instructor's technique or style that could, in your opinion, be improved. |
- Could he teach better than this? idk.
- Drink diet coke
- Even more memes.
- Excellent
- I can't think of anything here.
- I do not have any comments to improve the technique or style.
- I found the assignments to be overwhelming a some point where it took me long amounts of time to finish questions
- I remember after the midterm, students were complaining about it because it was too long and the average was quite low, and Dave made a comment around since we're in Fall term, the students are usually a bit weaker because they're not in CS or that they've failed CS136 before. I knew he didn't have bad intentions and it didn't personally hurt my feelings but i bet there were students unhappy about it. It wasn't a constructive or helpful comment to students, and would potentially hurt their feelings. I also don't think it's fair to call this group the "weaker ones" just because we're not as well trained in CS as those who are in CS major. Everyone comes into UW from different levels, some completely new to CS, and everyone has their own struggle, the comment could really ruin someone's confidence and determination.
- I wish we worked with more examples in seashell when new concepts were introduced instead of just showing them on the slides.
- It's fun that you joke about drinking a lot of Coke Zero (and from what I've seen you actually do), but I wish for the sake of your health you could drink less. They advertise it as a healthier option since it has no sugar, but who knows what consuming that much artificial sweeteners daily will do to your body?
- Maybe a few more clicker questions during the later portions of the course? I felt like there were more clickers during the first half of the course. A lot of the times the clickers were more thought provoking and the detailed explanation of the correct answer helped me solidify my understanding of the related concepts.
- More TA during lab hours or more lab hours
- N/a
- N/A
- No thing can be improved in terms of lectures
- NULL
- Perhaps prepare the diagrams drawn on by hand during lecture beforehand so they are a bit easier to view as drawings could be slightly messy.
- Sometimes the humour can be a bit distracting (but overally mostly a positive). Also sometimes class discussion goes on for too long and cuts into lecture time a bit too much.
- Sometimes when asking dave questions, he made me feel dumb. He could show more patience and willingness to help :)
- Would like to see more live coding/demonstrations of code
What were the strong points of the course? |
- A lot of content was learned, and assignments thoroughly test understanding of the concepts.
- Amazing assignments.
- Everything
- Excellent lecture
- Heap Heap Heap.
- I really learned a lot
- I think the strong parts of this course was the later parts - i.e. section 5 and beyond. I really enjoyed the idea of using pointers, arrays and linked data.
- Interesting and useful concepts, really challenged students to try and do stuff on their own to test their understanding.
- Intro to elementary data structs
- Learning and using pointers in a variety of ways
- lectures
- Overall I highly enjoyed Dave's teaching style as he always had a sense of humour and provided good examples whenever they were needed to further explain lecture content. I also enjoyed doing the assignments, even-though they sometimes took up the whole weekend. They really helped me apply what was being taught and were a great learning tool.
- Piazza question answering
- The content was useful
- The strong points of the course were the lectures, in which the instructor presented the new information very effectively
- The teaching method was very well done by Dave.
- The topics introduced in this course, I feel, enabled me to understand a wider range of topics in computing. It prepared me to absorb more advanced topics much easier.
- useful in learning the intro to computer science
What were the weak points of the course? |
- Algorithms started to become confusing, pointers were initially a hard concept to grasp.
- assignments
- Assignments were very long but also necessary to really teach the content. Would be nice if there was something like lowest assignment dropped.
- I feel like this course could be taught majorly without any Racket content. This is not really a weak point.
Personally, the Racket content only served to show that C has an entirely different paradigm.
- I think having a mini-lecture about how to properly test programs would have been helpful at the start of the course. For example, is there a general framework that we can use to think of what things we might need to test? As sometimes on the assignment I will have thought that I have tested very thoroughly but handmarking suggests otherwise. Another point is that I think there could have been more emphasis on how to work through problems more quickly as I felt that was a disconnect between the assignments and midterm. The assignments didn't really prepare us for the speed that would be needed to perform well on the midterm. Maybe a practice problem set could have helped to better prepare us for the type of question found on the midterm, rather than just looking over the assignments again.
- I think that there was too much time focused on C syntax, and learning about early data types such as ints, and chars. I understand that it is important to understand this, but I felt that there was too much time spent on learning this.
- N/a
- None.
- NULL
- really heavy towards the end of the term, longer assignments during busier times
- Recapping 135 material
- TA's inability to answer questions correctly, lost a lot of assignments marks because I was essentially misguided by them.
- The assignments were interesting but really, really, really long and sometimes a nightmare to debug even with the error message hints from Seashell.
Maybe the instructors could give a list of common error messages and how students commonly screw up for those errors to appear? It will really help students to make educated guesses.
- The assignments. I felt some of them were too long and too ambiguous at times. These assignments did help me learn, but I feel if the questions were less ambiguous it would be much more beneficial. A good example of a questions is A9Q3. I am not saying I require the pseudocode, but using diagrams and examples at times to explains questions would sometimes be helpful.
- things get much more complicated in module 10 11 12, and this happened so fast
- Too much assignment;
I had to sacrifice my sleep and eating schedule to finish the assignments.
REDUCE ASSIGNMENTS PLEASE
- Too much time on basic stuff
- Wording and construction of midterm
- Working with memory near the middle-end and the amount of content near the end of the course.
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. |
- A positive atmosphere was always there with Mr.Tompkis there.
- A-ok.
- Class atmosphere was affected positively by attitude of instructors.
Race/gender/appearance did not have any affect.
- Dave was funny but when students asked him questions in class he was quick to call them out on not paying attention on a previous slide, even when the student might be asking for clarification.
- I enjoyed being in the class. Dave's attitude was always good, right from the start he encouraged participation. There were always jokes being cracked from Dave and also some students. The movie at the start of every class was a little bonus treat. Students were very vocal about their concerns and Dave really listens to them.
- I think it was very positive. The instructors were very friendly, and very good at answering questions.
- n/a
Teacher was fair.
- No
- Nothing in particular.
- positive
- Positive, mentioned the importance of being respectful with regards to gender race appearance etc.
- Positively
- Positively, he was extremely exclusive.
- Positively.
- The class atmosphere was very positive
- Very fun and comfortable environment
Any other comments, e.g., class size, suitability of room, noise level, etc. |
- Classroom was fine.
- For the assignments, I wish we had more examples to understand what the question wanted. I can safely say that for some very easy questions 1. I lost an hour or two trying to understand what the question wanted in the first place. 2. Sometimes leading to me making a wrong solution simply because I misunderstood what the question wanted.
- I liked this class size as even if I am sitting in the back, I can hear the instructor well, and see the powerpoint notes well.
- My favorite class I've had so far. Dave is definitely my favorite instructor thus far.
- N/a
- no
- Nope.
- Nothing in particular.
- NULL
- Pls make midterm focus less on basic concepts about explaining terms
- Very great!
- WHY ARE THE CURTAINS NEVER OPEN ITS SO DARK AND HUMID