当前位置:巨优公文网>范文大全 > 公文范文 > 小游戏开发项目化教学在高职编程类课程中的探索与实施

小游戏开发项目化教学在高职编程类课程中的探索与实施

时间:2022-10-27 11:10:06 公文范文 来源:网友投稿

摘要:编程类课程普遍具有理论抽象、实践性强等特性,是计算机专业教学的一大难点;三年制高职编程类课程更面临着课时紧、前导理论不足、学生动手能力差以及实践经验缺乏等诸多现实问题。本文提出了一种在项目化教学基础上,以学生“喜闻乐见”的小游戏作为案例项目,精心设置知识结构和一例串联编程类课程的核心基础知识,并采用“全程手把手式的游戏实景开发方式展开教学”的思路,以激发学生兴趣,提高其编程素养和实战经验。笔者经过三轮课堂实践后,取得了较好的教学效果。

关键词:高职编程类课程实施;项目化教学;小游戏开发;沉浸式编码

中图分类号:G434 文献标识码:A 论文编号:1674-2117(2016)12-0094-04

● 引言

程序设计是综合运用计算机知识来分析和解决实际问题的强有力工具,极大地体现了计算机科学的魅力,它是计算机科班学生必须掌握的一项专业技能。由于程序设计涉及软硬件知识的融合,加之对学生的理论知识和动手能力都要求较高,所以它也是计算机教学中的难点。高职生源主要来自普通高校统招中的“专科一批”“专科二批”以及“三校生”的单考、单招,这在很大程度上决定了学生的基本学情;而三年学制直接决定了如“数据结构”“操作系统”“编译原理”等诸多核心性、基础性、前导性的理论课程被移出教学计划,学生对程序和编程的理解往往只停留在语法这个层面,很难有一个微观和本质的认知。另外,由于高职人才着重技能的培养,对学生的动手能力又有新的要求,考虑到高职教育的特殊性,高职的编程类课程的实施可以说是“难上加难”。

面对高职计算机专业编程类课程的开展中存在的诸多现实问题,笔者从理论门槛的降低与动手能力的提升、教法改进、编程兴趣的培养和编程素养的提升三个方面入手,摸索出了一套较为科学的模式,希望对学生学习和教师教学水平的提升有一定的现实意义。

● 高职编程类课程的现状和存在的问题

1.高职编程类课程现状

从技术路线来看,高职编程类课程多数以主流的JAVA和.NET这两条线路为主。从课程设置和衔接看,亦遵循从面向过程的C语言过渡到面向对象的JAVA或C#语言。在项目架构上也附带将BS和CS两大结构穿插其中。但由于学制和学情等诸多因素的限制,以“软件生存周期”为主线的“企业级”开发往往接触得不够深入或者基本不涉及,这直接导致了学生对编程类课程的误解:不能学以致用,不能跨过“饭碗”这个门槛。IT企业需要的往往是上岗类人才,而我们培养的毕业生距离企业的要求还有一定的差距,这也是近年来我省毕业生就业质量跟踪调查中计算机专业专科生就业忠诚度不高(学生毕业后往往不愿或者不能从事过多与本专业相关的职业)的一大原因,势必也对下届学生造成一定的心理压力。

从课程设置角度来看,由于专科和本科人才培养的模式和要求有很大的不同,加之三年学制,势必要砍掉一些理论高、难度大的课程,才能保证学生完成定量的理论课程。众所周知,编程类课程的实施需要依赖许多“现代性”的理论课程。例如,学生如果没有学过操作系统,那么多线程和线程的同步、互斥等话题基本是不能过多、过深地涉及;学生若没学过数据结构,那么类似JAVA和C#中的集合编程,学生的理解也不会太透彻;更不用说对程序执行过程的原理理解和程序跨平台本质的领悟。整体看来,抛开系统分析和架构,单从开发类知识来看,学生所学的也不会太“专”。

从课时安排角度来看,由于课程设置还要兼顾硬件、网络、公选、思修等课程,所以编程类的课程无论是学期间的跨度还是学期内的跨度都不能一直贯穿学生的学习生涯。最明显的就是教师感觉时间太紧,学生感觉只学了点皮毛。

2.高职编程类课程存在的问题

