Source Code Management

Source code management systems are how modern professional programmers work with code. They allow you to track progress, commit code as it becomes valid, compare with previons versions of code, bisect versions to show where a bug showed up, and many other useful things. As a developer, you should get used to using an SCM as part of your normal workflow.

We will be using Fossil SCM. This is the system that Professor Mason personally uses and recommends for other purposes as well. There are descriptions of how to set it up for this course here.

There are many other SCMs in existence, such as GIT, Mercurial, SVN, darcs, Monotone, CVS. Wikipedia has a good list. Each has its good points, but for a small development team, fossil has some very nice properties, including built-in wiki, bug-tracker and blogging, in addition to the primary version-control aspect.

Books

The text for the course is Exxentials of Programming Languages, by Friedman and Wand (and Haynes for 2nd edition). I am using the 2nd edition, but you may not be able to find it. The bookstore should have the 3rd edition.

There are many relevant books including links to free ebooks here.

See also resources for CPS506 - Comparative Programming Languages