The Structure and Interpretation of the Computer Science Curriculum

The Structure and Interpretation of the Computer Science Curriculum

"The Structure and Interpretation of the Computer Science Curriculum" is a monograph published in 2004 [Journal of Functional Programming, Volume 14 , Issue 4 (July 2004) Pages: 365 - 378 ] 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.

References

External links

* [http://www.ccs.neu.edu/scheme/pubs/jfp2004-fffk.pdf The Structure and Interpretation of the Computer Science Curriculum]
* [http://www.htdp.org Official site of HtDP including full text]
* [http://mitpress.mit.edu/sicp/ Official SICP site, including the full text in HTML]
* [http://www.cs.kent.ac.uk/people/staff/dat/miranda/wadler87.pdf A critique of Abelson and Sussman - or - Why calculating is better than scheming]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Structure and Interpretation of Computer Programs — ( SICP ) is a textbook published in 1985 about general computer programming concepts from MIT Press written by Massachusetts Institute of Technology professors Harold Abelson and Gerald Jay Sussman, with Julie Sussman. It has been used as the… …   Wikipedia

  • Computer science — or computing science (abbreviated CS) is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems. Computer scientists invent algorithmic… …   Wikipedia

  • Recursion (computer science) — Recursion in computer science is a way of thinking about and solving problems. It is, in fact, one of the central ideas of computer science. [cite book last = Epp first = Susanna title = Discrete Mathematics with Applications year=1995… …   Wikipedia

  • The Walden School — For other institutions with the same name, see Walden School (disambiguation). Coordinates: 42°54′30″N 72°03′47″W / 42.90833°N 72.06306°W / 42.90833; 7 …   Wikipedia

  • History of science — History of science …   Wikipedia

  • Robert R. McCormick School of Engineering and Applied Science — Established 1909 Type Unit of Northwestern University Dea …   Wikipedia

  • NLP and science — This article is under development, and also missing citations for certain statements Attempts at scientific studies of Neuro linguistic programming (NLP) have been undertaken virtually since NLP was first formulated in the early 1970s. The… …   Wikipedia

  • Compiler — This article is about the computing term. For the anime, see Compiler (anime). A diagram of the operation of a typical multi language, multi target compiler A compiler is a computer program (or set of programs) that transforms source code written …   Wikipedia

  • How to Design Programs — (HtDP) is a textbook by Matthias Felleisen, Robert Bruce Findler, Matthew Flatt and Shriram Krishnamurthi on the systematic design of computer programs published in 2001 by MIT Press. The book introduces the concept of a design recipe , a six… …   Wikipedia

  • Racket (programming language) — Racket Paradigm(s) Multi paradigm: Functional, Procedural, Modular, Object oriented, Reflective, Meta Appeared in 1994 Developer …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”