Course Description:
CS 135: Designing Functional Programs
An introduction to the fundamentals of computer science through the application of elementary programming patterns in the functional style of programming. Syntax and semantics of a functional programming language. Tracing via substitution. Design, testing, and documentation. Linear and nonlinear data structures. Recursive data definitions. Abstraction and encapsulation. Generative and structural recursion. Historical context.
Dave's Comments:
Teaching Evaluations:
Number of Respondents: 88 / 116 (76%)
Evaluate the organization and coherence of the lectures. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
70 | 16 | 1 | | 1 | |
80% | 18% | 1% | | 1% | |
At what level were the instructor's explanations aimed? |
Too high | Somewhat too high | Just right | Somewhat too low | Too low | No opinion |
4 | 10 | 64 | 9 | | 1 |
5% | 11% | 73% | 10% | | 1% |
Evaluate the instructor's treatment of students' questions. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
64 | 20 | 3 | | 1 | |
73% | 23% | 3% | | 1% | |
Evaluate the effectiveness of the instructor's visual presentation (blackboard, overheads, etc.). |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
55 | 24 | 7 | | 1 | 1 |
62% | 27% | 8% | | 1% | 1% |
Evaluate the effectiveness of the instructor's oral presentation. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
71 | 14 | 2 | | 1 | |
81% | 16% | 2% | | 1% | |
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 |
25 | 11 | 5 | 1 | | 41 |
30% | 13% | 6% | 1% | | 49% |
Did you find the course interesting? |
Very Interesting | Interesting | Not interesting | No opinion |
49 | 34 | 4 | 1 |
56% | 39% | 5% | 1% |
Evaluate the overall effectiveness of the instructor as a teacher. |
Excellent | Good | Satisfactory | Unsatisfactory | Very poor | No opinion |
74 | 10 | 2 | | 1 | |
85% | 11% | 2% | | 1% | |
What proportion of lectures did you attend in this course? |
90-100% | 75-90% | 50-75% | 25-50% | < 25% |
74 | 10 | 3 | 1 | |
84% | 11% | 3% | 1% | |
Was the assigned work (assignments, projects, etc.) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No work assigned | No opinion |
56 | 29 | 3 | | |
64% | 33% | 3% | | |
Were the printed notes (if any) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No printed course notes | No opinion |
25 | 33 | 3 | 14 | 10 |
29% | 39% | 4% | 16% | 12% |
Was the required textbook (if any) helpful in learning the course content? |
Very helpful | Helpful | Not helpful | No text required | No opinion |
13 | 19 | 8 | 26 | 19 |
15% | 22% | 9% | 31% | 22% |
Did the course introduce an appropriate amount of new material? |
Too much | Somewhat too much | Okay | Somewhat too little | Too little | No opinion |
8 | 11 | 60 | 7 | 2 | |
9% | 12% | 68% | 8% | 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 |
8 | 24 | 53 | 2 | | |
9% | 28% | 61% | 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 | 32 | 34 | 10 | 8 |
2% | 37% | 40% | 12% | 9% |
Evaluate the organization and coherence of the lectures. |
- [Excellent] It's great that we all have the same slideshow to follow and that clicker questions exist. Clicker questions are like crack. I suggest incorporating twice as many, offering only half as much time, but reducing the weight similarly.
- [Excellent] Yes, having your own version of additional slides / notes will definitely help!
At what level were the instructor's explanations aimed? |
- [Just right] I still remember your pacman reference on explaining stepping on built-in and/or functions!
- [Just right] It was very helpful when you wrote out the code in real time in Racket.
- [Somewhat too low] I didn't think that it was necessary to develop the code in Racket and then trace its development again on the slide. Instead, state that the code will be in the slides and ask the class to focus on understanding the development of the code in Racket rather than repeat this process. The mutually recursive voices are nice.
Evaluate the instructor's treatment of students' questions. |
- [Excellent] Most questions were answered excellently, including those which are better deferred so as to allow the slides to answer them instead.
- [Good] People didn't ask too many questions, but those who did, did get good answers.
- [Good] Sometimes, you try to make the whole class understand the question if you think the question should be addressed to the whole class, instead of focusing on the individual as well. Unless the individual can never understand, I think you should interact with them a bit more first in this case, then address the class if you think it is necessary.
Evaluate the effectiveness of the instructor's visual presentation (blackboard, overheads, etc.). |
- [Excellent] loved the apply, eval analogy!!
- [Excellent] The pacman diagram was hilarious and effective.
- [Excellent] The projection is always comprehensible, even at the back of the class where I sit because I am routinely a bit late.
- [Excellent] very nice teaching utensils... including a lightsaber
Evaluate the effectiveness of the instructor's oral presentation. |
- [Excellent] Great speaking. Again, Dave is totally audible at the back. His falsetto is on point for the mutually-recursive dialogue. Despite having to speak for three hours, he is always energetic and delivers a great lecture.
- [Excellent] His speaking is very humorous and easy to understand.
- [Excellent] Recursion - two voices was funny and helped keep it clear.
Did you find the course interesting? |
- [Interesting] I have seen that people who learned a bit of programming before, found this course a bit boring, and for people who have never programmed before but wanted to go into Computer Science major or related, found this course challenging. Regardless, there would always be people who love this course.
- [Very Interesting] I had never programmed before and CS 135 was probably my favourite course of the year. I definitely hope to incorporate computer science into my degree to a greater extent than previously planned.
Evaluate the overall effectiveness of the instructor as a teacher. |
- [Good] Very active in class and always try to make the lecture to be interesting. Like the teaching style!
What proportion of lectures did you attend in this course? |
- [90-100%] every lecture, every time!!
- [90-100%] Sometimes I had to skip my section because I slept in, but I was always sure to attend the one immediately afterwards because it was such a good lecture. So let's just say I attended 100% of them.
Was the assigned work (assignments, projects, etc.) helpful in learning the course content? |
- [Helpful] but too much sometimes
- [Helpful] I have found everything helpful except assignment 10; it would've worked perfectly as a bonus assignment especially for Peg Solitaire.
- [Very helpful] I found the assignments challenging, and that was good!!
- [Very helpful] WHICH IS SUPER HARD!
Were the printed notes (if any) helpful in learning the course content? |
- [Helpful] The notes could have used some more detail and structure overall.
- [No opinion] I found the slides sufficiently informative.
- [Not helpful] We have online notes so there is no need for printed notes.
- [Very helpful] i'm using the notes uploaded on the cs website
Was the required textbook (if any) helpful in learning the course content? |
- [Helpful] The textbook was a bit more helpful than the Course Notes. The Course Notes is definitely not self-explanatory in many parts, and tends to confuse a lot more especially if you try to read ahead!
- [No opinion] I did not consult the recommended text.
Did the course introduce an appropriate amount of new material? |
- [Okay] The course could have moved at a faster rate. I'd really enjoy three lectures a week, although the instructors might not. Just increase tuition and let us become more proficient programmers.
- [Too much] Everything is new!!
Was the amount of assigned work required for the course appropriate? |
- [Somewhat too little] You can usually finish the assignment before Friday.
- [Somewhat too much] We also need time to go over the note and review the lecture!! It is impossible with all the assignments.
On average, how many hours per week did you spend on this course outside of lectures? |
- [> 15 hours] Always writing codes on Saturday and Sunday for the whole day. Most of the afternoon for the other days.
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. |
- cool guy!!! very good performance!!
- Dave has successfully created a casual, welcoming environment for his class. He is usually quite effective in making the class interesting in spite of its somewhat slow pace. His near-constant pop-culture references were appreciated.
- Dave is great.
- Dave is just so good! Awesome!
- Dave you are so good.
- Did a good job making the course interesting. Brought some good humour. Was very clear and confident in his explanations which helps a lot.
- engaging and taught as if we had no prior experience (good for those who've never taken cs before)
- Everything
- everything
- EVERYTHING. Dave's the best teacher to have ever taught me.
- Everything. Empathy with students, keeping lectures interesting, being a real person, actual teaching.
- excellent class time!
- Excellent teacher, weird concepts explained in funny ways
- Explains the materials thoroughly
- -Explanations were very clear.
-Introduces the materials in a interesting way.
-Make the lecture more interesting.
- Gave great explanations of new information
Excellent use of analogies to demonstrate new concepts
Added an element of humor to an otherwise dry class
Added a 5 minute movie clip each day at the start of classto encourage being on time
- Good balance between examples and theory.
- Good explanations, moved through the easier material pretty quickly, which kept me interested
- Good lecturer, good humour that helped me stay engaged.
- Great analogies of theory, really able to absorb the content
- Great job of keeping the course easy to understand
- Had done a great job keeping lectures interesting. Always brought something new to class to keep us engaged. His explanation of mutual recursion had the entire class laughing. In addition, his light saber was very funny too.
- He always answers questions appropriately and effectively. He does his best to make sure everyone in the class understands. He goes at a moderate rate and makes class interactive.
- He created a fun atmosphere for learning and provided entertaining and engaging examples when explaining difficult concepts.
- He did not go too fast
Good mix of jokes and seriousness
Clickers are useful for determining how well we are doing in class
- He explains the course very well and you can tell he knows his stuff.
- He has great lectures that are interesting
- he has perfect ability to make the lecture fun.
- He has succeeded in conveying his enthusiasm and expertise in computer science to me, at least. I've wanted to take a programming course for a while, but I couldn't manage to enroll in one during high school. It was nice to have such a pleasant and informative introduction to the field after all that waiting.
- He is one of the best, if not the best instructors I have had, and he knows just how to present a topic to be most understood by the student. Yet, there is no direct observable manner in which he achieves this. It is just pure artistry. Great teacher!
- He is really funny and made us interesting in the course.
- He makes us more easier to learn this course, even if the course is hard and somewhat kind of boring. When I attend Tompkins's lecture, I feel cheerful.
- He's a funny guy, makes it enjoyable.
- Help with assignments,explaining course material briefly.
- His great enthusiasm each and every class, made this my favourite class, Keep up the great work :)
- Integrated humour into the lecture, keeping the class engaged.
- Kept the lecture interesting, even though the material was sometimes dry.
- killed it
- Made cs135 a lot more interesting than it should be.
- Made iClicker questions to draw students' attention and showed a five-minute clip of "How to Train Your Dragon" each time before the lecture.
- Make the course entertaining.
- Module dances :)
- Oral presentation
- Presentation of lectures was done very well , made lectures interesting to some degree. Found doing examples through drracket instead of slides more helpful
- Pretty much everything, really.
- Prof. Tompkins did an excellent job of administering the course and took effort to make it accessible to people coming from different programming backgrounds. He tried with great effort and with great success to keep the lectures engaging and I seldom saw other students not paying attention to him and the material.
- Prof. Tompkins was an excellent professor (one of my two favorite in 1A)
- Step-by-step and vivid explanations
- That dragon movie
- The assignments' solution were well done.
- The instructor has done well in keeping the class lively.
- To make the class interesting
- Tompkins goes out of his way to make the lectures way more enjoyable, through his jokes and playing the movie.
- Tons of examples, added humor to the class.
- Using DrRacket to code examples was much more effective then just viewing the code on a slide
- Very engaging
- Very engaging and interesting lectures to attend to!
- very humorous but effective expression.
- Very interactive in class.
- Very interesting
- You have done very well to make this not-so-interesting course more interesting, and help us understand the materials much better!
- Your explanations and real life comparisons are really incredible! Jokes are hilarious and your teaching is clear and helpful. Plus all the movie/games/tv-shows- related jokes are AMAZING
Please make constructive comments about anything in the instructor's technique or style that could, in your opinion, be improved. |
- add some more time to each lecture so that we can have some practice with the instructor in class.
- Although I am good with math concepts, I did find that I was learning a lot in a short time. Although this was an exciting feeling, I feel the contents may have been a little too much for others...
- could explain at a it higher level. Maybe explain some things above and beyond the course notes, but very good.
- Dave is perfect
- Don't put the feet on the desk while presenting
- Explain more challenging examples
Go beyond what is explained in the course notes
- Gives more stepper example, especially when introducing the new materials.
- good enough to me.
- Great syle and humour during lectures. Fun to learn
- He could give us more group work and allow us to use the knowledge that we learnt in class and then take it up. This would be more helpful in doing the assignments for that week.
- He could perhaps not go over a concept too many times in class and perhaps.
- He showed cartoons before lecture,which made attending the class very interesting.
- I enjoyed when Dave would use content outside of the lecture slides (websites, comics, Youtube videos) to explain course content. I think doing this more often would increase the interest of the students.
- I love this instructors teaching style.
- I think you could definitely (not troll and make everyone be confused about clickr questions) add a lot more clickr questions or examples on materials such as trees and abstract functions.
- I thought some simple examples were gone over too many times and others not enough.
- I would have liked more examples on the more difficult concepts, as well as stepper questions.
- Important points(such as back-tracing) should be explained more carefully.
- It sadden me to admit that I am overall extremely disappointed by the very poor quality of teaching and lecturing of my professors. I thought Waterloo was a world class institution, it really is not or all the good professors are reserved for the upper years. This course was no different if not a bit worst than the average.
I was really looking forward to take this course but ... no it is not acceptable.
It is a pain to learn interesting stuff via a boring teacher. You can really improve your lecturing style (watch some videos of Larry Smith or Eric Demaine on MIT OCW).
You need to find way to engage the students and get smaller classes.
The education I have received so far is NOT worth the money I have paid and I would not recommend Waterloo to a prospective student.
Functional programming is great, you need to find a way to demonstrate to the lay-person this greatness in a way that is not boring / make you fall asleep. Good luck.
- It would be better if the instructor could explain more clearly and provide more examples.
- It's perfect.
- Keep the light sabre all year
- Kinda joked around a lot, made it hard to stay concentrated on one subject. Although the jokes did make the class more enjoyable and inviting
- Lead by example and do the module dances too :P
- Maybe if the instructor could give more time when actually typing out the code; or maybe once he does, like highight the main parts - this would allow us to have a more general idea of what is going on.
- More examples in notes for stepping questions,
also for the practice stepping questions on the cs website could we have the solutions with explanations. Sometimes the hints are not enough.
- N/A he's perf
- na
- nah, he aight
- nanana
- No
- No issues.
- no opinion
- None
- None.
- Nothing about his teaching style needs to be improved
- Nothing, really. This course was perfect.
- nothing, you're perfect:)
- Often jumped right ahead to applying concepts spending very little time introducing them. I understand that is an essential part of programming, however I felt the approach he had in teaching structures, by explaining the mechanics in depth, and why a code followed a certain format before beginning questions was more effective then the speed with which he went through things like lambda.
- Perhaps make the examples available online?
- Personally speaking, I think the instructor should give more examples. At least, Instructor should have had a survey on which part of the lecture that most of students not understand, so that we can review it and remember it quickly.
- Post code examples online where students can access them.
- Recursion through trees could have been explained in more depth , eg more examples
- Save the Racket examples you do in class and make it avaible online afterwards.
- solid pace in the beginning, a bit fast towards the end of the term
- Sometimes the sound effects were weird.
Perhaps go over clicker questions that everyone fails on and approach in a different way
- The beginning material moved a little bit slow, however I've learned the material before so that is only my opinion.
- The prof can teach a little bit more slowly
- There are some abstract definitions or concepts are not explained such good, although they are indeed hard to be illustrated. Maybe some special ways of explanation can be introduced.
- There's nothing really that comes to mind.
- Tompkins is a great professor, and I don't think there is anything he can improve on.
What were the strong points of the course? |
- A very practical approach to programming with sufficient theory.
- Assignments
- attracting coding.
- Awesome prof, learnt something actually related to my degree. I also liked the periodic clicker questions.
- Catered to all levels
- Challenging assignments, allow you to really 'grow in' to the computer science courses I guess.
- Dave Tompkins is the best CS professor!
- Dave's friendliness, and his ability to explain everything with clarity and real life examples. Also, HTTYD *_*
- Deepen students' understanding about functional language
- Everything was great
- Fun
- Functional abstraction and lists.
- funny
- Good choice of programming language.
- good prof!!
- helpful understanding of how basic concepts of programming works
- I think the choice of Racket as the language used in the course is a good idea, as it effectively levels the playing field for experienced and inexperienced programmers (since most people have not used it prior to this course). The assignments did a great job of increasing my understanding of concepts explained during lectures.
- Interesting and easy to follow
- Interesting programming language and paradigm.
- interesting, assignments are very helpful
- Interesting, fun solving problems in Racket.
- Introduced new type of programming language that I was not familiar with.
- It was a very interesting course were i got to learn new concepts.
- it was dope
- It was very interesting. Kept me interested. (also love how to train your dragon at the beginning :p )
- Just great on many aspects.
- Lectures
- Lectures
- Logical and coherent.
- pleasant atmosphere.
- Recursion
- The assignments were extremely helpful in learning course material. The use of the language restrictions made some simple problems extremely difficult and forced us to think.
- The assignments were really well designed.
- The content was all new to me, which was unique among my other courses. Consequently, I was very engaged from the outset. Dave is also very approachable and a great teacher in general.
- The fun assignments and lectures and the great prof.
- The idea of learning a language foreign to almost definitely everyone
Using the course as looking at programming concepts through the lens of a specific language and syntax
The format of using tutorials, classes, office hours, online slides and assignments essential to mastery
- The instructor keeps good interaction with students.
- The instructor provides(or give) his idea step by step. so that we can catch up on his pace even if we are not really familiar with the new material.
- The programming language is effective to develop good style.
- The strong points were the effectiveness of his teaching style
- The use of clicker questions to gauge class understanding was very helpful for difficult concepts
- Very clear presentation, excellent communication
- Very entertaining, enjoyed coming to class, easy to learn from you
- Very thorough with it's teachings of the various units
Great introduction to functional programming
For people with no experience, does a good job explaining the basics quickly and effectively
What were the weak points of the course? |
- -
- a bit fast towards the end
- As I mentioned, the weak point is that lacking of examples and review.
- complexity of coding for beginner.
- couldn't have asked for anything better
- Design recipe boring.
- Did not learn many new concepts until we started recursion; if possible I would have liked a CS course in between CS135 and CS145 in terms of level.
- Functional language may not be as useful as imperative language.
- Giving the hardest assignment right before exams was too mean
- I do not like programming in Dr. Racket.
- I think that some parts of the course were a bit slow. For example, I think that too much time was spent on abstract list functions. I feel that the material could be condensed without significantly affecting students' understanding.
- I think that the slide should include more full examples
- I thought it was really strange how little guidance we were given in preparing for the exams. We were given very little advice to study. There were also no exam prep materials made available. I understand that the CS department has a lot of angst about making past exams available for practice, but I felt that the lack of support for the exam was a big hole in an otherwise solid, well designed, user-friendly course.
- idk
- Lectures, Prof
- Many examples shown during the lecture (codes on DrRacket) should be included on the slides.
- Maybe spend another day on trees.
- N/A
- None
- None in general.
- None that I can think of.
- None.
- Not found.
- Nothing, the course was great.
- Piazza is not the best of platforms to work on and is often confusing to navigate, I cannot think of alternatives off the top of my head
The assignments, though they achieve a great deal, can be very frustrating and stressful to some, more acceptance of assignment collaboration would assist in having those who want to learn but are stuck learn and will only marginally boost the grade of those who are lazy, being counter-acted by midterms and exam.
- Seemed like a pretty beginner course, even though CS115 exists. Didn't really implement any real-world functionality.
- some contents tend to be a little bit hard
- Sometimes felt like we weren't making as much progress as we could. Is racket really the right language choice? It's not a language we will be using outside of school. This is especially important for those going out for co-op after only taking this CS course.
- Speed of course is not consistent across the modules
- The assignments were a lot more difficult than what we actually learnt.
- The design recipe is horrible and discourages helper functions.
The course goes waaaay too slowly for the first few weeks: a lot of the stuff over the first few weeks can be learnt by doing the first 10 Project Euler problems in Common Lisp.
Too much time is spent on syntax.
The homework assignments are uninteresting and tedious and not challenging in a meaningful sense but at the same time are extremely long and tedious to debug. While the assignments make you write a lot of code, there's no weird interesting way that you have to apply any of the concepts. It's all straightforward but just really long and boring.
- The explaination of some difficult point
- The instructor usually goes too fast without detailed explanation.
- The material at some points is very easy and boring and makes it hard to stay awake in class however this is not the teachers fault but the course material itself.
- There is no lab for students to program in class
- There were not enough lectures, clicker questions, or assignments.
- Time consuming
- too few lectures
- Took longer than any other course.
- Trees maybe? I dunno it was all covered pretty well.
- Tutorials
- Very difficult assignments.
- well, maybe it's not the weak point of the course but last assignments were really hard. And assignment 10 literally made me want to lie down and cry:)
- When you tell us to discuss with our partner, sometimes we end up just sitting in silence
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. |
- +
- -
- affected positively because Dave is always in a good mood
- Affected positively, instructor made the class more interesting and welcoming.
Made class more enjoyable and funny
One of the few lectures I had that had consistent laughter during the lecture
- Class atmosphere is always good.
- Class atmosphere was fine.
- Class atmosphere was very professional while keeping it nice and loose and fun
- I felt that the general feel of the class was pretty good. Not amazing, but definitely better than average. I didn't encounter any issues regarding gender, race, appearance, or any other characteristics of people.
- It was a very positive atmosphere
- It was affected positively
- It was affected positively because the instructor was very friendly and enthusiastic when it came to teaching.
- N/A
- N/a
- N/A
- N/a.
- Negative. Students are very competitive / rude and immature.
- Neutral.
- no
- no idea
- No idea what this means..
- No issues.
- No.
- No.
- No.
- Nop
- Nop.
- Not at all.
- Nothing like that ever came up.
- Overall positive attitudes.
Female to male ratio is somewhat depressing.
- Positive
- positive
- Positively. Prof had a positive attitude.
- Positively. The instructor tries to interact with the students and keep them interested in the course
- Positively. The professor treated everyone well.
- POSITIVELY:)
- question not clear, the class atmosphere was conducive to learning and I saw no obvious obstacles to my learning or other's learning
- Since CS135 is a very opened course, gender, race, and appearance did not affect the class atmosphere.
- Somewhat,I dont want to get a lower mark than other students.
- strongly positive. The instructor always has a big smile on his face and give students enough time to communicate with neighbours.
- The relaxed attitude of the instructor allowed for a much more fluent learning experience
- There was never a mention of anything in regards to gender, race or appearance that could have positively or negatively affected the course atmosphere.
- There was no racism.
- Very positive.
- Very positive. And the instructor made it so.
- Well, all my instructors, expect esl's, are guys. Therefore, I do not think the gender could affect the atmosphere of the class. There might be three reasons that can affect the class atmosphere. First of all, the attitudes of the students. If most of the students think this course is quiet easy or not important, then the atmosphere would be lazy and low-spirited. Secondly, If the Instructor is in the bad mood (It did not happen in my courses), apparently the class atmosphere would be heavy. Finally, It is also about how hard dose the instructor is teaching, if it is too hard, then no one listen, too easy as well.
Any other comments, e.g., class size, suitability of room, noise level, etc. |
- chairs were nice in classroom
- Classroom worked very well (MC 4th floor)
- Clicker questions could be slightly larger. When sitting in the back I would occasionally misread questions and give the wrong answer.
- "Dave" "is" "cool"
- Everything was fine in this respect.
- good .sometimes a little bit noisy
- Good!
- I suggest a 5-10 min break during 80-minute-long class so that we can relax a little bit and digest what professor has taught timely.
- it's hard to see the blackboard when sitting at the back of classroom.
- just so good.
- Loved it.
- Need more tutors in tutorial center. There are approximately 2 to 3 tutors in the whole room with 20 to 30+ students. People are lining up to ask questions and it is time consuming!
- No
- no
- No issues.
- No.
- No.
- nobody did their module dance
- Noise level was very low.
- None
- None
- None.
- Nop.
- Nope. Everything is perfect. Thank you Waterloo.
- Overall, the professor was amazing and he made the class very fun. Best lecture all term.
- Perfect size of classroom, not much noise level except the usual laugh at Dave's jokes, and the room was good.
- Please add in more End of Module dances and require participation
- Racket is functional,
And computer science is cool,
You made this course fun,
Here at U of Waterloo.
(+1 for poetry?) :D
- rooms have no windows (but it's in mc so...)
- smaller classes maybe?
- The class is too packed and the lighting is very dim. Especially when you try to focus on the slide for code and whatnot, I think a bigger classroom with better lighting could definitely help.
- The class size is way too big. It is unacceptable to pay 30K per year and have a student:faculty ratio that bad.
- The class size should be smaller
- The class was very enjoyable.
- The classroom was ideal.
- The room was the right choice MC 4021, keep it there
- This was probably my favourite course of my 1A term.
- WE LOVE YOU DAVE:)
P.S. Your IMDb's list of favorite movies makes me want to give you a high five!
This term I successfully introduced the new "Style Guide" that can be used for 135/136 and 115/116.
We used crowdmark (an online system for marking the midterms and finals) for the first time. Despite some technical issues related to concurrency, it was a far more positive experience than traditional paper marking.
For fun, before each lecture I showed 5 minutes of the movie How to Train Your Dragon (h2tyd) and we were able to complete the movie by the end of the term (the movie was selected by a class vote). Not only was it entertaining, but it encouraged students to arrive early and be settled before the lecture began. Also on the fun side, this term my new lightsaber made its debut.
This was my first term with the new "evaluate" on-line teacher evaluations, and the first time with question-specific comments. It seemed to be much better than the learn-based system that was used in Winter 2014.