培养计算机专业人才的计算思维和计算行动之探讨
如何培养学生的计算思维(Computing Thinking and Computational Thinking)是全世界计算机教育工作者共同关心的话题。编程教学的重要目标是为了让每一个人具备编写程序语言来表达思想并与他人交流的能力,最终正确理解和认知世界。计算是各种思维方式的重要中间媒介,学习者通过计算思维所独有的自动化和模型化方法,可更为有效地掌握其他科学的本质和内在特征。
美国十多年来持续关注计算机教育与计算思维的全民培养,一项最新的美国、中国、印度、俄罗斯四国联合调查结果表明,美国计算机专业大四学生的计算机科学技能超过其他三国的同龄人。即便如此,调查报告还认为美国不应该安于现状,否则由于其他国家的持续投入,美国的优势将逐渐消失。可见,各国计算机教育工作者都应该对计算思维的培养加以重视,以避免未来国家竞争力落后。我国的计算机教育界也开始广泛认同计算思维这一重要理念。国内不少大学已经开设了《计算机科学导论》相关课程,在学生的入门学习期间着重培养学生的计算逻辑思维、算法思维、网络思维和计算系统思维进而形成完整的计算思维。
计算行动(computationalaction)则是一种新的计算机教育框架,提出在学习计算机的同时,年轻人也应该有机会利用计算机来创造对他们的生活和社区有直接影响的事物。计算行动具有两个关键维度:计算身份(computational identity)和数字赋能(digital empowerment),而且进一步提出通过专注计算行动以及计算思维(computational thinking),教师可以使计算机教育对年轻的学习者更具包容性、激励性和赋能作用。从计算机学习者开始学习编程的那一刻开始,他们就有能力去开发对他们的生活有实质影响的计算机产品,而他们所需要的就是处于一个允许他们这么做的环境之中。
很多时候,K-12计算机教育一直强调孩子学习编程的“基础”。更高阶段的以发展学习者的计算思维为中心的计算机科学教育,主要聚焦于让学习者去理解计算的一些细节要素,如变量、循环条件、并行、运算符和数据处理。这种最初的关注点是计算的概念和过程,将开发现实应用程序留给“以后”再做的做法存在这样一种风险:让学习者觉得学习计算机对他们来说并不重要。这种做法回避了很多学习数学和物理的学生们都曾问过的一个问题:“什么时候我们才能在生活中运用到所学的知识?
虽然已经有各种尝试将计算机教育置于现实世界的背景与问题中,但这些尝试通常开发的是通用系统(例如为超市设计的结账系统),无法与学习者特定的个人兴趣和生活联系起来。尽管这些系统在实际应用中对所有学习者都是有价值的,但是对于年轻女性和来自非主流群体的青年来说,并没有给他们提供开发具有现实意义的计算机解决方案的机会,这是一个严重的问题。对于传统上在计算领域代表名额不足的这些群体,人们发现,融入并归属于更广泛的计算社区的感觉与能够开发对其自身和社区都至关重要的计算解决方案密切相关。通过与学生的现实生活联系起来,我们可以帮助他们以批判的眼光看待自己能够在影响社区方面充当怎样的角色,并且使得他们不仅仅止步于学习简单的编程,相反,我们可以问他们想要对什么内容编程以及为什么对它们编程。
通过将计算机教育置于与学生紧密相关的现实世界中,可以能让更多的人参与到计算机领域中来为青年和社会带来好处。这不仅有助于培养急需的程序员,也向社会输送了计算机文化和有解决问题能力的公民。