基于游戏编程的计算机实践教学模式应用

2017-09-28 18:59屈微姚琳武航星张敏万亚东
计算机教育 2017年9期
关键词:量规工程能力计算思维

屈微++姚琳++武航星++张敏++万亚东

摘 要:通过分析高校计算机教育的培养目标,提出基于游戏编程的计算机实践教学模式,具体说明在新的实践教学中如何实现计算思维和工程能力的培养,结合开设的具体项目设计及实现过程,说明新实践教学模式实施的效果并总结课程反馈情况。

关键词:实践教学;程序设计;计算思维;工程能力;量规

0 引 言

传统的程序设计实践课程教学目标通常设定为综合已学习的理论知识,提高编程解决实际应用问题的能力,初步掌握计算机应用程序设计的一般方法。基于此目标的教学设计存在以下问题:学生对教师给定的题目进行验证性编程,题目只是加大了平时上机实验难度和程序代码量,缺乏思维性训练;课堂理论教学加上机实验的传统教学形式使得知识点僵化,学生创新能力培养不足;教师根据学生出勤和实践报告给出评分,无法实现过程表现性评价和有效激励。

1 高校计算机教育培养目标

随着计算机技术的发展,高等学校计算机教育不再是计算机普及教育和单一技能传授,需要转变为能力、素质、思维和文化的综合培养,特别要着眼于以下两个方面。

一是计算思维的培养。计算机技术已经发展到“复杂信息系统时代”,计算机教育的目标不再是传播计算机技术,而是传播计算思维,即“通过计算机教育,学生学会如何像计算机科学家那样思考”[1]。教育部制定的《大学计算机基础课程教学基本要求(2015)》提出大学计算机基础教学的总体目标是“大学生通过学习应能够理解计算学科的基本知识和方法,掌握基本的计算机应用能力,同时具备一定的计算思维能力和信息素养。”计算机程序设计课程不再局限于对程序执行性能、代码复用性等编程技术的训练,而要关注问题的计算机建模,引导并训练学生利用计算思维提高解决专业问题的能力,培养学生跨学科范围的“计算”意识,自主地将计算思维应用到本专业领域的学习研究中,提高专业相关知识发现、问题处理和科学创新能力。

二是工程能力的培养。2016年教育部《中国工程教育质量报告》要求“高等教育‘回归工程,把学生能力培养当做工程教育质量之本,指出学生工程实践能力薄弱是当前工程教育的显性‘短板。工程教育应切实扭转科学化倾向,把学生能力培养当做质量之本。”高等教育作为培养创新型工程科技人才的重要平合,其模式正在转变为工程范式下的工程教育模式。此外,新一轮科技革命和产业变革对高等工程教育提出了新的、更高的要求,需要加强“知识结构、能力结构、创新素质和创新精神” 4个方面素质的培养,尤其需要具备跨界创新能力的工程技术人才,这类人才需要跨学科、跨专业和跨文化的“跨界培养”[2]。

2 基于游戏编程的计算机实践教学模式建立

近年来,国内计算机教育界对计算机游戏形式教学展开研究,一些学者探讨了这种形式对程序设计课程教学的影响[3]。2013年开始,我们对计算机实践课程开展全面教学改革,探索一种基于游戏编程、突出计算思维和工程能力一体化培养的计算机实践新教学模式。新教学模式基本思路是训练学生运用计算机思维,遵循软件开发流程,借助程序设计语言将计算问题转变为计算机程序,实现解决各学科领域的计算问题。基于游戏编程的计算机实践,设定的待解决问题为编写一个可运行的游戏,即基于游戏和动画界面的C、C++和Java语言综合实验教学平台,开发互动式游戏或应用系统。教学改革包括设立计算思维和工程能力一体化培养的教学目标,确定以计算思维模式为主的教学内容,采用基于教学游戏开发流程的教学形式和配套包含表现性评价的考核体系。新教学模式建立思路和过程如图1所示。

3 新实践教学模式中计算思维和工程能力的培养

3.1 教学目标

新实践教学模式的总体教学目标是突出计算思维和工程能力培养,使学生了解计算思维的概念,建立运用计算思维解决问题的思想,掌握游戏编程中典型计算思维模式的内涵及实现算法,并能够将游戏中的计算思维模式扩展应用到专业问题的解决和建模仿真中;使学生建立初步的工程意识,了解工程技术人才应具备的基本素质,掌握工程项目控制流程、团队合作和协调分工的工程实施方法。

3.2 教学内容和形式

新实践教学模式的教学内容包括计算思维模式和软件工程基础理论两个方面。

