程序设计方法
编辑程序设计方法 (HtDP) 是 编写的关于计算机程序系统设计的教科书。
根据 HtDP,设计过程从对问题陈述的仔细分析开始,目标是提取对所需程序使用和产生的数据类型的严格描述。 这些数据描述的结构决定了程序的组织结构。
然后,本书仔细介绍了越来越复杂的数据形式。 它从原子形式的数据开始,然后发展到复合形式,包括可以任意大的数据。 对于每一种数据定义,本书都解释了如何组织程序的原则,从而使遇到新数据形式的程序员仍然能够系统地构建程序。
与计算机程序的结构和解释 (SICP) 一样,HtDP 依赖于编程语言 Scheme 的变体。 它包括自己的编程集成开发环境 (IDE),名为 DrRacket,它提供了一系列编程语言。 xxx种语言仅支持函数、原子数据和简单结构。 每种语言都为前一种语言增加了表达能力。 除了xxx的教学语言,HtDP的所有语言都是函数式编程语言。
教学基础
编辑本文介绍了 SICP 出版的教学环境。 本文以 SICP 的历史和批判作为开篇,随后描述了计算课程的目标。 然后描述了 HtDP 背后的教学原则; 特别是设计原则的隐式教学与显式教学之间的区别。 然后它继续描述 Scheme 的作用和理想编程环境的重要性,并以对内容和学生/教师对 SICP 与 HtDP 体验的反应的广泛评估作为结尾。
该论文的主要焦点之一是强调 SICP 和 HtDP 之间所需领域知识的差异。 论文中的图表比较了 SICP 和 HtDP 中的主要练习,相关文本描述了前者中的练习如何比 HtDP 中的练习需要更复杂的领域知识。 该论文继续解释为什么所需领域知识的这种差异导致某些学生将领域知识与程序设计知识混淆。
该论文声称 HtDP 的作者为解决 SICP 的感知问题做出了以下四项主要努力:
- HtDP 明确而不是隐含地解决了应该如何构建程序。
- 为了简化编程,本书根据数据定义的复杂程度,指导学生学习五个不同的知识级别。
- 本书的练习侧重于程序设计指南,而不是领域知识。
- 本书假定的领域知识少于 SICP。
然后,本文区分了结构递归(相关数据定义恰好是自引用的,通常需要简单的设计过程)和生成递归(在解决问题的过程和解决问题的过程中生成新问题数据) 方法被重用,通常需要特别的数学洞察力,并强调这种区别如何使他们的方法可扩展到面向对象 (OO) 的世界。
最后,本文以在课堂上使用 HtDP 后来自不同教师和学生的反应的描述作为结尾。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/195590/