I’m a software engineer. I’ve been programming for a long time – in school, at work, and for fun. While I was in school, I also taught computer science as a TA for three years.
I TAed a mid-level class, though, so by the time I met the students, they didn’t just know how to program, they’d also mastered more in-depth concepts like pointers, recursion, computer architecture, and algorithms.
Last Sunday, for the first time, I had the chance to teach someone to program who’d never written a line of code before. It was very, very different from TAing. It was also a lot of fun.