CS106L Archive

This page contains archived versions of the Stanford CS106L (Standard C++ Programming Laboratory) webpage. All internal links should be valid, though external links may no longer be functional.

2010-2011 Academic Year
Fall 2010

It's hard to fully capture in words how wonderful this quarter's installment of CS106L was. It will be my last time teaching the class, at least in the foreseeable future, and I made a huge effort this time around to help students as much as possible outside of lecture. From the evaluations I received, it looks as though this was a huge success - the course was the highest-rated class in the entire School of Engineering (at least, when looking at classes of at least twenty students). Seeing CS106L end up as it has is a wonderful feeling. Two veteran SLs will be taking over the class Spring quarter, and I have no doubt in my mind that they'll do a great job with it. This will certainly not be the last time that I teach this course - I'll be sure to periodically pick it up for a quarter or two, and when compilers start fully supporting C++0x I'm going to give the whole course a pretty serious overhaul.

To all of my students from this and previous quarters - thank you for reminding me why I love computer science and C++ programming as much as I do.

2009-2010 Academic Year
Spring 2010

Spring 2010's class was some of the most fun I've ever had. The students were extremely motivated and insightful, and in delivering lectures I found that I had acquired a much more nuanced understanding of the roles of each language feature and library than I had in previous quarters. I also started giving out optional puzzles at the start of each lecture, and was particularly impressed with what students were able to come up with. Also, the assignments for this quarter were significantly more flashy than in previous quarters, with two of the assignments using Qt for GUIs.

Fall 2009

The fifth iteration of CS106L was a great success. Students loved the material and seemed to have a much more nuanced grasp of the core issues. This was also the first quarter that I delivered a lecture on template metaprogramming to students. Additionally, this quarter I experimented with using a fully-fledged course reader instead of in-class handouts, with pleasantly surprising results.

2008-2009 Academic Year
Spring 2009

The fourth run of CS106L was nothing short of wonderful. We ended up covering a bunch of fun topics that we hadn't explored in previous quarters (notably Boost). This was also the first quarter to have problem sets, which really seemed to have a net positive effect on the class as a whole.

Fall 2008

This was the third time I taught CS106L and it was an absolute blast. There were about fifty percent more students than in previous quarters and the students were among the most motivated I've ever had the pleasure of teaching. This offering of CS106L had considerably more content than before, with about six hours of new material (the preprocessor, advanced functors, smart pointers, advanced inheritance, policy classes, C++0x).

2007-2008 Academic Year
Winter 2007-2008

It was certainly much easier teaching CS106L the second time around. Most of the handouts had already been written, though I ended up writing four more (two assignments, intro to pointers, intro to inheritance). The class was truly great and I had a wonderful time teaching.

Fall 2007

This was the first quarter I taught CS106L, and it was a truly wonderful experience. CS106L was offered as an extra class in conjunction with CS106X, and the students were highly motivated and seemed to really enjoy the material.