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:
I was really looking forward to this term, and it did not disappoint me. In my very first term at Waterloo (fall 2011) I taught with Byron, Ian, Troy and Craig and it was an incredible experience. At the time, I didn't realize just how special it was that a first year course was being taught by such extraordinary faculty members. We would often reminisce about that term, referring to ourselves as the "Dream Team". In 2015, Ian proposed that we "get the band back together" and so we all agreed to teach CS 135 again in the fall 6 years later. We were joined by Paul who was an incredibly hard worker as well.

In short, the term went very well. However, it was a tremendous amount of work. The assignments were ambitious, and because everyone was so experienced, we had many thorough discussions relating to the course content. Personally, I had a lot of other responsibilities (home life, teaching another course, advising and committee work) that I often found myself overwhelmed during the term, but it was very worthwhile.

As per my ongoing tradition, I showed 5 minutes of a movie before each lecture. This term the students voted for The Lego Batman Movie (Sec 006) and Kubo and the Two Strings (Sec 003).

Correction: one student accidentally entered an evaluation for a different course. The student emailed me, but their evaluation could not be changed. I removed that evaluation from these results, so the data on this website differs from the "official" results posted elsewhere.
Teaching Evaluations:
Number of Respondents: 62 / 82 (76%)
Characteristics of the Instructor:
Evaluate the organization and coherence of the lectures.
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
46142
74%23%3%
At what level were the instructor's explanations aimed?
Too highSomewhat too highJust rightSomewhat too lowToo lowNo opinion
19511
2%15%82%2%
Evaluate the instructor's treatment of students' questions.
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
45134
73%21%6%
Evaluate the effectiveness of the instructor's visual presentation (blackboard, overheads, etc.).
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
5192
82%15%3%
Evaluate the effectiveness of the instructor's oral presentation.
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
548
87%13%
Was the instructor available for help outside of class?
AlwaysMost of the timeOften enoughNot often enoughNeverI did not seek help
3011120
48%18%2%32%
Did you find the course interesting?
Very InterestingInterestingNot interestingNo opinion
38231
61%37%2%
Evaluate the overall effectiveness of the instructor as a teacher.
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
50111
81%18%2%
Characteristics of the Course:
What proportion of lectures did you attend in this course?
90-100%75-90%50-75%25-50%< 25%
557
89%11%
Was the assigned work (assignments, projects, etc.) helpful in learning the course content?
Very helpfulHelpfulNot helpfulNo work assignedNo opinion
4121
66%34%
Were the printed notes (if any) helpful in learning the course content?
Very helpfulHelpfulNot helpfulNo printed course notesNo opinion
2214220
38%24%3%34%
Was the required textbook (if any) helpful in learning the course content?
Very helpfulHelpfulNot helpfulNo text requiredNo opinion
9121619
16%21%29%34%
Did the course introduce an appropriate amount of new material?
Too muchSomewhat too muchOkaySomewhat too littleToo littleNo opinion
1164131
2%26%66%5%2%
Was the amount of assigned work required for the course appropriate?
Too muchSomewhat too muchOkaySomewhat too littleToo littleNo opinion
53027
8%48%44%
On average, how many hours per week did you spend on this course outside of lectures?
0-2 hours3-6 hours7-10 hours11-15 hours> 15 hours
8321210
13%52%19%16%
Question-Specific Comments:
Evaluate the organization and coherence of the lectures.
At what level were the instructor's explanations aimed?
Evaluate the instructor's treatment of students' questions.
Evaluate the effectiveness of the instructor's visual presentation (blackboard, overheads, etc.).
Evaluate the effectiveness of the instructor's oral presentation.
Did you find the course interesting?
Evaluate the overall effectiveness of the instructor as a teacher.
What proportion of lectures did you attend in this course?
Was the assigned work (assignments, projects, etc.) helpful in learning the course content?
Were the printed notes (if any) helpful in learning the course content?
Was the required textbook (if any) helpful in learning the course content?
Did the course introduce an appropriate amount of new material?
Was the amount of assigned work required for the course appropriate?
On average, how many hours per week did you spend on this course outside of lectures?
Comments:
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.
Please make constructive comments about anything in the instructor's technique or style that could, in your opinion, be improved.
What were the strong points of the course?
What were the weak points 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.
Any other comments, e.g., class size, suitability of room, noise level, etc.
All of the data for this page is available in the github repository: https://github.com/dtompkins/teacheval