This course is based on a number of resources. The most direct influence is the Fundamentals: II course at Northeastern University; in particular Ben Lerner’s infrastructure and improvements to the tester library. In turn, that course draws much of its material from How to Design Classes. Inspiration also came from Kathi Fisler’s CS2102.

Those curricula are intended as a second programming course, so this course adapts the pace and introduction to match an accelerated introduction.