课程简介
这门编程课程的重点不在于学习程序设计语言,而在于学习一种设计方法。这种实践方法以对优秀程序结构的多年研究为基础,它将激发你的创造力,有助于你用任何一种语言编程。 编程时最主要的挑战是准确判断我们的程序要做什么,设计方法的重要贡献是帮你系统地提高你的程序要求。你以后会轻而易举地贬值连续结构,你将学会用这些结构编制程序。这很重要,因为有用的程序通常需要后续的改善。另外,通过测试——编程过程的重要环节,你会知道如何让你的程序更可靠。 课程提纲: 此课程分为三个部分: 第一部分,你将利用样本数据学习核心设计方法。在课程的这部分中,我们以现有数据,介绍编制程序的理论。这部分包括简单的交互程序设计,最终项目是一个互动游戏。 第二部分,重点在于更精巧的数据形式,它会被用于更复杂的信息。利用列表和树状图,你将学会何时、怎样构建数据。最终项目将变为一个更复杂的互动游戏,需要更复杂的数据结构。 第三部分,在更复杂的程序中,你会学习搜索、复杂递推、图表,并将不同的构建模式混合起来。课程的此部分包括一个复杂而难以解决的项目计划。 课程运用一些专业语言,它几乎包括所有语言的核心特征,例如:Python,JavaScript,Ruby,Java等。在一个星期内几乎要学习所有语言,其他时间会用在程序设计上。涉及的重点和语言的核心特征共同表明:在将来,你学到的所有知识都将适用于任何一种你所用的语言。
展开
课程章节
授课教师
-
Gregor Kiczales 英属哥伦比亚大学
Gregor是计算机械协会院士和不列颠哥伦比亚大学的计算机科学教授. 他职业生涯的长期研究目标,会借着这门课继续前行,那便是使得程序员能够尽可能多的编写程序,让编程看起来像他们自己的设计.
精华笔记
精华笔记正在评选中,去看看全部笔记
常见问题
目前还没有常见问题哟!