I was lucky to be basing my lecture off of a very solid set of notes. The professor who put these together taught me my very first programming class back in 2002. (I still have a printed and bound copy of his notes from that class.) In my guest lecture, I covered the first part of Chapter 8: Shared Data.
This is how I prepared for the class:
- First I glanced over the notes and then started to type up the source code described within.
- While I wrote out the code, I thought about what might be the best order to present it during class, and in what chunks. (My order did differ from the order in the notes, which makes sense - written and oral communication are not the same thing.) I saved individual files as I went along so that each file showed a bit more progress.
- I went through the notes again and kept a detailed outline of what I wanted to explain and what I wanted to get the class to do.
- I used my outline to create some simple slides (mostly images to help explain concepts) and some printouts I wanted to make for a couple of demonstrations.
- Finally, I made a much briefer version of the outline that I could refer to during the actual class so I didn't get lost (especially useful given how sparse my slides are).
Here are some of the interesting techniques I used that made my lecture a lot more like a tutorial:
- I explained a concept to students and then asked them to implement it in the code (I had them download a file with an initial bit of code to start with, and offered the individual progressive files in case they could not finish the task).
- I had students read code and explain to me what was going on.
- I had students hold signs and point to each other to emphasize how variables can refer to the same data and the implications of doing so. I gave new signs or had them destroy the current ones to illustrate changing the data.
- I asked the class many questions and sometimes lead them to ask a question they would be able to answer by playing with code rather than hearing it from me.
What kinds of techniques do you use in first year programming lectures?
No comments:
Post a Comment
Comments are moderated - please be patient while I approve yours.
Note: Only a member of this blog may post a comment.