六年制免费师范生计算机基础课程中的计算思维能力培养
2014-12-04李新宇何昭青廖瑞华
李新宇,何昭青,廖瑞华
(湖南第一师范学院 信息科学与工程学院,湖南 长沙 410205)
引言
2006年3月,时任美国卡内基·梅隆大学计算机系主任的周以真(Jeannette Wing)教授第一次系统提出了计算思维Computational Thinking)的概念。周教授认为,计算思维就是运用计算机科学的基础概念去解决现实问题、进行系统设计,以及理解人类行为的一系列思维活动。计算思维就是通过约简、嵌入、转化和仿真等方法,把一个看来困难的问题重新阐释成一个我们知道怎样解决的问题[1]。计算思维是采用抽象和分解来分析复杂问题,利用计算机科学中的迭代、递归等方法来启发式推理寻求问题解答和设计系统的思维方法。这种思维在不久的将来,会成为每一个人在现代社会中立足的根本技能,而不仅仅限于计算机科学家。如同每个孩子都必须具备 “Reading、wRiting、aRithmetic”(简 称3R)能力一样,计算思维也是今后人人都必须具备的一种思维能力[2]。
计算思维这种思维方式不是今天才有,它很早就存在于我国古代数学的珠算之中,而随着以计算机科学为基础的信息与通信技术的迅猛发展,计算思维的作用与优势也就日益突出。目前,计算思维是当前国际教育界广为关注的一个重要概念,也是当前国内外计算机教育改革需要重点研究的课题。
湖南第一师范学院于2010年开始招收初中起点本科层次的六年制免费师范生,主要定向培养农村小学教师。我校六年制免费师范生是国家在初中起点本科层次农村小学教师培养体制方面的首次尝试,旨在通过免费教育、定向就业和适度缩短学制(2+4)等政策与措施,培养高素质、高水平的优秀小学教师,为农村基础教育阵线输送优质的教师资源。我校所有六年制免费师范生都属于小学教育专业,采用“二、四两阶段六年制”的培养模式,学生毕业后一般都回生源所在地的农村小学任教,直接从事农村基础教育教学工作,是未来我省农村地区小学教育阵线的中坚力量。由于初招六年制免费师范生和普通高招四年制本科生以及初招五年制专科生在知识结构、培养目标方面的不同,因此不能完全照搬普通师范生的培养模式。
大学计算机基础作为与大学英语、高等数学同等地位的基础课程,是高校通识教育的重要组成部分,在学生综合素质教育、创新能力培养等方面发挥着重要作用。同时,该课程不只是系统的教授学生计算机科学知识,更需要展现计算机学科的思维方式,也是培养计算思维能力最好的课程载体。2010年7月《九校联盟(C9)计算机基础教学发展战略联合声明》指出,计算思维能力培养是计算机基础课程教学的核心任务,确定了今后计算机基础课程教学改革的基本思路[3]。目前,国内部分高校在大学生计算思维能力培养方面已经展开了深入的研究与实践,积累了宝贵的经验可以供我们借鉴。如中国科学技术大学、桂林电子科技大学、四川师范大学、浙江大学、上海交通大学等。鉴于我校六年制免费师范生培养模式的特殊性以及大学计算机基础课程中计算思维能力培养的重要性,因此,如何在计算机基础课程中创新培养初中起点六年制免费师范生的计算思维能力就成了当前迫切需要研究和解决的问题。
一、六年制免费师范生计算机基础课程现状
目前,我校六年制免费师范生计算机基础课程
体系采用的是“2+X”的课程模式[4],其中的“2”是指一年级开设的《计算机操作基础》和三年级开设的
《大学计算机基础(文)/(理)》这两门基础必修课程,
“X”是根据专业方向及需求的不同开设的与专业密切相关的课程,详见表1。
表1六年制免费师范生计算机基础“2+X”课程模式
历经4年的教学实践检验,我们的六年制免费师范生计算机基础课程建设与教学改革取得了一定成绩,总体效果良好,但是通过教师教学感受和学生学习反馈也发现了一些问题,主要表现如下。
(一)对计算机基础课程意识形态的认知误区
我校六年制免费师范生是湖南省农村地区未来基础教育阵线的主力军与骨干力量,想要跟上飞速发展的信息时代步伐,不仅要具有较强的计算机操作能力、多媒体辅助教学应用能力、多媒体教学软件的设计与制作能力、一定的程序设计能力与计算机软硬件知识等师范技能,更重要的是要具有较强计算思维能力,才能在农村小学的教学实践中培养小学生的计算思维能力、尽可能地缩小城乡基础教育信息化的差距。目前,我校六年制免费师范生大多数来自农村乡镇中学,计算机基础知识相对比较匮乏,对计算机课程也缺乏足够的认知。此外,很多教育工作者针对“计算机基础课程”教学,还一直存有“狭义工具论”的片面观点,没有意识到学生计算思维能力培养的重要性。
(二)学生信息技术应用能力难以有效提升
通过我们对英语、美术学、科学教育等方向六年制免费师范生的跟踪调查表明,多数学生在计算机基础课程的学习中,掌握了一些基本的师范生信息技术技能,比如说,多媒体课件制作、网络信息资源检索等,但是对计算机学科知识难以有系统的理解,很难有效地利用计算理论与相关方法创造性的解决自己学习以及今后在小学教育工作中的问题。
(三)课程内容重复、计算思维知识点缺失
《计算机操作基础》、《大学计算机基础(文)/(理)》与《CAI多媒体课件制作》等课程在教材内容有较多重复,比如操作系统的应用和Office办公软件等知识点内容重复度高。在上述课程中没有涉及计算思维能力培养相关知识,强调师范生信息技能的重要性却忽略了计算思维意识的建立与培养。
(四)培养目标不明确、教学思想不恰当
目前我校六年制免费师范生计算机基础课程主要是培养学生的师范生信息技术基本技能与素养,而并没有体现以计算思维能力的培养为核心。教学实践中普遍存在“重应用轻理论、重操作轻思维”的教学思想,学生的学习很多时候是在做机械的操作练习,思路不清晰、思维不开阔,学生学习效率低、学习兴趣也不高。如此一来,不但没有很好地传授知识,更没有培养学生的计算思维能力与创新意识。
二、基于计算思维的计算机基础课程改革思路与策略
作为高校通识教育重要组成部分的计算机基础教学,不仅仅要教会学生计算机学科的基本知识,更重要的是要让学生了解这个学科领域中解决问题的基本方法与思维方式。计算机学科最本质的特征和最核心的方法就是计算思维[5]。因此,六年制免费师范生计算机基础改革的思路是以学生的计算思维能力培养为核心任务,使学生在学习计算机学科知识的同时掌握解决问题的一般步骤和方法,从而将教学目标由学生计算机知识技能习得向思维能力培养转变,真正实现“授之以渔”而不是“授之以鱼”。
(一)明确“2+X”课程体系的计算思维能力培养目标
根据各年级学生的认知结构特征以及课程知识内容的不同,明确各课程的计算思维能力培养目标,逐步培养学生计算思维意识与能力,掌握计算思维解决问题的一般步骤和方法,保证学生在掌握计算机课程知识的同时又能够潜移默化的运用计算思维方法来解决个人学习、专业和生活上的问题。具体培养目标详见表2。
(二)基于计算思维的课程知识梳理——四个层次
结合计算思维的基本特征和方法,针对计算机基础课程体系“四个知识领域”中的知识进行梳理和删减,理清课程知识结构的层次性,突出计算思维方法的系统性,如表3所示。
(三)基于计算思维的课程教学内容调整
重新构建《计算机操作基础》课程内容,调整知识构成,增加计算思维的概述、计算理论特征等相关知识点,突出计算思维的重要性及其对其他学科的影响,适当提高体现计算机学科思维方法的原理性知识点在课程中的比重,使学生从一年级就开始学习计算思维的概念并系统的培养计算思维能力。课程内容的设计可以借鉴陈国良院士和董荣胜教授构建的《计算思维导论》课程设计思路[6]。从推动人类文明进步和科技发展的三大支柱(理论思维、实验思维和计算思维)出发,首先介绍“概念与基础”层次中计算思维的定义、本质和特征、对其他学科的影响。接着,从计算机学科的根本问题着手,详细介绍计算理论的计算复杂性、图灵机、量子计算等有关内容。然后,介绍计算机存储程序工作原理、数制与转换、计算机数据表示等知识点。最后,做“技术与方法”、“综合与应用”两个知识层次的介绍,包括算法与程序基础、计算机基础软件(操作系统、软件工程、数据库系统等)、计算机网络基础等内容。课程名称可用《计算机操作基础》或《计算机导论》。课程共计36课时,理论与实验课时的比例为2:1。
表2 计算机基础“2+X”课程体系中计算思维能力培养目标
表3 计算机基础课程知识结构及思维表述
《大学计算机基础(文)/(理)》和后续的《数据库程序设计》、《C语言程序设计》等相关课程内容也需做相应调整,应注重计算机学科基本理论与思维方法的阐述以及在教学管理系统或教学游戏软件设计与开发中的应用,延续和拓展《计算机操作基础》课程中计算思维的相关概念和思想;对办公软件操作、程序设计语法等基本应用知识的介绍应做适当压缩,删减一些繁琐的计算机专业名词解释,适当增加基于迭代、递归、搜索、推理等计算思维方法的经典案例分析与算法、程序设计等知识模块。
三、基于计算思维的程序设计课程教学实践
程序设计课程是最能体现学生计算思维的课程,学生通过理论学习与编程实践来深入理解计算思维的基本方法,从而利用相关程序设计思想与方法解决学习与教学工作中的现实问题,比如教学管理数据库系统、图书管理系统、小学课堂教学应用软件或教学小游戏等系统的设计与开发。下面就六年制免费师范生计算机程序设计课程教学实践中如何组织、呈现教学内容和怎样有效开展教学等问题进行深入讨论。
(一)基于计算思维的教学内容组织与呈现
“ACCESS数据库程序设计”课程的目标是培养六年制免费师范生利用数据库技术的思维方法来分析和解决小学教育教学工作中具体问题的能力。在“ACCESS数据库程序设计”课程教学过程中可以采用明、暗两条线索来组织材料。明线以表、查询、窗体、报表、宏、模块、过程、控制结构等知识点为基础,循序渐进地展示ACCESS数据库技术的思维方法;暗线以常见的教学管理数据库系统或小学生喜闻乐见的教育游戏软件功能模块设计知识点(如数据录入、交互界面设计、数据编辑与维护、数据输出、用户注册与登录等)贯穿教学过程始终。明、暗两条主线相结合使学生在理论学习与教学软件系统设计实践中领悟数据库应用系统设计的基本思想,培养学生利用数据库技术的思想方法来分析和解决问题的思维能力。
“C语言程序设计”课程应强调程序设计中的思维方法,弱化语言本身,在学习过程中利用计算机语言科学地描述问题、运用恰当的计算思维方法有效地解决问题,从而培养学生理解和运用计算思维的能力。在讲述C语言基本知识点的同时,需要利用常见的如迭代、排序、递归调用等程序算法和六年制学生容易接受和理解经典程序设计案例(如“猴子摘桃问题”、“百鸡百钱问题”)贯穿于课程教学中。
(二)基于计算思维的程序设计教学模型
基于计算思维的程序设计教学模型分成四个步骤[1],分别是:(1)引入问题与创设情境;(2)可计算性分析、抽象和分解问题;(3)运用计算思维方法探索解决问题;(4)思路总结与学习迁移。教学者通过情境设置,提出问题,学习者通过自主思考、交流合作就可以充分调动学习的积极性,在思考问题的过程中,运用计算思维的可计算性和计算局限性等原理,来抽象和分解问题,在确定问题可计算的情况下运用迭代、递归、推理等合适的计算思维方法来解决问题。最后,进行总结与提高,再次运用所学方法尝试解决类似的或者更深层次的问题,以达到巩固知识和学习迁移的目的。
“2+X”课程模式中,理科类方向的六年制免费师范生在三年二期会学习“C语言程序设计”课程,我们在这门课程的教学实践中采用的就是基于计算思维的程序设计教学模型。比如,实验教学部分的“实验三(函数程序设计)”之“任务3:猴子摘桃问题”的实践教学就可以采用下面这样的教学方式。
第一步,引入问题与创设情境。问题如下:“猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃了前一天剩下的一半零一个。到第10天想再吃的时候,见只剩下一个桃子了。求第一天共摘了多少个桃子?(提示:采取逆向思维的方法,从后往前推断。)”
第二步,可计算性分析、抽象和分解问题。启发学生是否可以用计算思维的递归方法解决问题,然后学生根据启发性引导,运用计算思维的递归方法,逆向思维推断。
第三步,运用计算思维方法探索解决问题。学生通过函数的定义,运用递归的方法解决问题。定义f(intn)函数,递归思想为:第n天没有吃桃子之前拥有的桃子个数f(n)为第n+1天的个数f(n+1)再多1个的两倍,即f(n)=(f(n+1)+1)*2,依次递归就可求出f(1)的值,即第一天摘的桃子个数。
第四步,思路总结与学习迁移。在总结解题方法的基础上,老师可以再抛出“汉诺塔”问题,引导学生进行更深层次的自主探究,利用递归思想来解决更加复杂的问题,实现计算思维的强化和学习的迁移。
四、总结
本文提出了我校六年制免费师范生计算机基础课程改革思路,探讨了程序设计课程教学模式的构建,在具体的课程教学中进行了相关的教学实践。但是目前还不能科学地、定量地分析计算思维能力提高的幅度,如何建立完善的计算思维检测指标体系和开发有效的检测工具是本文未来的研究方向和需要解决的问题。
计算思维,是今后人们必须具备的一种根本技能,也是对我们师范院校人才培养的新要求。计算思维能力培养是今后我校六年制免费师范生计算机基础教育的核心任务,也是计算机基础课程改革研究的重点课题。目前国内外在计算思维能力培养方面的研究时间还不长,研究进展也不快。因此,计算思维的学科体系、培养方法论和创新方法论等还需要我们广大教学与科研工作者的不懈努力与探索实践。
[1]JeannetteM.Wing.ComputationalThinking[J].CommunicationsoftheACM.2006,49(3):33-35.
[2]牟琴,谭良.计算思维的研究及其进展[J].计算机科学,2011(3):10-15.
[3]牟琴,基于计算思维的计算机基础课程教学与学习的模式研究与实践[D].成都:四川师范大学,2012:4-5.
[4]廖瑞华,李勇帆.初中起点本科层次六年制师范生计算机基础课程体系构建[J].湖南第一师范学院学报,2013(6):22-25.
[5]陆汉权,何钦铭,徐镜春.基于计算思维的“大学计算机基础”课程教学内容设计[J].中国大学教学,2012(9):55-58.
[6]陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(1):7-11.
[7]李新宇.基于计算思维的六年制免费师范生程序设计课程教学研究[J].现代计算机,2014(9):6-8.