For a very long time I’ve specialized in introductory courses. I teach the occasional graduate course, but with more theoreticians than theory classes the competition is stiff. It’s not a loss for me really since I’m quite happy teaching what I do, but it wasn’t until this year that I realized another benefit of my focus on introductory courses.
In the academic year 2011-2012, five of the six classes I taught were introductory Python classes. Designed as first programming classes for future developers, you get some motivated and bright, if inexperienced, students. The students want to get as much practical experience as they can, but with little programming knowledge the traditional internship and employment doors are still somewhat closed for them. As a result, I’ve found myself fielding multiple requests for extracurricular projects, allowing me to work with two exceptional students. One worked on data analysis for a research project and the other has worked on web development for a service project. I’m privileged that these bright and enthusiastic students are working hard on projects for me, something only made possible by all the time I spent in front of beginning computer scientists.