英国国家计算机教育中心学术委员会发布了一份白皮书:计算机教育中的实用程序设计.这篇论文的目标是我强烈支持的:
这篇白皮书论证了实践编程作为年轻人计算机教育的核心元素的根本重要性。
他们担心2014年英语计算机课程的实施可能会太过倾向于成为一个理论纪律,远离编程,这些东西让计算变得神奇。我和他们一样担心。例如,我担心在没有计算机的情况下教授计算思维会导致枯燥的数学或哲学课,因为没有自动化艾伦·佩利斯在1961年写道给了我们思考的新工具。
白皮书可能太过沉迷于编程,模糊了计算机科学和软件工程之间的界限。他们写道:
计算机科学的全部目的就是帮助我们建造东西。作为Fred Brooks说过:“自然科学家为了研究而建造;但是工程师为了建造而学习他接着说:“我认为,根据任何合理的标准,我们称为“计算机科学”的学科实际上不是一门科学,而是一门综合的、工程的学科。我们关心的是制造东西,无论是计算机、算法还是软件系统事实上,计算机科学两者兼而有之(而且还不止于此)。然而,为了建设而学习是一个基本部分。
因此,构建东西(编程)并不是一个可选的附加组件:这是主题本身存在的一个关键理由。
这份白皮书的作者反对计算机科学的纯理论框架。为了实现这个目标,他们把钟摆往相反的方向使劲推,朝着建筑、制造和工程的方向推。我不会在这里引用更多的白皮书内容,但我对他们如何看待计算机科学与社会科学的联系做出了反应,例如,社会科学教我们如何研究人类,从而可以产生更好的软件——而不是编程是进一步开展社会科学教育的工具.
白皮书的作者们面临的挑战是计算机领域的一个老问题——这是一个很难归类的领域。彼得·丹宁和彼得·弗里曼在2009年写道把计算机科学单独归类为工程学是没有结果的。计算机科学包括工程、科学和数学等方面,但它实际上是一种全新的范式。
在大流行期间,我与密歇根大学文学、科学和艺术学院(LSA)的同事们一起回答了一个问题:文科和理科中的计算是什么?关于计算,LSA学生需要知道什么?我和我的联合主席格斯·埃弗拉尔以及来自整个校园的一个特别小组(见我们的最终报告),我们提出了三个主题来描述计算如何在LSA中出现:
这三个主题都涉及到“制造”的各个方面,但并不总是从工程学的角度出发。计算科学家和艺术家通常会编写一些简短的代码片段来尝试一个想法或生成一个更大的解决方案,然后他们会扔掉这些代码。它们的用法更像是“bricoleur”而不是“planner”(特克& Papert).密歇根大学的关键计算学者告诉我,他们希望他们的学生是“会话的程序员——他们需要能够与技术开发人员交谈,而不是自己成为工程师。我们教授对话式程序员的最佳方法包括编程,但它们与我们把计算作为工程学教授的方法不同。
我非常同意作者的观点,即编程是计算机教育的一个关键方面。为一门影响数百万学生的课程设置议程需要广泛的视角——我们想要的是理论/分析而且工程/制造,以及介于两者之间的许多用途。让我们定义计算机教育,以支持学生在他们的生活和职业生涯中使用计算机的所有方式。
马克Guzdial她是密歇根大学工程学院电气工程和计算机科学教授,以及信息学院的信息教授。
没有发现记录