基于计算思维能力培养的“轻游戏”教学模式初探
2015-11-14曾夏玲
□曾夏玲
基于计算思维能力培养的“轻游戏”教学模式初探
□曾夏玲
针对目前高职院校计算机基础教学存在的对学生计算思维能力培养重视不够的问题,从培养计算思维能力的角度出发,将“轻游戏”教学模式引入到计算机程序设计课程的教学中。首先对高职学生计算思维能力的培养现状进行了分析;进而分析了“轻游戏”的教学优势及运用原则,并设计了“轻游戏”教学模型;最后以“猜数游戏”和“汉诺塔游戏”两款轻游戏为案例,分析论证了“轻游戏”对高职学生计算思维能力的培养。
计算思维;轻游戏;程序设计;抽象;自主学习
“轻游戏”是香港中文大学尚俊杰等人2005年在《轻游戏:教育游戏的希望和未来》一文中首次提出的概念。“轻游戏”是具备电脑游戏内在动机的一种教育软件,可以用公式来简单定义:“轻游戏”=教育软件+主流游戏的内在动机[1]。“轻游戏”的特点是不刻意追求游戏的形式和外表,而是努力将游戏的内在特征融合进去,从而达到平衡游戏中的教育性和游戏性的目的,最大限度地得到社会各界的认可[2]。“轻游戏”突出其游戏与课程内容紧密结合、符合课程教育模式和规则、使用时间恰当、设计简单而实用性强等特点,为游戏应用于教育带来了新的契机。“轻游戏”将游戏娱乐融合进学生的课堂,营造一种积极主动、轻松有趣的课堂氛围,使学生在参与游戏中主动学习,是教育游戏的一个新的发展方向。
一、计算思维能力培养现状
(一)计算思维
计算思维是2006年由美国卡内基·梅隆大学周以真教授提出并定义的,计算思维就是运用计算机科学的基本概念进行问题求解、系统设计以及人类行为理解的思维活动。同时她指出,计算机思维是每个人的基本技能,我们应当使每个孩子在培养解析能力时不仅掌握阅读、写作和算术(Reading wRitingandaRithmetic——3R),还要学会计算思维[3]。“计算思维”一经问世,就散发着超强的魔力,引领着国内外计算机科学界尤其是计算机教育界的发展方向。美国麻省理工大学、斯坦福大学、卡内基·梅隆大学、普渡大学等著名高校纷纷设置了面向全校的以问题求解为核心的“计算思维”通识课程[4-6]。2010年中国9所高校发表的《九校联盟(C9)计算机基础教学发展战略联合声明》中,把“计算思维能力的培养”作为计算机基础教学的核心任务[7]。
计算思维的提出,对人们掌握以计算机角度分析解决问题的能力提出了更高的要求,因而对高等学校计算机基础教学中对学生计算思维能力的培养提出了更高要求。计算思维能力的培养在计算机程序设计语言中得到了很好的体现。在程序设计类课程的教学中,培养学生掌握利用计算机解决问题的思路和方法,如问题分析、模型建立、算法设计和实现等,这些都在程序设计类课程中得到了很好的体现,而这正是培养计算思维能力的重要内容,即学习从计算机的角度去分析和解决问题的思路和方法。提高对学生计算思维能力的培养,使学生在处理问题时,能以计算机角度来分析问题,并利用计算机作为一种不可或缺的工具来解决问题。从而实现对各种信息更深层次的加工处理,并能将掌握的专业知识更好地应用到解决实际问题及科学研究与生产中,促进科技进步和社会发展。
(二)培养现状及教学难点
在程序设计课程教学过程中,就省内多数高职院校的教学实践来看,普遍存在对学生计算思维能力的培养重视不够。课程教学中存在着以下几方面的问题:
1.学习程序设计的同时要学习一门计算机语言,因而在课堂教学中很容易陷入语言基础知识讲解和传授的误区,偏重语言忽视程序设计,枯燥乏味,学生学习兴趣不高。
2.学生对计算思维的认识不够,多数认为程序设计课程就是学习编程,而普遍认为与自己的专业不相关,今后也不会从事相关工作,学习积极性不高。
3.缺乏较好的教学方法和手段。多数教学使用的案例是为了讲解语法结构而设计,零散、短小、关联不大。学生学习后只是掌握了语法知识,不知道该如何解决问题,能解决什么实际问题。
计算思维是程序设计语言的灵魂,它的本质是抽象和自动化[8]。抽象是计算思维的核心之一,因而在教学中仅从理论和逻辑上讲授,学生很难理解,学习兴趣不高。程序设计课程具有逻辑结构复杂难理解、语法零散易错等难点,对学生的逻辑思维能力要求较高,因而在教学中若一味地采用传统教学方式来灌输讲授,学生觉得枯燥无味缺乏动力,更让学习基础本就薄弱的高职学生惧怕学习而失去学习兴趣。
如何在程序设计课程教学过程中,训练和培养学生的计算思维能力,使学生掌握用计算机的思维去思考问题和解决问题,是一个非常值得探讨和研究的问题。
二、“轻游戏”的运用及教学模型
“轻游戏”的游戏性、趣味性、简单实用等特点,在教学中能很好地吸引学生的学习兴趣。将游戏娱乐引入课堂,营造轻松良好的学习氛围,把枯燥的程序设计理论知识贯穿在游戏中学习,使学生主动学习并积极的内化知识,从而理解程序设计抽象的算法思维,程序设计也将变得容易而富有趣味。因而,笔者从培养高职学生计算思维能力的角度出发,将“轻游戏”引入到程序设计课堂教学中,通过游戏化教学案例的设计,使学生在游戏中主动学习,积极内化知识并理解抽象的算法思维,从而培养学生的计算思维能力。
(一)“轻游戏”的优势及运用原则
“轻游戏”注重其游戏的设计简单、与课程内容紧密结合。游戏的目的是激发学生对程序设计抽象内容的学习兴趣,加强对程序设计抽象算法的理解;在游戏的过程中建立起一套适合自己的逻辑思维方法和思考问题的方式,掌握从计算机角度分析解决问题的思路和方法;加强对学生编程方式、算法思维能力及程序实践能力的训练,潜移默化的帮助学习者内化计算思维方法,从而培养学生的计算思维能力。
“轻游戏”引入课堂要适当、适时、适度,其运用应遵循以下几个原则:
1.要有明确的教学目的。游戏的选择必须与课程内容相关,符合学校的课程模式和规则,其每部分设计大小尽可能控制在一堂课时间以内。
2.保持教育与游戏的平衡。游戏的选择即要考虑趣味性,亦要考虑其教育性,根据学生的学习水平及学习特点,设计合适的游戏案例。积极监督游戏过程,合理安排游戏进程,在保持游戏的娱乐性同时要保持游戏的教育性。
3.实现教学内容的综合。游戏的设计往往需要综合运用循环、数组等教学内容。通过游戏程序的开发,将课程难点内容综合在一起,实现知识的串联及综合运用。学习者在相关知识的综合运用学习中,提炼并培养其计算思维方式。
(二)“轻游戏”教学模型
对于计算思维的抽象等特点,将游戏化教学案例引入课堂教学,通过游戏娱乐的方式培养学生的计算思维能力能起到事半功倍的成效。根据程序设计课程教学的特点及游戏化教学的特点,构建了以下教学模型,如图1所示。
在“轻游戏”教学案例实施中,教学者可利用游戏进行新课导入,创设情境,激发学习兴趣;进而游戏辅助教学,知识讲解,使学习过程变被动为主动;亦可利用游戏对学生进行巩固练习,制定游戏设计目标,鼓励学生小组协作完成及多种算法实现,让学生在枯燥的练习过程中快乐学习、主动探索,切实提高实践动手能力,进而达到对学生计算思维能力的培养。
在教学中,教学者是关键。因而加强对学习者计算思维能力的培养,首先要提高教学者对计算思维及计算思维能力培养重要性的认识。要求教学者在理解计算思维的基础上,根据课程特点精心设计教学内容和游戏案例;在课堂教学中合理开展游戏案例的讲授,尝试不同的教学方式,创新教学方法;在教学中提炼并展现隐藏在知识背后的计算思维方式,让学习者感受计算思维的魅力和重要性,启发学习者的求知欲望和心理共鸣。
图1 基于游戏化教学的课堂教学模型图
三、“轻游戏”教学案例分析
下面通过对两款“轻游戏”典型案例的分析,分别是算法领域具有代表性的“汉诺塔游戏”和综合了选择、循环、函数等知识点的分层式“猜数游戏”,阐述“轻游戏”在程序设计课程中对高职学生计算思维能力的培养。
(一)汉诺塔游戏
在讲授程序设计语言课程的“循环结构”时,会介绍“递归”这一难点问题。“递归”问题本身很抽象,往往教师讲授后,学生仍然不能很好地理解“递归”算法。这里引入“汉诺塔游戏”来解决经典“递归”算法问题——汉诺塔问题,游戏设计如图2所示,实现将n个圆盘从A柱,利用B柱搬移到C柱。
图2 汉诺塔游戏界面
教师演示或学生操作移动木块完成游戏,以完成游戏的方式展示“递归”算法过程,使学生轻松愉快的掌握知识点的同时,理解并掌握“递归”算法思路。以游戏的方式讲解一些难讲难解的问题,不仅可以让学生愿意主动去探究,而且可以把抽象的问题形象化,抽象的算法思维游戏化。学生在完成游戏的学习过程中掌握算法思路,进而根据算法写出程序,完成教学任务,为学生掌握抽象难解算法问题提供了更好的教学方式和学习方法。
“轻游戏”的教学模式,让学生通过游戏的操作过程进行知识点的亲身体会,身临其境的感受“递归”算法,从而积极主动地内化抽象难点知识,挖掘程序设计的抽象算法思维。将“轻游戏”引入课堂,有效地克服了传统教学单一介绍语法知识枯燥无味的缺点,让学生主动参与到游戏教学中来,激发学生的学习兴趣并培养学生的自主学习能力。在游戏问题的求解过程中,使学生掌握分析问题、算法设计及代码实现的思路及方法,培养学生掌握利用计算机语言解决实际问题的方法和思路,以娱乐的方式理解程序设计抽象的算法思维,培养学生的计算思维能力。
(二)猜数游戏
在日常生活中普遍玩过的猜数游戏,笔者通过给定不同的游戏条件,设计了分层式“猜数游戏”,使问题由易到难、循序渐进,很好地将选择、循环、函数等知识点综合在一起。分层式“猜数游戏”设定的不同条件及涉及的知识点如表1所示。
表1 猜数游戏的不同条件及知识点
该游戏案例选择简单易懂的猜数游戏为题材,通过设定不同的条件,将程序设计课程中的主要知识内容循序渐进地逐一讲解。另外根据学生的学习水平及掌握情况,可考虑对游戏内容进一步提升,如文曲星猜数游戏、素数探求等,亦可让学生分小组协作完成提升游戏。
以培养学生计算思维能力为目标,设计由浅入深、循序渐进的分层式游戏案例,改变传统课程授课中侧重向学生介绍语法结构的做法,为学生营造一个自主探索的游戏空间。
1.趣味游戏化案例的设计,激发和维持学生的学习兴趣和学习动机,使学生在完成游戏案例开发的过程中掌握相关知识点的学习,培养学生的自主学习能力。
2.分层式的案例设计实现了知识的综合学习,教师亦可照顾到全体学生的学习进度,并可引导学有余力的学生在当前案例基础上进行深一步的拓展提升,培养学生的自主探究能力和创新意识。
3.循序渐进式的游戏案例演变,发挥学生的自主探究学习心理,引导学生逐步向深层次的知识和技能学习,并在游戏案例逐步求解的教学过程中,培养学生掌握分析问题、问题建模、算法设计和程序实现的方法和思路,培养学生的计算思维能力。
“轻游戏”在国内的发展和研究仍处于起步阶段,是教育游戏的一个新的发展方向。笔者从培养高职学生计算思维能力的角度出发,将“轻游戏”教学模式引入到计算机程序设计课程的教学中,构建了基于游戏化教学的教学模型,并以具体的游戏案例设计举例,分析了游戏化教学对高职学生计算思维能力的培养。“轻游戏”的教学模式将游戏娱乐引入课堂,使学生主动参与到游戏知识的学习中,从而有效地激发学生的学习动机和学习兴趣,培养学生的自主学习能力。学生在游戏案例的教学中主动学习并积极内化知识,从而理解程序设计的抽象算法思维,掌握用计算机语言解决问题的方法和思路,加强对计算思维能力的培养。因而能有效地改善目前计算机基础教学忽视计算思维能力培养的现状,给程序设计课程的教学提出了新的思路和探索,也为高职学生计算思维能力的培养提出了新的研究思路和方向。
[1]尚俊杰,李芳乐,李浩文.“轻游戏”:教育游戏的希望和未来[J].电化教育研究,2005(1):24-26.
[2]尚俊杰,庄绍勇,蒋宇.教育游戏面临的三层困难和障碍——再论发展轻游戏的必要性[J].电化教育研究,2011(5):65-71.
[3]Wing J M. Computational Thinking [J]. Communications of ACM, 2006, 49(3): 33-35.
[4]MIT. Introduction to Computer Science and Programming[EB/OL]. http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00 -introduction-to-computer-science-and-programming-fall-2008.
[5]Stanford. Introduction to Computer Science | Programming Methodology[EB/OL]. http://see.stanford.edu/see/courseinfo.aspx?coll =824a47e1 -135f -4508-a5aa-866adcae1111.
[6]CMU.Principles of Computation[EB/OL].http:// www.cs.cmu.edu/~tcortina/15-105sp09.
[7]九校联盟(C9)计算机基础教学发展战略联合声明[J].中国大学教学,2010(9).
[8]陈国良,董荣胜.计算思维与大学计算机基础教育[J].中国大学教学,2011(1):7-12.
[9]牟琴.“轻游戏”对计算思维能力的培养——教育游戏对程序设计基础课程教学的影响 [J].远程教育杂志,2011(6):94-101.
责任编辑时红兵
曾夏玲(1984-),女,江西泰和人,江西科技师范大学讲师,研究方向为计算机教育。
2014年江西省高等学校教学改革研究课题“基于多元智能理论的教育游戏设计策略的应用研究——以《C语言程序设计》为视角”(编号:JXJG-14-10-10),主持人:付淇。
G712
A
1001-7518(2015)11-0079-04