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:
This was a very stressful but rewarding term, as I was redesigning the course as we were teaching it. After my previous experience with 136 (2013 Winter), and discussing the course with numerous people, I made a proposal to be the new course "maintainer" for 136 and to redesign it. I think the redesign was a great success. My co-instructors (Patrick and Olga) were very forgiving of my last-minute redesigns and very supportive throughout the course.

In addition to the significant changes to the notes, we also changed the assignment structure to a more 'traditional' (CS 135) format with public and private test cases (no tokens), some questions were hand marked for style, and we posted solutions to some problems. The new 'twist' I added to the assignments was known as a "second chance", where if students performed poorly on the secret tests, some of the trickier test cases were disclosed and then they were given a second chance to fix their assignments.
Teaching Evaluations:
Number of Respondents: 60 / 89 (67%)
Characteristics of the Instructor:
Evaluate the organization and coherence of the lectures.
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
At what level were the instructor's explanations aimed?
Too highSomewhat too highJust rightSomewhat too lowToo lowNo opinion
Evaluate the instructor's treatment of students' questions.
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
Evaluate the effectiveness of the instructor's visual presentation (blackboard, overheads, etc.).
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
Evaluate the effectiveness of the instructor's oral presentation.
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
Was the instructor available for help outside of class?
AlwaysMost of the timeOften enoughNot often enoughNeverI did not seek help
Did you find the course interesting?
Very InterestingInterestingNot interestingNo opinion
Evaluate the overall effectiveness of the instructor as a teacher.
ExcellentGoodSatisfactoryUnsatisfactoryVery poorNo opinion
Characteristics of the Course:
What proportion of lectures did you attend in this course?
90-100%75-90%50-75%25-50%< 25%
Was the assigned work (assignments, projects, etc.) helpful in learning the course content?
Very helpfulHelpfulNot helpfulNo work assignedNo opinion
Were the printed notes (if any) helpful in learning the course content?
Very helpfulHelpfulNot helpfulNo printed course notesNo opinion
Was the required textbook (if any) helpful in learning the course content?
Very helpfulHelpfulNot helpfulNo text requiredNo opinion
Did the course introduce an appropriate amount of new material?
Too muchSomewhat too muchOkaySomewhat too littleToo littleNo opinion
Was the amount of assigned work required for the course appropriate?
Too muchSomewhat too muchOkaySomewhat too littleToo littleNo opinion
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
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: