基于计算思维能力培养的程序设计类实验课程改革

2014-03-14 03:29孙丽娜
黑龙江教育·理论与实践 2014年3期
关键词:程序设计思维能力概念

吴 玲,赵 鹏,孙丽娜

(1.黑龙江大学计算机科学技术学院,黑龙江哈尔滨150080)

(2.黑龙江大学团委,黑龙江哈尔滨150080)

程序设计类课程的主要教学任务是学习使用一种或多种程序设计语言,通过介绍用计算机解题的详细过程,训练学生编写和调试程序的基本技能,为其他后续课程的学习打下基础,是计算机及其相关专业学生最早接触的专业基础课程,也是计算机及其相关专业的核心课程。

但通过课题组多年来教育教学的实际经验显示,目前大部分学生对程序设计类课程存在普遍的认知误区:①语法规则复杂琐碎、易忘难记,学习难度较大;②课程内容枯燥乏味,不容易激发学生的学习热情;③程序编写难上加难,久而久之会产生畏难情绪。如何培养学生正确的程序设计思维习惯,提高学生的计算思维能力,探索有效的实践教学模式,是从事程序设计类课程实践教学的老师亟待解决的问题。

一、计算思维的提出

什么是计算思维?计算思维有怎样的作用?计算思维对未来社会将会有怎样的影响?

计算思维在2006年,由周以真教授在《Computational Thinking》一文中提出。其本质概念,最早可以追溯到中国古代的算筹计算,周教授在此基础上对其进行了清晰化和系统化的总结和整理。

计算思维涵盖了包括计算机科学在内的一系列思维活动,使运用计算机科学的基础概念进行问题求解、系统设计和人类行为的理解,周教授提出以此来探索计算机学习的教育价值。[1]它强调的是如何求解问题和如何用计算机实现这个问题,其本质是抽象和自动化,其特征是可行和构造。2011年,ISTE和CSTA对计算思维进行了“操作性定义”,将其阐释为6个步骤的问题解决过程。

2010年5月,中国高等学校计算机基础教学指导委员会提出“要将计算思维融入到计算机基础课程中传授,以此培养高素质的研究性人才”,而在7月的C9会议上发表的《九校联盟计算机基础教学发展战略联合声明》的核心要点则提出将“培养学生的‘计算思维’能力”作为计算机基础教学的核心任务。

二、程序设计类课程中计算思维的标志性概念

计算思维与理论思维、实验思维仪器并称为推动人类社会文明进步和科技发展的三大科学思维,它由计算学科抽象而来,所以,计算科学的基础概念自然也就是计算思维的最好体现。

在CC1991中,将核心概念定义为具有普遍性和持久性的重要思想、原则和方法。按照CC1991的定义,它必须是在数学、科学和工程中定义的概念,在学科中多次出现,在技术上有高度独立,在各分支领域及抽象、理论和设计的各个层面上都有很多应用。结合CC1991概括的12个核心概念,并根据课题组多年的教育教学实践经验,将程序设计类课程中计算思维的标志性概念概括如下:

图1 程序设计类课程中计算思维的标志性概念

如上图所示,可知,程序设计类课程是对学生进行思维训练的一个最直接、最具操作性的平台。

三、探索在程序设计类实验课程中对学生进行计算思维能力培养的途径

计算机科学体系庞杂,本身并非仅仅是编程那么简单,其能力分为计算机使用能力、计算机系统认知能力和计算思维能力。最低要求层面的计算机使用能力,就是利用计算机进行各种操作以获取信息或者计算结果的能力;中层的计算机系统认知能力,是对计算机系统的理解和应用能力,建立在底层使用能力的基础上,是对计算机系统全面理解的较高要求;最顶层的计算思维能力,是计算机科学与数学思维、逻辑思维和工程思维的交集,并不是单独的、与其他思维方法毫无关联的独立思维方法。

通过对计算思维特征的分析,我们可以清晰地看到,要想在程序设计类课程中对学生进行计算思维能力的培养,就需要解决任务抽象和分解、启发式推理、知识体系重构、思维能力训练等基本问题[2]。

按照ACM/ICPC的解释,编程解题的思维过程一般可以分解为三个阶段,即一观察、二联想、三变换。在这个过程中编程者先通过观察,对问题进行深入的认识和理解;再进行联想,寻找一个切入点将该问题同编程者已有的知识和经验进行联结;最后通过变换,将一个问题转化为另一个或分解成另几个容易解决的新问题,以达到解决原问题的目的。基于此,课题组尝试对目前程序设计类实验课程所采用的问题驱动、项目分解、启发式教学等方法进行完善,对学生在程序设计过程中通过“观察——联想——变换”培养和引导其计算思维方法,潜移默化地培养学生的计算思维能力。

以“C语言程序设计”课程为例,课程中的许多知识点都为计算思维的培养提供了生动的案例。第一堂实验课上,实验教师主要以展示经典案例为主,提出一些经典问题,结合生活中的实际应用过程,形象直观地向学生们展现C语言程序设计的魅力所在。从分析问题,到抽象成数学模型,再进行算法设计,然后变成与调试,最后生成可应用于实际的程序,这个过程是对计算思维最好的诠释。例如,实验教师可以从“猜数游戏”入手,在课堂上用游戏的方式激发学生对语法、语义、算法、设计的学习兴趣,从游戏引入知识点,用知识点带动学生对语法的掌握、对算法的理解、对设计的熟悉,是学生加深对计算思维的理解。这种传授知识、技能和计算思维的一体化教学模式,摒弃了原有的“重语法、轻方法、不谈思维”的错误教学方法,而是使教学目标从“知识和技能”的传授上升到“思维”的教学,即指导学生提炼出知识和技能背后所包含的具有普适性的本质思想——计算思维。

课题组还尝试着将“轻游戏”,也就是教育游戏引入到程序设计类实验课程中,将枯燥乏味的语法规则,利用电脑游戏的形式展现在学生面前,将游戏娱乐融合进程序设计类实验课程的教学实践中,在激发学生学习兴趣和学习动机的同时,使其形成自主学习的心理,主动进入到知识学习的情境当中,提高学习者对程序设计语言语法规则的熟练度,帮助学习者内化计算思维方法,从而达到培养学习者计算思维能力的目的。

四、进一步设想

计算思维的形成是一个长期的过程,仅通过一门或几门课程的学习就构建起成熟的计算思维方式是不可能的。但“不积跬步,无以成千里”,只要我们能够在教育理念、教学方法、实验教学模式等方面进行相应的改革,并对学生进行耐心指导并担负起应有的引导职责,就会为他们今后的“计算思维”成长打下坚实的基础、提供必要的条件。

[1]Wing J M. Computational Thinking [J]. Communication of the ACM,2006,49(3):33-35.

[2]何钦铭,陆汉权,冯博琴.计算机基础教学的核心任务是计算思维能力的培养[J].中国大学教学,2010(9):5-9.

猜你喜欢
程序设计思维能力概念
Birdie Cup Coffee丰盛里概念店
培养思维能力
基于Visual Studio Code的C语言程序设计实践教学探索
幾樣概念店
培养思维能力
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用