The Structure and Interpretation of The Computer Science Curriculum

The Structure and Interpretation of the Computer Science Curriculum is a monograph published in 2004 by Matthias Felleisen, Robert Bruce Findler, Matthew Flatt and Shriram Krishnamurthi comparing and contrasting the pedagogical focus of How to Design Programs (HtDP) with that of Structure and Interpretation of Computer Programs (SICP).

The paper introduces the pedagogical landscape surrounding the publication of SICP. The paper starts with a history and critique of SICP, followed by a description of the goal of the computing curriculum. It then describes the principles of teaching behind HtDP; in particular, the difference between implicit vs. explicit teaching of design principles. It then continues on to describe the role of Scheme and the importance of an ideal programming environment, and concludes with an extensive evaluation of content and student/faculty reaction to experience with SICP vs. HtDP.

One of the major focuses of the paper is the emphasis on the difference in required domain knowledge between SICP and HtDP. A chart in the paper compares major exercises in SICP and HtDP, and the related text describes how the exercises in the former require considerably more sophisticated domain knowledge than those of HtDP. The paper continues on to explain why this difference in required domain knowledge has resulted in certain students having confused domain knowledge with program design knowledge.

The paper claims the following four major efforts that the authors of HtDP have made to address perceived issues with SICP:

1) HtDP addresses explicitly, rather than implicitly, how programs should be constructed.

2) To make programming easier, the book guides students through five different knowledge levels corresponding to data definition levels of complexity.

3) The book's exercises focus on program design guidelines, rather than domain knowledge.

4) The book assumes less domain knowledge than that of SICP.

The paper then distinguishes between structural recursion, where the related data definition happens to be self-referential, requiring usually a straightforward design process, and generative recursion, where new problem data is generated in the middle of the problem-solving process and the problem solving method is re-used, often requiring ad hoc mathematical insight, and stresses how this distinction makes their approach scalable to the object-oriented (OO) world.

Finally, the paper concludes with a description of responses from various faculty and students after having used HtDP in the classroom.

Famous quotes containing the words curriculum, science, structure and/or computer:

    If we focus exclusively on teaching our children to read, write, spell, and count in their first years of life, we turn our homes into extensions of school and turn bringing up a child into an exercise in curriculum development. We should be parents first and teachers of academic skills second.
    Neil Kurshan (20th century)

    Consider the China pride and stagnant self-complacency of mankind. This generation inclines a little to congratulate itself on being the last of an illustrious line; and in Boston and London and Paris and Rome, thinking of its long descent, it speaks of its progress in art and science and literature with satisfaction.... It is the good Adam contemplating his own virtue.
    Henry David Thoreau (1817–1862)

    Vashtar: So it’s finished. A structure to house one man and the greatest treasure of all time.
    Senta: And a structure that will last for all time.
    Vashtar: Only history will tell that.
    Senta: Sire, will he not be remembered?
    Vashtar: Yes, he’ll be remembered. The pyramid’ll keep his memory alive. In that he built better than he knew.
    William Faulkner (1897–1962)

    The analogy between the mind and a computer fails for many reasons. The brain is constructed by principles that assure diversity and degeneracy. Unlike a computer, it has no replicative memory. It is historical and value driven. It forms categories by internal criteria and by constraints acting at many scales, not by means of a syntactically constructed program. The world with which the brain interacts is not unequivocally made up of classical categories.
    Gerald M. Edelman (b. 1928)