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:
This course was an amazing introduction to Waterloo. I was teaching alongside an instructor "dream team": Ian, Byron, Craig and Troy. I was not expecting to be the weakest instructor. They really helped me "up my game" and rise to their level of excellence.

It was the first time teaching a functional language course, and I struggled with the pacing and assignment difficulty a bit, but overall it was a very positive experience.
Teaching Evaluations:
Number of Respondents: 51 / 73 (70%)
Characteristics of the Instructor:
Evaluate the organization and coherence of the lectures.
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
2031
39%61%
At what level were the instructor's explanations aimed?
Too highSomewhat too highJust rightSomewhat too lowToo lowNo opinion
6441
12%86%2%
Evaluate the instructor's treatment of students' questions.
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
28203
55%39%6%
Evaluate the effectiveness of the instructor's visual presentation (blackboard, overheads, etc.).
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
26241
51%47%2%
Evaluate the effectiveness of the instructor's oral presentation.
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
29192
58%38%4%
Was the instructor available for help outside of class?
AlwaysMost of the timeOften enoughNot often enoughNeverI did not seek help
119625
22%18%12%49%
Did you find the course interesting?
Very InterestingInterestingNot interestingNo opinion
2426
48%52%
Evaluate the overall effectiveness of the instructor as a teacher.
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
3021
59%41%
Characteristics of the Course:
What proportion of lectures did you attend in this course?
90-100%75-90%50-75%25-50%< 25%
456
88%12%
Was the assigned work (assignments, projects, etc.) helpful in learning the course content?
Very helpfulHelpfulNot helpfulNo work assignedNo opinion
2922
57%43%
Were the printed notes (if any) helpful in learning the course content?
Very helpfulHelpfulNot helpfulNo printed course notesNo opinion
162195
31%41%18%10%
Was the required textbook (if any) helpful in learning the course content?
Very helpfulHelpfulNot helpfulNo text requiredNo opinion
113131113
2%25%25%22%25%
Did the course introduce an appropriate amount of new material?
Too muchSomewhat too muchOkaySomewhat too littleToo littleNo opinion
3837111
6%16%73%2%2%2%
Was the amount of assigned work required for the course appropriate?
Too muchSomewhat too muchOkaySomewhat too littleToo littleNo opinion
22227
4%43%53%
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
22199
44%38%18%
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