Re: Ahhh, the nostolgia.
I know this is a feel good nostalgia forum but I can't resist...
@ Chris Wareham
Lecturer should not have been snarky, but should have had you talking the rest of the class through an example of where a buffer overrun could happen (I don't program or teach programming, but I imagine that would involve pointer comparison/assignment/arithmetic or similar?).
The lecturer's dilemma: You were the student in the room with the complete mind map of the whole thing from your day to day experience. Some of the other students may have part of the map, but perhaps limited to leisure BASIC, other students may have been trying to learn programming from scratch in the medium of C.
Now how does the lecturer chop up the mind map you have into a series of chunks of information - and code exercises - that don't overload the student starting from scratch with too many concepts, but, equally, don't bore the pants off students like you? I mean the K&R book example code has issues.
A concrete example from the days when I ran short evening classes on making basic Web sites (geocities/ftp era): I've got every category you can imagine on a short course. Some can do the lot and have their own sites up blinking bling and all, others are designers who are trying to upskill, others are clerical staff (intranets) with little wider computer skills (Word all day and perhaps a shared drive to save to), and some are just generally clueless (mouse cable at bottom and not left handed) but have wicked ideas for Web pages. Great fun.
I had the techies doing the ftp/file management bit along with the 'change html in Notepad/save/refresh browser/check' bit with small groups. I had the designers talking people through a basic 'objectives, audience expectations, type and colours' bit. The ones who can get on once we all have a project plan and the basic skills do so, and I sit with the mouse fumblers. It seemed to work. I cherished the (one) student evaluation form that said 'the teacher does not teach much, we do most of it ourselves' as a complaint.
Nostalgia: I did a computer science O level in 1976 using coding sheets sent to a local data centre with printouts returned the next week. We had a modem with a dial next to a teletype for brief interactive sessions. Ed (Unix/PDP11 on the other end) seemed wonderful. I have actually seen line noise appear on the teletype.