Menu

Background

Colin Leach

Background

The undergraduate CS course called Programming Abstractions has been made publicly available as part of the Stanford Engineering Everywhere initiative, including lecture videos and all course materials.

For the programming assignments, Stanford supplied a student-friendly API as binary-format libraries for the platforms they support: Visual Studio on Windows and XCode on Mac. This has a few limitations:

  • The VS library is version specific. The one supplied with the SEE course won't install unless you have already installed VS 2005 (or VC++ Express 2005), and this is now rare and obsolete. Newer versions of the library may be available if you search, e.g. at http://www.stanford.edu/class/cs106x/materials2/cs106lib but getting them to work with VC++ Express can be tricky (I failed!)
  • Linux (and *nix more broadly) is totally unsupported, though lots of external students would prefer to use this. Stanford have included some clear hints (in their lectures and handouts) that porting the graphics functions to the non-standardised world of *nix systems is more effort than they want to invest.

The present software is an attempt to implement the CS106B/X API in an open-source format compatible with the widest possible range of systems. I am using it to do the programming assignments, and I hope it will be useful to others.
CAVEAT: I am not a professional programmer and have limited C++ experience (though much more now than before I wrote the graphics code!). Please view this software with a skeptical eye, and share any improvements with the community.


Related

Wiki: CS106 Libraries