I've been teaching for a long time. Depending on your definition of teaching, I first taught Leading Edge Word Processing to a group of doctors at age 7. Since then, I've also informally taught end-users a variety of software as well as NetWare and Windows system administration.
Lately, I've been active in teaching at Columbia. I was a teaching assistant for 8 straight semesters (and won 3 "best TA" awards while doing do); recitation for two classes; and more recently, a number of undergraduate classes (including COMS W3156 -- Software Engineering -- which coincidentally no longer exists. Go figure).
Here are the courses I've taught.
Here's a list of courses I TA'ed, and some of the materials associated with them.