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: 51 / 85 (60%)
Evaluate the organization and coherence of the lectures. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
36 | 12 | 2 | | | 1 |
71% | 24% | 4% | | | 2% |
At what level were the instructor's explanations aimed? |
Too high | Somewhat too high | Just right | Somewhat too low | Too low | No opinion |
4 | 7 | 38 | | 2 | |
8% | 14% | 75% | | 4% | |
Evaluate the instructor's treatment of students' questions. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
30 | 16 | 4 | 1 | | |
59% | 31% | 8% | 2% | | |
Evaluate the effectiveness of the instructor's visual presentation (blackboard, overheads, etc.). |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
37 | 14 | | | | |
73% | 27% | | | | |
Evaluate the effectiveness of the instructor's oral presentation. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
40 | 9 | 1 | 1 | | |
78% | 18% | 2% | 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 |
28 | 11 | 3 | 1 | | 8 |
55% | 22% | 6% | 2% | | 16% |
Did you find the course interesting? |
Very Interesting | Interesting | Not interesting | No opinion |
26 | 22 | 2 | 1 |
51% | 43% | 4% | 2% |
Evaluate the overall effectiveness of the instructor as a teacher. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
42 | 8 | | 1 | | |
82% | 16% | | 2% | | |
What proportion of lectures did you attend in this course? |
90-100% | 75-90% | 50-75% | 25-50% | < 25% |
38 | 9 | 2 | | 2 |
75% | 18% | 4% | | 4% |
Was the assigned work (assignments, projects, etc.) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No work assigned | No opinion |
33 | 16 | 1 | | |
66% | 32% | 2% | | |
Were the printed notes (if any) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No printed course notes | No opinion |
26 | 17 | | 7 | |
52% | 34% | | 14% | |
Was the required textbook (if any) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No text required | No opinion |
10 | 13 | 9 | 16 | |
21% | 27% | 19% | 33% | |
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 | 27 | 1 | 2 | 1 |
8% | 31% | 53% | 2% | 4% | 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 |
11 | 17 | 22 | | 1 | |
22% | 33% | 43% | | 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 |
2 | 7 | 20 | 14 | 8 |
4% | 14% | 39% | 27% | 16% |
Evaluate the organization and coherence of the lectures. |
- [No opinion] Didnt go they are a waste of time so it doesnt matter how coherent they are.
Was the assigned work (assignments, projects, etc.) helpful in learning the course content? |
- [Very helpful] but toooooo much
Was the required textbook (if any) helpful in learning the course content? |
- [Not helpful] Textbook made content more confusing and the course would be better off without a required textbook
Did the course introduce an appropriate amount of new material? |
- [Too much] simply tooooo much
On average, how many hours per week did you spend on this course outside of lectures? |
- [3-6 hours] I found that I didn’t need to spend a lot of time before the last three weeks. The last three sections require extra hours.
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. |
- clear lecture
- Dave uses bricks to illustrate the concept of memory.
- Describing everything energetically. He knows everything and teach us in the best way.
- Explains concepts extremely well, Funny engaging and witty. Found it hard to not pay attention
- explanation of every concepts, especially the hard one
- Explanations are clearly.
- Funny prof makes lectures fun (I didnt go to any tho).
- great
- Great at explaining concepts. Has a strong grasp over subject matter
- Great sense of humor; interesting examples
- He did a really good job keeping the class interesting. He used great analogies to help us understand complex concepts, and did well explaining new ideas. I also liked the diagrams he would draw on the slides to give us a better visual of what's going on.
- His ability to keep me interested in the lecture, his commitment to detail, and overall presentation was amazing.
- I enjoy the assignment a lot, it is interesting and not too difficult, but it will be better if provide more tests exactly some complicated list/ array that hard to build by ourselves.
- I took CS136 a couple of semesters ago and dropped after the midterm. The course content has been changed a bit, it now has minimal Racket and is much easier to understand. Last time I didn’t go to any classes and this time I didn’t miss any. Dave really explains everything well.
- Instructor has a good sense of humor that always draw our attention during the classes.
- It is easy to understand the concepts that were explained by the instructor. The class is interested, and the setting of assignment is pretty helpful for understanding the concepts
- let this course interesting
- make students easy to understand
- Making the lectures engaging and compelling
- presentation, make lectures interesting
- the instructor presented the materials remarkably. This was the first course that I never missed a class, just because of how good he presented the material.
- the metaphors are interesting and easy to remember.
- Using real life scenarios to explain certain concepts
- Very engaging and explains concepts in memorable ways that are easy to understand by using helpful real world analogies.
Please make constructive comments about anything in the instructor's technique or style that could, in your opinion, be improved. |
- Can we have more time to do the assignments?
- could give us more advice about exam, like what kinds of questions including in the exam(eg. multiple choice, correction...)
- I do prefer we could have some example of picture about the stack or memeory: I know that instructor drawed couple time in the class, but since they are not in the course notes, make me hard to review, and there is lots in the exams.
- i really think everything is good
- I would like to see more code examples. Not prewritten ones on the slide, but actually going to Seashell and writing the code. This way, I can kind of see the thought process of going through a question and finding a solution.
- More choices of the movie at the beginning of the lectures
- N/A
- None.
- Nothing in particular.
- Nothing, he's good
- Perhaps when introducing algorithms, use a computer simulator, not only for sorting algorithms but other algorithms as well.
- The movie played at the beginning of each lecture is very annoying/loud, especially because the instructor shuts down any conversation before class starts.
- Use the lightsaber more often
- we could've spent more time on the last three sections.
What were the strong points of the course? |
- Can really learn the things about the big idea of the programming works
- Details, ability to keep you interested, clarity, through understanding of course content.
- good foundation
- introduce many basic knowledge
- Introduced many important concepts in C, which will be useful in the real world.
- Intuitive, interesting
- The assignments are very effective and force understanding of the material.
The tutorials are very helpful in understanding the material.
- The assignments are well-organized and helpful towards learning.
- The hardest part about this course is being interested in the boring ass content the course provides.
- The ISA of this course are very hard-working. They helped a lot of students outside the class and have done an excellent job. I, as a student who usually receive their help, appreciate their effort.
- the lectures.
- The professor. He is great.
- Understanding the C language
- useful
- Useful, interesting and slightly challenging material
- Very interesting and accessible to students without a programming background.
- Very very fun.
- Well organized; experienced instructors
What were the weak points of the course? |
- a little hard for new learner
- challenging lol
- Every once in a while an assignment question will be significantly harder than any other question covered in the course, causing an odd and abrupt difficulty spike.
- High workload. Too many questions of the midterm exam in a short amount of time. Can we have more time for the midterm?
- If you are new to CS (like me) the assignments can be a little overwhelming. I spent easily over 15 hours a week on assignments in this course.
- In the end of this term, there are two many course material and instructor explain them in a quick and fuzzy way.
- It's boring. It's too easy (if you put in any effort whatsoever) and too much of the work is in the last 2 weeks assignments 9 and 10 take significantly longer than any of the other assignments.
- link list ADT
- None.
- Not that I can recall.
- nothing
- Restricted only to c libraries that are thought in the course
- The amount of time I spend doing assignments. Also I wish he had more office hours throughout the week.
- The extreme attention to detail that a basic IDE would catch (e.g. missing semicolon, “#include <stdio.h>”, etc. [using e.g. with etc. -2 marks]) rather than demonstrating understanding of the concepts. It’s almost as if I could get negative marks for making too many small mistakes even if the idea of the code works (on a midterm) [missing period -1 mark]
(If this was an English course, they [“they” not initialized -2 marks] give you more marks for grammar/punctuation than the true [did not include <bool.h> -2 marks] content of your writing.
[expected “)” -1 marks]
- The Racket code in the coursenote is not helpful at all... Please use C instead:)
- too fast to understand all the materials sometimes
- Too much work; Assignments are very stressful, and require too much time.
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. |
- Dave always kept the atmosphere very light with his humour and teaching style. He made me enjoy coming to his each and every day.
- everything is excellent
- Everything is perffect.
- gender, race and appearance don't matter.
- it was postive. He never did anything to offend anyone.
- No
- No special effects.
- Positive, no issues
- Positively affected, as nobody really cared, but was all very interested in the lecture.
- Positively. Never felt left out or ignored.
- The class atmosphere is great, actually look forward to going to class.
- the class atmosphere is positively affected by the attitudes of the instructors. Firstly, the instructor is humor. Secondly, he usually asks students to get feedback about the assignment, and exam. He encourages discussion during the class.
Any other comments, e.g., class size, suitability of room, noise level, etc. |
- air conditioning doesn't work??
- Class was a little crouded
- Course is way easier in the summer.
- I loved the idea of watching a movie before class to motivate us to get to class earlier. I had a class that ended at 12:50 in ECH so I rarely made it in time to see the clip for the day, but I liked the concept nonetheless :)
- MC might have the better room for this course.
- More outlets please, but otherwise, Dave was an amazing prof. Best of wishes going forward!
- Movies are too loud.
- Nothing else to say here.
- Please have it in MC next term and not physics.
- students in the back of classroom may not see the screen clearly
- The classroom, PHYS235, is highly unsuitable for teaching. I would recommend changing to another classroom.
- there is some noise at the back of the class but whihc class doesnt. Overall, I believe Dave Tomkins deserve tenure.
- You are too mean when you answer questions on piazza