国际教育技术协会(ISTE)和计算机科学教师联合会(CSTA)提出了建立计算思维的可操作定义,即在解决问题的过程中,如果包含下述特征,即体现出计算思维的建立[4]:①以使用计算机解决问题为目的,对待解决问题进行规划;②通过算法思维,即一系列有序步骤,自动求解问题;③对一个问题求解的计算思维过程可以推广和转化到更多问题求解。

计算思维模式可以进行具体分类,包括碰撞、吸收、产生、拉、推、查找、轮询检测、协同扩散、认知/行为同步等[5],其中,前5种是基本计算思维模式,作为课程重点内容。将计算思维模式實例化融入每个项目编程中作为可实施的具体教学内容,见表1。各专业对计算思维模式的要求不同,还需要进一步确定具体教学内容。我们在实际应用中初步实现了与自动化专业过程控制建模仿真软件Matlab的结合,与材料科学专业材料分析建模软件Ansys的结合。

新教学模式中游戏项目的设计和实现过程是完整的软件开发及运行过程,将软件工程的基本知识纳入教学内容,能够实现工程的概念和工程意识的建立并保证教学进度的正常推进。具体教学内容侧重开发流程和文档编辑两个方面,包括项目开发流程,即项目开发背景、需求分析、总体设计、详细设计、代码实现及测试、打包部署等相关内容以及经典的瀑布模型[6]。

商业游戏生产基于软件工程流程,属于软件开发范畴,但教学与商业开发不同,学生缺少开发经验,投入的时间精力不足,因此教学中应精简开发流程,建立一套以学生执行为主、教师指导监督的教学游戏开发流程,作为教学实施方法和推进方式。教学游戏开发流程包括项目启动、项目运行管理、项目质量管理、项目验收评审4个环节,在各个环节中教师和学生分担不同的角色和任务,两者结合构成完整的工程实施过程。学生处于主体地位,担任项目开发的主要任务,包括启动阶段的部分任务以及运行管理和质量管理的全部任务;教师承担辅助角色,任务是题目审查和验收方案制订。教学游戏开发流程及角色分配如图2所示。endprint

为保证教学实施的有效性,适时增加中期检查、预答辩等环节,增进组间的交流讨论,有助于调整工程进度和项目顺利完成,同时可以提高学生对工程的控制意识和能力,帮助学生了解工业生产过程管理方式。

3.3 考核评价及激励机制

教师应建立与教学内容相对应的考核评价和激励机制,包括以下几方面。

(1)评价计算思维模式的使用:制订项目中计算思维模式使用种类、次数、质量和效果4个方面的量化指标,给出分级评分。

(2)评价项目最终成果:根据学生提交的游戏项目文档,结合PPT答辩和成果展示,给出评分。

(3)评价课程中学生表现:设计表现性评价方法,建立评价量规[7]。

(4)实施有效的激励机制:采用组织竞赛评奖和作品展示方式,促进学生相互竞争,激发学生的主动性和积极性。

4 新实践教学模式实施和效果

4.1 新教学模式实施

自动化专业是工程性、實践性和综合性较强的工科专业。2016年暑期,我们选择自动化专业试点实施新教学模式。课程共3周,60学时,授课对象是已修C语言程序设计的自动化专业学生,具体实施过程如下。

(1)选择结合自动化专业的计算思维模式。将自动化过程建模软件Matlab与游戏编程中一致的计算思维模式实例化到实践教学过程中,培养建立专业性计算思维。例如,Matlab编程中的矩阵处理与游戏编程中的二维和三维地图建立具有一致性计算思维模式;自动化过程控制仿真中消息传递和处理与游戏编程的碰撞计算思维模式具有一致性等。

(2)分组选题。按自愿原则建立合作式小组,自定组长,组长分配任务并带领组员执行各个阶段的任务。教师对各组实行目标管理,只检查各组最终运行结果。组内具体运作则由内部自行协调,教师只在必要时提出建议,培养学生的团队合作精神及协调工作能力。各组根据教师给定的范围和建议,在规定时间内选定题目,经教师认可启动项目。

(3)工程化项目管理。教师在实施选题、中期、预答辩、验收等环节,引导学生遵循软件工程思想,关注和控制工程进度,分阶段进入开发的各环节,在游戏开发过程中采用经典软件开发瀑布模型;从实体设计包括场景建立、地图形成、精灵控制和效果添加,到代码建立、修改运行测试的软件设计,从无到有,最终形成一个分阶段控制的工程。

(4)考核评价。强调工程意识的项目验收,教师对学生提交的项目文档、PPT答辩和计算思维模式的量化应用给出评分;对项目中的个人表现实施表现性评价,综合教师和同组成员之间两方面评分,量规包括团队合作分、组员完成所承担任务情况及质量、是否尽了最大的努力、组员间合作时的表现、参与会议的出勤情况及发言情况等。

