Learning from Teaching Evaluations 2
Last time, I shared my evaluations and takeaways from TF-ing a literature course. Student feedback has just come in from CPSC 100 (“CS50”). I taught weekly sections that were 90 minutes in length. It was easier than leading a high-quality humanities discussion in the sense that I had excellent scaffolding from the CS50 team about what materials to cover and in what order. But it was also harder. If I was struggling to communicate a particular aspect of, say, a data structure, then the stakes were higher–since that knowledge would be crucial for the students in their upcoming assignment(s). Whereas in a literature class, I could redirect the conversation to another aspect of the text if we seemed “stuck,” in CS50, I needed to ask directed questions to assess how the lesson was going and make quick but accurate decisions about what details to skip if time was running low.
Let’s start with the areas for improvement. I’m happy to say that each constructive criticism followed positive feedback. And the suggestions were unique (that is, each bullet point only appeared in a single review [n=7]). What this tells me is that my job is halfway done! I’m happy there’s no consensus on a major weakness, but I’m happier that I have insights on where to improve. Many thanks to the respondents!
- More live coding, less lecturing
I preferred paper handouts over coding exercises, since not everyone was guaranteed to bring their computer or have the course IDE updated and ready. I usually sent code samples by email after the class. But I agree with this feedback. I plan to take action on it by improving my pre-section emails. This means sending out a clear agenda and instructions/code (as necessary) 24 hours before we meet. That way, we can all have the same environment and be ready to go with the programming exercise. A nice consquence of this approach is that it will mean less time where only I am speaking!
- High-level outlines for clarity on complex material
Absolutely. CS50 provides its staff an immense set of prior outlines and notes. I would typically teach using a mashup of these and my own materials. This could lead to confusion, however, especially when I made transitions or slight changes between the two. I’m committing to better integration of “my own take” and the preexisting schema. This will allow me to have, every class, a visually and conceptually unified outline of what the main teaching goals are.
- Drills for practice
For the majority of the sections, I had a handout with ~10 quiz-style questions. However, this is not the same as drilling. Drilling is a high-volume, fast-paced technique with immediate feedback. I think that it could be very useful before exams. I’m still thinking about how to best incorporate drills. Please write if you have suggestions!
- More explanation and contextualization of board-work
I’ve been fortunate to take classes with some truly expert “chalk artists” in the Yale CS department. Good board-work encourages good notetaking because its pace allows students to follow the material. Further, the structure of the proof/example lingers for a time on the board. I improved in my handwriting and spacing, but I shouldn’t forget that even the best board-work requires verbal support. The professors whose board-work I admire always talk about what they’re writing as they write it. The image of the genius silently scribbling equations on the blackboard and then retiring to gasps of astonishment doesn’t have a firm basis in reality. And definitely not in good teaching habits!
OK, here are some positives! I was, in their words: committed, friendly, patient, responsive, exceedingly helpful, flexible, very relaxed (!), knowing-my-stuff, working-alongside to debug, terrific, good asker-of-questions.
Many thanks to my students, the CS50 staff, and in particular Jason Hirschhorn, a data-driven, gifted, and generous teacher (of teachers).