Animated Program Design: Intermediate Program Design Using Video Game Development

Morazán, Marco T.

  • 出版商: Springer
  • 出版日期: 2022-09-24
  • 售價: $2,370
  • 貴賓價: 9.5$2,252
  • 語言: 英文
  • 頁數: 485
  • 裝訂: Hardcover - also called cloth, retail trade, or trade
  • ISBN: 3031043162
  • ISBN-13: 9783031043161
  • 海外代購書籍(需單獨結帳)

商品描述

This textbook presents a systematic methodology for program development by using design recipes, i.e. a series of steps, each with a specific outcome, that takes a problem solver from a problem statement to a working and tested programmed solution. It introduces the reader to generative recursion, heuristic searching, accumulative recursion, tail recursion, iteration, mutation, loops, program correctness, and vectors. It uses video game development to make the content fun while at the same time teaching problem-solving techniques.

The book is divided into four parts. Part I presents introductory material on basic problem solving and program design. It starts by reviewing the basic steps of a design recipe using structural recursion on a list. It then proceeds to review code refactoring-a common technique used to refine programs when a better or more elegant way is found to solve a problem-and introduces the reader to randomness. Next, Part II explores a new type of recursion called generative recursion. It navigates the reader through examples involving fractal image generation, efficient sorting, and efficient searching techniques such as binary, depth-first, and breadth-first search. Part III then explores a new type of recursion called accumulative (or accumulator) recursion. Examples used include finding a path in a graph, improving insertion sorting, and list-folding operations. Finally, Part IV explores mutation. To aid the reader in properly sequencing mutations it presents Hoare Logic and program correctness. In addition, it introduces vectors, vector processing, in-place operations, and circular data. Throughout the whole book complexity analysis and empirical experimentation is used to evaluate solutions.

This textbook targets undergraduates at all levels as well as graduate students wishing to learn about program design. It details advanced types of recursion, a disciplined approach to the use of mutation, and illustrates the design process by developing a video game exploiting iterative refinement.

商品描述(中文翻譯)

這本教科書介紹了一種系統化的程式開發方法,使用設計配方(design recipes),即一系列步驟,每個步驟都有特定的結果,將問題解決者從問題陳述帶到一個可運行且經過測試的程式解決方案。它向讀者介紹了生成遞迴、啟發式搜索、累積遞迴、尾遞迴、迭代、突變、循環、程式正確性和向量。它使用視頻遊戲開發來使內容有趣,同時教授解決問題的技巧。

這本書分為四個部分。第一部分介紹了基本的問題解決和程式設計的入門材料。它首先通過使用對列表進行結構遞迴的基本步驟來回顧設計配方的基本步驟。然後,它繼續介紹了代碼重構-一種在找到更好或更優雅的解決問題的方法時對程序進行改進的常用技術-並向讀者介紹了隨機性。接下來,第二部分探索了一種新類型的遞迴,稱為生成遞迴。它通過涉及分形圖像生成、高效排序和高效搜索技術(如二分、深度優先和廣度優先搜索)的示例引導讀者。然後,第三部分探索了一種新類型的遞迴,稱為累積(或累加器)遞迴。使用的示例包括在圖中找到一條路徑、改進插入排序和列表折疊操作。最後,第四部分探索了突變。為了幫助讀者正確地排序突變,它介紹了霍爾邏輯和程式正確性。此外,它還介紹了向量、向量處理、原地操作和循環數據。整本書都使用複雜度分析和實驗來評估解決方案。

這本教科書針對所有級別的本科生以及希望學習程式設計的研究生。它詳細介紹了高級遞迴類型、對突變使用的有紀律的方法,並通過開發一個利用迭代改進的視頻遊戲來說明設計過程。

作者簡介

Marco T. Morazán joined Seton Hall University in 1999 where he teaches at all levels of the Computer Science curriculum including his signature courses on Problem Solving and Programming. He is a strong proponent of program by design in which types guide program development and the author of multiple peer-reviewed articles on computer science education and the implementation of programming languages. Animated Program Design is the result of over ten years learning from his students how to teach them type-based programming and along with his previous Springer book Animated Problem Solving presents a year-long introduction to programming and Computer Science curriculum for first-year university students.

作者簡介(中文翻譯)

Marco T. Morazán於1999年加入Seton Hall大學,他在計算機科學課程的各個層次上教授,包括他的標誌性課程「問題解決和編程」。他是程序設計的堅定支持者,其中類型指導程序開發,並且是多篇經過同行評審的計算機科學教育和編程語言實施的文章的作者。《動畫程序設計》是他從學生那裡學習了十多年如何教授基於類型的編程的結果,與他之前的Springer書籍《動畫問題解決》一起,為大一學生提供了一年的編程和計算機科學課程的介紹。