• 程序設計方法

    編輯
    本詞條由“匿名用戶” 建檔。

    程序設計方法

    編輯

    程序設計方法 (HtDP) 是 Matthias Felleisen、Robert Bruce Findler、Matthew Flatt 和 Shriram Krishnamurthi 編寫的關于計算機程序系統設計的教科書。 麻省理工學院出版社于 2001 年出版了xxx版,2018 年出版了第二版,可在線免費獲取和印刷。 本書介紹了設計配方的概念,即根據問題陳述創建程序的六步過程。 雖然這本書最初是與教育項目 TeachScheme! 一起使用的。 (更名為 ProgramByDesign),它已被許多高校采用,用于教授程序設計原則。

    根據 HtDP,設計過程從對問題陳述的仔細分析開始,目標是提取對所需程序使用和產生的數據類型的嚴格描述。 這些數據描述的結構決定了程序的組織結構。

    然后,本書仔細介紹了越來越復雜的數據形式。 它從原子形式的數據開始,然后發展到復合形式,包括可以任意大的數據。 對于每一種數據定義,本書都解釋了如何組織程序的原則,從而使遇到新數據形式的程序員仍然能夠系統地構建程序。

    計算機程序的結構和解釋 (SICP) 一樣,HtDP 依賴于編程語言 Scheme 的變體。 它包括自己的編程集成開發環境 (IDE),名為 DrRacket,它提供了一系列編程語言。 xxx種語言僅支持函數、原子數據和簡單結構。 每種語言都為前一種語言增加了表達能力。 除了xxx的教學語言,HtDP的所有語言都是函數式編程語言。

    教學基礎

    編輯

    在 2004 年的論文《計算機科學課程的結構與解釋》中,同一作者比較并對比了程序設計方法 (HtDP) 與計算機程序結構與解釋 (SICP) 的教學重點。 在這篇長達 14 頁的論文中,作者區分了 HtDP 與 SICP 的教學重點,并展示了 HtDP 如何設計為一本教科書,以解決一些學生和教師在 SICP 中遇到的一些問題。

    本文介紹了 SICP 出版的教學環境。 本文以 SICP 的歷史和批判作為開篇,隨后描述了計算課程的目標。 然后描述了 HtDP 背后的教學原則; 特別是設計原則的隱式教學與顯式教學之間的區別。 然后它繼續描述 Scheme 的作用和理想編程環境的重要性,并以對內容和學生/教師對 SICP 與 HtDP 體驗的反應的廣泛評估作為結尾。

    該論文的主要焦點之一是強調 SICP 和 HtDP 之間所需領域知識的差異。 論文中的圖表比較了 SICP 和 HtDP 中的主要練習,相關文本描述了前者中的練習如何比 HtDP 中的練習需要更復雜的領域知識。 該論文繼續解釋為什么所需領域知識的這種差異導致某些學生將領域知識與程序設計知識混淆。

    該論文聲稱 HtDP 的作者為解決 SICP 的感知問題做出了以下四項主要努力:

    • HtDP 明確而不是隱含地解決了應該如何構建程序。
    • 為了簡化編程,本書根據數據定義的復雜程度,指導學生學習五個不同的知識級別。

    程序設計方法

    • 本書的練習側重于程序設計指南,而不是領域知識。
    • 本書假定的領域知識少于 SICP。

    然后,本文區分了結構遞歸(相關數據定義恰好是自引用的,通常需要簡單的設計過程)和生成遞歸(在解決問題的過程和解決問題的過程中生成新問題數據) 方法被重用,通常需要特別的數學洞察力,并強調這種區別如何使他們的方法可擴展到面向對象 (OO) 的世界。

    最后,本文以在課堂上使用 HtDP 后來自不同教師和學生的反應的描述作為結尾。

    內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/195590/

    (1)
    詞條目錄
    1. 程序設計方法
    2. 教學基礎

    輕觸這里

    關閉目錄

    目錄
    91麻精品国产91久久久久