通过对已毕业和在读的多届高职学生的走访、调查,笔者发现学生对“编程类”课程的反馈主要集中在如下几点:①理论过于抽象,知其然而不知其所以然。教材上的知识点往往没有落实到生活中的具体实例,不接地气。②内容枯燥,基本没有兴趣。单一的语法和外文单词使学生普遍觉得门槛过高、无味。③实训案例过于复杂,学生望而却步。许多教材上的案例不能考虑到学生的具体学情,功能繁复,架构冗余,诸如几十个窗体或者几十张Web页面的例子比比皆是。④教学形式单一。许多编程课往往是教师准备好PPT或者代码截图,学生敲、教师讲这种模式,没有过多的师生互动和教师辅导,学生往往机械地敲了代码后却不知如何下手。学生的存在感和教师的陪同度不够。⑤课时过紧,教材内容不剪裁,基本重难点都是泛泛而过,不能深究。以上种种问题,造成了教师难教、学生难学的局面。

● 教学方案设计概述

如何解决以上问题,让编程类课程门槛更低、趣味性更强、学生参与度更高,是每一位编程类课程授课教师都必须面对和思考的问题。近年来,笔者所在学院试点了项目化教学,并取得了一定成效,学生对这种“学以致用”的授课方式认同度较高。教师若能在项目化教学的基础上,进一步“雕琢”教学案例,或许会有新的突破。笔者出于此考虑,采用有广泛“群众”基础、学生“喜闻乐见”的小游戏作为项目化教学的课堂案例,在笔者所在学院成教专升本、高职编程类课程中做了有意义的尝试和应用。

1.小游戏案例的选取

小游戏玩法简单、趣味性足、用户黏度高,几乎占领了用户PC端和智能手机端用户的大部分碎片时间。就业务而言,游戏初级玩家就基本掌握了90%的业务;从兴趣上来说,游戏基本上能激发90%以上学生的兴趣。小游戏种类繁多,因此,在项目选材上笔者主要考虑了游戏面广、以棋牌类游戏为主(不用过多的动画技术)两点,这样学生才能将主要精力放在语法实现和开发流程上。

2.授课方法的语言、平台无关性

纵观整个在校期间的课程安排,不管是入门级的C语言,还是进阶阶段的C#、Java等语言,在整个授课内容和结构上都有共通性。例如,程序的三种结构是所有语言所共有的,细化到面向对象的C#和JAVA,窗体和事件交互也是共有的。如果上升到小游戏项目开发层面,那么游戏的GUI(界面交互)、排行榜与游戏状态存取(数据储存)、棋盘表示(数组结构)、鼠标键盘操作(事件交互)、地图棋子绘制(贴图绘制或图片控件)使用等都是和具体的语言、游戏无关的。所以这种教学设计模式教师可以选取学生感兴趣的小游戏作为项目案例,而且几乎所有的编程类语言都可以使用,有较为广泛的实用性。

以笔者曾经教授过的VB.NET、C#、JAVA三门语言为例。三门语言分别选取了扫雷、风靡一时的2048、传统的五子棋三个小游戏案例。抛开具体开发语言,教师应提炼出编程类课程共有的核心基础知识点,结合小游戏开发技术共性,合理编排知识点,剪裁出科学实效的有机课程体系(如下页图1)。

3.编程类课程设计框架

教师在选定好一款小游戏和一门编程语言后,即可根据图1所示的“自下而上”再到“自上而下”两个步骤,完成教学任务和教学内容的设计。

先自下而上根据游戏的规则和玩法对“业务”做适当的剪裁。例如,扫雷游戏,作为教学演示的案例,学生大可不必考虑鼠标左右键同时按下的操作,点开的空白区域的雷的个数也可以用数字代替图片,甚至可以根据学时和学情决定雷的绘制是采用贴图绘制还是按钮对象。

自下而上剪裁好业务后,根据所教授的语言来决定要串讲的知识点。笔者在课程开发中采用的是VB.NET,这里为了凸显语言的无关性,假定教授的是C#语言。那么自上而下分析,窗体和菜单是必不可少的,所以可以在课程早期让学生做一个雏形。雷区的难度设置可以用Combo Box控件来实现,如果考虑到记事本的读写比较有用,则可以将难度的设定穿插在记事本的存储中(不用记事本,可考虑静态变量)。数据库的读取是开发必不可少的一大技术,考虑到扫雷的排行榜、时间、难度和等级等,教师可以让学生设计一张表以体现不同等级的难度,分别记录前10名。那么教师在讲述ADO.NET这一章时,学生就可以提前完成这个排行榜的任务。至于游戏的核心逻辑——扫雷的实现,完全可以在数组一章“大做文章”。笔者考虑到学生的理解力,在命令行模式下完成扫雷的过程一般为首选,而且即时打印出数组的状态,让学生理解其实雷区的绘制无非就是将数组对应的数字转换成图片而已。为了照顾到大多数学生,教师还可以将绘制雷区的代码先写好,学生操作数组,教师代码帮忙绘制即可(如图2、图3)。经过理论学习和项目教学的穿插学习,课程结束时,学生除了图片的绘制,C#语言基本常用的开发技巧大多都能掌握。在实际教学中,基础好的学生、肯于动脑的学生往往都能很轻松地掌握贴图绘制。

