Provide the material needed for three complete computer science courses: what are typically called CS 1, CS 2, and a data structures course, all using C++ as the programming language.
Guy Steele's keynote at the 1998 ACM OOPSLA conference on "Growing a Language" (mostly about JAVA) discusses the importance of and issues associated with designing a programming language that can be grown by its users.
Inspired by Phil Haack’s article 19 Eponymous Laws of Software Development, Joey deVilla decided to collect laws, axioms and rules pertaining to mainstream software development and put them in a nice, easy-to-read table.