CS106X Course Information
Mondays, 2:15 p.m. – 4:30 p.m., and by appointment
MWF 1:15 – 2:05 p.m.
Gates B01 (and available via
, details TBA)
: CS106X is the more advanced of the two courses teaching introductory
programming abstractions and algorithms.
CS106X is designed as an
alternative to the more sensibly paced CS106B, because many students—
self-taught hackers, exceptionally strong CS106A students, and AP Java
graduates—prefer a more intense treatment in the company of other
AP Java and CS106A are all about basic programming practices—
expressions, control idioms, decomposition, algorithmic thinking, class
design, object orientation, simple inheritance, and client use of arrays and
CS106X teaches advanced programming and abstraction techniques,
worrying first about C++ language mechanics and eventually focusing on
topics such as recursion, C++ vectors, lists and maps, and the
implementation techniques used to build custom, dynamic data structures.
In addition to our weekly lectures, you’ll also attend a weekly discussion section.
The person leading your particular discussion section will be the one grading all of
There are several discussion sections to choose from.
moment to visit
Thursday, September 23
at 5:00 p.m. and Sunday, September 26
at 5:00 p.m.
and state your preferred section times.
Come Sunday evening, our computers will
work their magic and come up with a master section assignment that will
hopefully suit everybody.
SCPD students need to visit the web site as well, for no
reason other than to register for the televised section, which is tentatively
scheduled for Thursday afternoons at 3:15 p.m.
You may have noticed what appears to be a companion lab course,
It is certainly related to CS106X, but it’s completely
optional, and you needn’t sign up for it if you don’t want to or don’t have
CS106L spends time on advanced features of the C++ language that
we just don’t have time for in CS106X.
In particular, you’ll learn the ins