Approach at University of the Witwatersrand: Early
knowledge
here, the theoretical basis for the course is developed at a factual level: what mathematical concepts are needed, and constructs in a simple language (Scheme)
comprehension
the comprehension level comes from coding from a given design, and applying standard data structures and algorithms
application
application arises from choosing data structures and algorithms, understanding basic analysis results and simple proofs of results
Programming Early Considered Harmful SIGCSE 2001 23 March, Charlotte, NC