● 教学方案的可行性论证

首先,编程类课程的“实践天然性”决定了项目化教学法的优势和必要性。近几个学期,笔者所在学院部分班级展开了“项目化教学”的试点工作,即在实践教师的带领下,集中一个时间段、在一个固定教室完成一个完整的项目开发。通过调查反馈,笔者发现项目化教学对学生专业信心的树立、动手能力的提升、知识体系的构建以及综合应用能力的提升都有显著的效果。这也是笔者选择“项目化教学”作为基本教法的主要原因。

其次,兴趣是最好的老师。抛开成教学生的基本学情,绝大多数学生之所以感觉编程比较枯燥,最直接的原因是没有从中获得乐趣,而不是“门槛”的问题。学生的学习一直是考试、毕业等魔棒逼着学、压着学,而不是我想学、我要学、我乐学。学习外语较为成功的方式便是“沉浸式”学习,即让学生在一个相对封闭几乎全英文的环境中学习。本文教学方法的“沉浸式”不是生搬硬套外语的“沉浸式”,而是让学生感受到游戏的乐趣,感受到自己开发游戏的乐趣。很多学生在机房或教室上课时,掉队了,乏味了,便索性玩起了手机和计算机自带的小游戏。为什么教师不能将这些小游戏的开发引入课堂,作为实际案例来剖析给学生看呢?可以说,了解了游戏的制作原理和知识后,学生会更多“下意识”地去探索游戏背后的“计算机”编程知识。

“麻雀虽小,五脏俱全”,小游戏的开发不管是项目的需求分析、业务实现、美工设计,还是开发中的算法设计、编码、测试等,都涵盖了主流的编程技术和核心基础知识。一个小游戏项目就能将核心编程知识剪裁、串联形成有机体,步步推进。所以笔者考虑到成教课时的紧凑和集中,较之其他大型开发项目,这点更适合教学。再者,小游戏的趣味性在很大程度上提高了学生的学习兴趣和信心,也让编程这类枯燥的课程更接地气。

最后,以项目为驱动,在实践编程中学习和消化理论,都离不开教师的点拨和辅导。学生对编程的恐惧,导致大多数学生迈不开步伐。本项目重点强调了教师全程手把手编码辅导的重要性,只有教师全程手把手编码辅导,学生在编程的路上才能突破心理防线,得到“安全感”,而且教师的现场手工演示和辅导答疑,无疑就是一台可以无限重复回放和点播的教学视频机器,这对学生来说,也是一个知识不断咀嚼和再消化的过程。

● 总结

笔者通过实践,摸索出的针对编程类课程的教学模式是:抓住编程类课程的“实践天然性”,采用项目化教学为基本教学法;以小游戏作为教学案例,降低业务门槛,提高学生兴趣;精心设置知识结构,一例串联编程类课程的核心基础知识,剪裁不必要的课堂内容;针对学生动手能力低的问题,采用全程手把手式的游戏实景开发方式展开教学,从而激发学生的学习兴趣,提高其编程素养和实际项目的开发能力。在不限编程语言的前提下,形成一套可行的课程方法能快速将日常小游戏与教学大纲结合,通过适当的知识提炼、剪裁后作为项目化教学的案例,并成功运用到高职编程类课程中去,这对四年制高职的编程类课程改革也提供了思考和参照。

参考文献:

[1]Karl M.Kapp.游戏,让学习成瘾[M].北京:机械工业出版社,2015.

[2]陈文青.游戏算法融合情景模拟在高职C语言教学中的应用[J].绍兴文理学院学报,2014,34(8):87-92.

[3]李茜.游戏化教学法在高职程序设计课程中的应用研究[J].广西经济管理干部学院学报,2013,25(2):97-101.

[4]刘君.高职编程类课程实践教学模式研究[J].职业教育研究,2013.

[5]兰丽,贺桂英.高职计算机编程语言课程教学方法研究[J].计算机教育,2010,10(25):73-76.

[6]David M.Bourg,Glenn Seemann.Ai for game developers [M].Originally published Cambridge O"Reilly,2004.

作者简介:邹会来(1986.8—),讲师,工学硕士,研究方向为智能化软件开发、人机博弈、游戏AI。

推荐访问:小游戏 高职 开发项目 探索 编程

版权所有:巨优公文网 2018-2024 未经授权禁止复制或建立镜像[巨优公文网]所有资源完全免费共享

Powered by 巨优公文网 © All Rights Reserved.。备案号:沪ICP备18054162号-1