1计算思维的核心概念
2006 年 3 月,原任美国卡内基 梅隆大学计算机科学系主任周以真教授在美国计算机权威期刊《Communications of the ACM》杂志上给出并定义的计算思维(Computational Thinking)。周教授认为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。国内学者也对计算思维的核心体系结构也进行了广泛的探讨和研究。我们认为计算思维主要由以下几个核心点构成:
(1)抽象性 : 计算机通过一系列的符号化形式表达处理客观问题,所以抽象和形式化成为计算思维的基础框架。
(2)自动化:自动化意味着需要计算机来解释抽象,并且是一个具有处理、存贮和通信能力的设备。
(3)构造性:在计算机解决现实问题之前,应建立有效的算法途径,构造具有抽象性的解决问题的模块化体系结构,并且具有可计算的高效性。
(4)网络化:是指信息从一个过程或者对象传输到另一个过程或者对象。
(5)协作:是为保证多个主体在进行规模性合作计算中能够合理分配角色和资源得到确切的结论而对整个过程中各步骤序列先后顺序进行的时序控制。
(6)符号化:采用标识符号抽象代表现实物理世界,对待解决问题进行符号化的逻辑推理,使得计算思维具有数字化的表达特性。
2计算思维是专业人才培养的重要基础2010 年 7 月在西安交通大学举办的首届九校联盟(C9)计算机基础课程研讨会上,经过广泛的讨论,取得了具有巨大影响性的实际成果,并发表了《九校联盟(C9)计算机基础教学发展战略联合声明》。声明中特别地把计算思维能力的培养作为计算机教育的核心任务,指明了当代大学计算教育改革的基本方向。当今社会信息技术已成为推动社会进步的重要力量,计算机技术成为解决信息传递、数据分析和智能处理的必备工具,是高级人才必备的素养。因此大学计算机教学不仅是培养具有专业知识能力背景的实践性人才,更重要的是使大学生具备用计算思维方式解决将面对的各类实际问题,成为具有创新精神的复合型人才。计算科学已经成为重要的理论手段和实践方法,它的地位已如同大学数学、大学物理一样重要。计算机教学不只是教授学生怎么使用计算机或进行程序设计,更承担着培养大学生综合素质与能力的重任。计算思维不仅使学生理解计算机软硬件的结构原理及解决问题的理论思想,更重要的是让受教者理解和掌握领域内独特的核心思维方式和计算思维的原理应用。计算机科学教育不仅作为通识教育的重要组成内容,我们应更加重视向学生展现计算机学科的思维方式。
3计算思维能力培养基本思路学习程序设计,是理解计算思维的核心理论很好的途径之一。通过设计程序解决实际问题,可以建立计算思维的认知模型,是建立计算思维理念的重要手段。程序设计课程的内容符号化求解问题的方法,是培养计算思维能力的重要内容。但是在教学的过程中,很容易陷入对语法知识细节的过多深入,偏重于语言本身而不是解决问题的思维方式,这与培养学生的计算思维的目的是相悖的。在将计算思维的培养作为教学核心任务的教学过程中,教学方法应该突出体现使用编程解决特定问题的方式,使学生通过实践确实感受和领悟计算机问题求解的基本方法和思维模式。除了培养学生使用计算机解决问题的能力外,还需要围绕着抽象性、自动化和构造性三个最基本的计算思维展开课程教学活动。在理论教学上,主要从以下方面进行教学实践:(1)将求解具体问题分成以下行为步骤:①使问题抽象符号化 ( 建立分析模型);②寻找解决问题的具体方案和思路方法(设计算法);③如何提高计算效率(高效的求解);(2)算法优先,培养学生计算思维的思考过程。在讲解案例时,先提出实际问题,然后引导学生积极主动地用计算思维去思考解决问题的方案,将已知信息转化为计算机的符号表达形式,通过符号推理,将解决问题的算法作为教学的重点内容,引导学生在算法学习过程中,掌握计算思维的观点和步骤。
在学习算法时,描述问题的手段可是自然语言、伪代码或流程图等多种形式。我们不仅要关注实际结果,更重要的是把重点内容集中在解决问题的计算思维培养上。通过算法的学习过程,是掌握计算机思维的理想手段之一。