Content deleted Content added
→Pedagogical basis: Merged Tags: Mobile edit Mobile web edit Advanced mobile edit |
→Pedagogical basis: Refactored. Tags: Mobile edit Mobile web edit Advanced mobile edit |
||
Line 37:
|archive-url=https://web.archive.org/web/20080511171056/http://www.ccs.neu.edu/scheme/pubs/jfp2004-fffk.pdf
|archive-date=May 11, 2008
}} a paper in which the authors compare and contrast HtDP with SICP.</ref> the authors [[Matthias Felleisen]], [[Robert Bruce Findler]], [[Matthew Flatt]] and [[Shriram Krishnamurthi]] compared
In the 14-page paper,<ref>Journal of Functional Programming, Volume 14, Issue 4 (July 2004) Pages: 365 - 378 </ref><ref>[http://www.ccs.neu.edu/scheme/pubs/jfp2004-fffk.pdf The Structure and Interpretation of the Computer Science Curriculum]</ref> the authors
distinguish the pedagogic focus of HtDP from that of SICP, and show how HtDP was designed as a textbook to address some problems that some students and teachers had with 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 (programming language)|Scheme]] and the importance of an ideal [[Computer programming|programming]] environment, and concludes with an extensive evaluation of content and student/faculty reaction to experience with SICP vs. HtDP.
Line 46 ⟶ 47:
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.
|