(5)通过各种形式展示优秀作品,实现激励机制并为课程实施的良性循环提供准备。游戏平台提供商评定优秀作品并给予奖金激励;将优秀作品实践报告整理修改,作为下一届学生的项目参考案例文档,并在课程网站宣传和在微信公众号推广。

4.2 教学效果反馈

对参与课程的5个班150人实施全样本问卷调查,发现认为参加实践课程对培养团队合作精神十分有效的占62.75%,一般有效的占29.41%,仅仅了解的占7.84%;对游戏编程中计算思维模式的体验,认为十分显著的占64.71%,效果一般的占31.37%,不深刻的占3.92%;对使用C程序设计语言开发项目方面的成就感,认为十分显著的占66.67%,效果一般的占25.49%,不深刻的占7.84%。另外,要求每个学生项目验收报告中包括不少于800字的感受。粒子闯关游戏的设计者这样描述其对计算思维模式学习和使用过程的感受:“……而粒子的跳跃更是超出了预计,本以为设置碰撞就行,因为各个粒子之间存在的作用,所以粒子在木板上不是简单的碰撞,而是在不停地上下抖动,显然碰撞已经不能适用。后来解决方案只能改变成与木板的距离,当二者的距离足够近时给予粒子跳跃的属性”。砖块大作战小组学生的感受体现出其对工程概念的初步认识:“制订目标不能好高骛远,一开始我们没有按照一个固定的程序套路编写,而是选择设计自己的游戏,这使得我们在后来的工作中,在程序逻辑和实际编写上都遇到不小的麻烦,带来需要学习新东西的挑战”。

以访谈形式收集教师对课程的反馈。参与实践教学的教师认为“与以往参与的学生相比,学生为了实现游戏编程中的功能,会主动学习涉及的科学仿真建模和编程知识”。自动化现代控制理论课程教师谈到“本届学生更容易理解自动控制流程建立的思想,掌握过程模型的抽离方法,较往届学生更快进入控制理论学习”。

5 结 语

北京科技大学每年约有3 300名学生参加暑期实践,参加计算机实践的学生约为1 600名,占比约50%。计算机实践分为程序设计类:VB程序设计(约120人)、C++和C程序设计(约1 200人)以及办公软件类:Office高级应用(约280人);在教学开展过程中,探索建立基于游戏编程的计算机实践教学模式,并在自动化专业本科开展试点实施。通过教学结果数据统计和学生教师反馈表明,与以往枯燥抽象的实践课程感受相比,新教学模式能够提高参与者的兴趣和主动性,同时将计算思维向专业领域扩展,对专业课学习起到助力作用,达到计算思维和工程能力一体化培养的教学目标。计算思维模式的细化、分类及量化评价是下一阶段的研究内容。

参考文献:

[1] Wing J M. Computational thinking[C]//Visual Languages and Human-Centric Computing. Washington D C: IEEE, 2011: 3.

[2] 周绪红. 中国工程教育人才培养模式改革创新的现状与展望: 在2015国际工程教育论坛上的专题报告[J]. 高等工程教育研究, 2016(1): 1-4.

[3] 牟琴.“轻游戏”对计算思维能力的培养: 教育游戏对程序设计基础课程教学的影响[J]. 远程教育, 2011, 29(6): 94-101.

[4] Repenning A, Webb D C, Koh K H, et al. Scalable game design: A strategy to bring systemic computer science education to schools through game design and simulation creation[J]. Acm Transactions on Computing Education, 2015, 15(2):11-29.

[5] Koh K H, Basawapatna A, Nickerson H, et al. Real time assessment of computational thinking[C]// Visual Languages and Human-Centric Computing. Washington D C: IEEE, 2014: 49-52.

[6] 李发陵, 刘志强, 张浩然, 等. 软件工程[M]. 北京: 清华大学出版社, 2013: 111-178.

[7] 李雁冰. 课程评价论[M]. 上海: 上海教育出版社, 2002: 102-155.

(编辑:宋文婷)endprint

猜你喜欢
量规工程能力计算思维
基于“量规”的设计专业实践类课程教学评价体系的应用研究
试论小学信息技术教学评价量规的设置
石油专用管螺纹量规的使用与维护保养
纺织工程专业工程能力培养体系初探
基于CDIO的网络服务配置与管理课程教学改革探讨
程序设计课程中计算思维和应用能力培养问题研究
民族高校C语言程序设计课程教学改革的研究
算法的案例教学探析
浅谈艺术专业学生计算思维能力的培养
基于“卓越计划”的机械制图课程教学改革初探