List of approaches being used: depth vs breadth, "traditional" vs object-based vs object-oriented, functional vs procedural etc
Their Applied Apprenticeship Approach (AAA) transcends language or focus
This approach is an example of the "read/call before write" – also object-based students should be expected to read and modify programs before writing them. Similar to the notion of using a case study. Students extend programs and eventually develop them from scratch.
Students coming out of a one or two course sequence in computer science often have no feel for what the discipline is about. More about the problems of toy problems.
Talks about problems with delivery including textbooks built along the lines of programming constructs. Argue that applications can be used as a means of motivating language constructs and providing a context for their study. Students are expected to master rudiments of different control constructs and data types but this is done through motivating problems.
Talks about and has a quote about using functions in simple programs. http://www.cs.duke.edu/~ola/apprentice