我们经常看到“计算思维”这个术语,那到底什么是计算思维(CT)?它与编程和计算机科学有什么区别?尤其在教学方面,它们的区别在那里?

什么是计算思维(CT)?

简而言之,计算思维是利用计算机科学解决问题的一种强有力的思维方式。

具体阐述下计算思维的定义。当提出问题时,首先定义问题的内涵,然后利用计算的思路解决问题的方法就是计算思维。具有计算思维的人,会通过收集数据、分析数据来理解和思考问题。不仅仅体现在解决某一个问题上,继续探索思维模式:去除问题细节,抽象定义问题,解决具有数据特征的所有问题。如果愿意更深入探讨,可以定义解决问题的步骤,建立数据模型,并调试和验证解决方案。下图解释了构成计算思维的元件。

少儿编程火爆,如何培养孩子的计算思维?-少儿编程教育网

计算思维的背景

“计算思维”术语走入大众视野,起源于期刊《ACM通讯》(Communications of the ACM)2006年计算机科学家 Jeannette Wing 的一篇文章。在那篇文章中Wing提到:

”计算思维是每个人(而不仅仅是计算机科学家)都应该具备的基本技能,计算思维同阅读,写作和算术一样,应当成为孩子们必备的分析能力。“

CS教育(尤其K-8年级)不应当只是成就程序员或计算机科学家。CS教育应该使每个生活在数字世界的人,具有运用计算思维解决问题的能力。所以,应该有更多的教育项目,教育资源或教学大纲注重培养孩子们的计算思维——而不只是计算机科学或编程。ISTE和CSTA两家机构联合定义了计算思维的操作过程,并倡导在课堂上培养孩子们的CT能力。最近,Google创建了融合不同领域的CT在线课程,并提供有价值的CT资源。这些年来,Scratch,一种流行的图形化编程语言,通过对计算的定义,实践和对观点的讨论解释了CT。

注: Seymour Papert 在1980年出版的《Mindstorms》一书中,就提到了运用计算思维的重要性,尽管他的定义和操作步骤与Wing不完全相同。

计算思维资源:如何在课堂上培养CT能力?

孩子们必须通过学习编程来锻炼计算思维能力吗?有些人的答案是肯定的,另一些人则关心问题是如何解决的,而不在意解决的方法是否是通过设计和编码实现的。为项目编写代码,调试程序无疑是锻炼CT能力的一种有趣方法,不过除了编码,老师还可以在CT课上使用很多非编程类资源。相关例子如下:

1 语言和历史:谷歌spreadsheets和谷歌Ngram Viewer。使用电子表格函数来评估语言的使用情况。

2 数学:面向问题提供解决方案的Desmos教育资源。例如教案:通过收集数据,建立模型,预测手机间隔多久就需要充电。

3 社会研究: Wolfram Alpha的教育案例。在此课程中,学生通过使用计算知识引擎Wolfram Alpha,研究数据,寻找某城市通往世界各地的最短飞行路线。

4 科学:学生可以使用MIT提供Starlogo Nova工具。建立如水循环,生态系统等模拟计算模型进行实验。如果需要,学生还可以通过修改代码,修改模型来理解科学内涵。

当今社会,我们需要提供给每个孩子成为科技创造者的机会,让他们理解并学会运用计算思维的强大力量去解决问题。夕阳西下,当学校回归沉寂之际,不管你决定让孩子们关注计算机科学,编程还是计算思维,你是否思考过:最重要的是让孩子们超越对技术的简单消费,培养孩子们的创造力和解决问题的能力。