The Stack, C I/O, Buffer Overflow attacks, Varargs, and Malloc: An Exploding Kitten Approach
So I had a very nice leisurely lecture prepared that talked about the stack, buffer overflow attacks, and C varargs functions. We were going to do a few different activities and maybe even a live coding exercise which I’ve been wanting to try. Then I get an email from my practicum professor saying he wants to cover the stack, C I/O, Buffer overflow attacks, varargs functions, and malloc all in one class session - less than a day before I’m scheduled to speak. That’s over 50 unplanned slides worth of material, jammed into a 90 minute session that already felt a bit disjointed.
I was not feeling the love at that moment.
But what the heck. I figured this would be the sort of real world teaching experience I had been warned about.
Here’s what I did:
-
Eliminated some of my more time-intensive exercises, or replaced them with quicker versions
-
Cut a variety of content that I felt was less important, and distributed it as handouts + an instruction to read the book
-
Created my “exploding kitten” exercise, designed to let me move through the malloc material slight faster. Basically I labeled certain slides with numbered kittens, and as I moved through the students had to record what deadly malloc error each kitten referred to. The idea here was that students would pay extra attention when they saw a kitten, and would know if they missed something so I could go back to it.
All this and I still had to end only 1/3 of the way through malloc.
So looking over my video after the fact, I felt confident that I had completely screwed everything up. But when I tabulated my student feedback, everything was pretty positive. Most common negative feedback: too much material and too fast. I can’t say I disagree.
Here’s the handouts, the powerpoint for the first part, the powerpoint for the second part.