论文部分内容阅读
[摘 要] 在“面向对象程序设计”课程教学中引入游戏项目开展教学,抓住游戏这个兴趣点,把“玩游戏”变为“设计开发游戏”。选择合适的游戏开展项目教学,抓住学生感兴趣东西,提高学生学习的积极性和主观能动性,渐进地培养学生编程兴趣,锻炼和强化团队协作意识,不断提升个人自信心,最终实现学生实践动手能力和创新能力的提高。
[关键词] 面向对象程序设计 游戏 项目教学法
0. 概述
程序设计类课程的教学一直都是计算机类课程教学的老大难,大多数老师的授课方式采取以教师教材为中心的传教式单向教学方式,从理论入手逐步讲解语法、程序,学期结束系统地讲解完各章节的知识点。但对于基础较差、自学和自控能力不强的高职学生来讲,对编程地学习积极性随着课程的深入兴趣逐渐渐弱,学生学得枯燥,老师也教得费力,大多数学生为了成绩而百无聊赖地坐在课堂上,教学效果可想而知。
1. 实施项目教学法的必要性
Java语言是一种概念复杂、理论性和实践性都很强的面向对象程序设计语言,要求学生具备较好的程序设计基础。在程序设计教学过程中必须改变传统的以“知识为本位”的教学目标,代之以“能力为本位”的教学目标;改变传统的灌输式教学方法,代之以重视学生职业能力和创新性思维培养的项目教学法,重点培养学生分析和设计程序的思维方法和能力,能够运用语言工具解决实际工作问题的能力。
项目教学法是在建构主义的学习理论指导下,在教学过程中引入实际项目,依据工作流程和知识结构的递增顺序按照“项目—模块—任务—问题—知识点”的思路实施教学,学生在教师的示范、引导下,通过任务驱动的方式对子项目开展协作学习,在解决的问题同时实现从问题提出—任务完成—项目实现的技能培养过程。
2. 在课程教学中引入游戏项目
兴趣是最好的老师,学生有了兴趣才会充分调动其主观能动性,最大限度地挖掘潜能。对比欧美发达国家,普通高校课堂普遍存在刻板、枯燥、循规蹈矩的缺陷,尽管近年来教改工作不断改进,但收效仍不够明显。有相当一部分基础差的学生,觉得学习没劲厌学情绪浓,而对扑克、麻将及网络游戏则是非常迷恋,可以废寝忘食地沉迷其中。
当前的游戏开发领域,JAVA语言有自己的独到之处,编写代码简单明了、可移植性强;另外,最新的二维三维图形技术、碰撞检测、BeanShell的游戏脚本及多方游戏引擎的生成都是JAVA开发游戏的优势。在教学过程中引入游戏项目来讲解程序设计,让学生在玩游戏、编游戏的过程中学习程序设计开发,是在承认和尊重高职学生的学习特性和贪玩的天性基础上,通过游戏这个兴趣点把“我在玩游戏”变为“我在设计开发游戏”,培养学生编程兴趣、提升个人自信心、加强学生编程实践动手能力,实现教学效果和个人技能的提高不失为一种很好双赢尝试。
3. 课堂教学设计
“面向对象程序设计”是一门集知识和技能于一体,实践性很强的课程。对于高职院校的学生来说,注重的是学生的实际编程能力,采用“项目驱动”教学方法时,一定要强调教学过程与软件开发进程的一致性,教学活动必须遵循“以学生为主体,教师为主导”的原则精心设计,以适应学生学习进度和接受能力。
(1) 授课项目的选择
俄罗斯方块是由苏联游戏制作人Alex Pajitnov制作的一款风靡全球的电视游戏和掌上游戏机游戏,它曾经造成的轰动与经济价值可以说是游戏史上盛事。这款游戏看似简单但却是比较有趣耐玩,重点考验玩家的反应灵敏度和对几何图形的直觉度。
根据教学大纲及高职学生能力的要求,将该项目内容划分为四个模块十六个工作任务,相关知识点作为补充和拓展环节加以强化。重点训练学生的语言基本编程能力、图形和用户界面编程能力、Swing组件应用能力、程序调试和发布能力等。俄罗斯方块游戏项目设计结构图如图1所示。
图1 俄罗斯方块游戏项目设计结构图
(2) 授课教师的软件开发能力
软件项目的教学效果与教师的教学组织能力具有直接关系,授课教师除了需要具备扎实的Java语言知识外,还须具备丰富的软件开发经验。这不仅要求授课教师能“讲”还要求会“做”,教师最好来自于软件开发企业第一线,或者与企业有过成功合作经验的老师,丰富地软件开发经验能够使老师在处理授课项目时从容有余。
由于来自企业的软件工程师及资深人员非常清楚企业需要什么样的知识和技能,也就可以培养出社会所需的人才;其次,让高校教师到软件企业去参加培训,以期达到应有的授课水平。在项目实施前,教师可以向学生作简要的实施动员,说明项目的意义与作用,引导学生正确对待电脑游戏项目的开发,从不同渠道收集相关资料,激发学生完成项目开发的兴趣和动力。
4. 课堂教学实施
采用项目驱动教学方法进行“面向对象程序设计”课程教学时,要遵循灵活多样的原则。 (1) 学生分组
任务驱动教学法与传统讲授法之间的本质差别,就在于所传授的知识是否具有系统性和连贯性,后者的课程试验只是为了验证课本上或教师精心准备的实例,各部分知识间往往是分散的,可由学生单独完成;而前者更注重项目的整体性和知识的综合性,为了完成项目,学生必须花费大量的时间和精力。
考虑到高职学生的个人能力与水平差异,根据学生的现状分组,每个组选出一位小组长任项目经理(Project Manager),对该组的项目负责。每组的成员设定3~5人,组长给每位组员分配任务。这种项目分组既锻炼了学生的团队协作精神,又起到“以强扶弱”的作用;既能充分调动学生的主观能动性,提高学生的组织、协调与动手能力,又可减轻教师在课堂上单独辅导的负担。
(2) 授课方法
使用项目驱动教学法讲授课程时,需要与软件开发流程保持一致。从软件工程的角度出发,鼓励学生适当使用一些其他的辅助工具,如数据库结构设计、项目进度管理等,以提高学生综合应用知识的能力,培养企业需要的专门人才。
①搭建软件开发平台。授课教师要利用可视化开发工具(如Eclipse加MyEclipse插件或SWT Designer插件)“所见即所得”的优势,一定要详细讲解开发环境中的关键内容,力争让学生全面理解并能够在自动生成的框架结构部分中编写对应的代码,为后续开发扫清一切障碍。当学生具备一定的基础后,再让学生并行使用非可视化的开发环境,了解程序设计开发和实现目标,得到更好的思维锻炼。
②用户界面设计。采取先易后难、循序渐进的方法,先行安排界面设计。由于未涉及程序代码的编写,学生容易入门,极易产生满足感、成就感,以此激发进一步学习的热情。
③编写程序代码。讲授程序代码编写时,一定要先根据功能要求,给出每部分的大体框架然后再细化。由于这部分涉及语法知识,应按照事先划分好的子任务,根据学生的实际接受能力,用通俗的语言对每一个知识点进行讲解。切忌贪多求全,尽量消除学生对编写程序代码的畏惧心理,编程习惯要按软件开发流程进行强制性约束不能随心所欲,建立起很好的编程思想。
④考核方式。在整个授课过程中,学生都在渐进式地完成属于自己的项目部分,其结果如何直接反映了每位学生的学习态度及能力本位的提升。授课教师可对学生工作任务完成情况及相关知识掌握程度作为平时成绩;以完成子项目的效果作为中期成绩;项目完成也就是学期结束时要求学生对项目作演示汇报,由各项目组负责人和教师共同组成专家组,对每个项目的实现水平和缺陷评分给出测评值,在评估中要总结比较各组的特点,指出问题的所在及解决的方法,引导他们学习别人的长处来改进和提高自己的设计,使学生的各种能力在评估中得到提高。最后由教师按照三部分成绩环比加权给出学期最终成绩,既体现了公平性,又体现出权威性。
5. 结论
教学改革的目的是让我们的学生能放开思维,通过任务驱动、解决的问题的过程中来领会知识的内涵,在模仿、训练环节培养分析和设计程序的思维方法和能力,并能用语言这个工具去解决实际问题。采用基于游戏的项目驱动教学法开展教学,不仅能较好地激发学生的学习兴趣,消除学生编写程序的恐惧心理;充分发掘学生的创造潜能,全面培养学生分析和解决问题的能力,提高学生对程序设计的建构,充分体现职业院校教学的“以能力为本位”价值取向。
参考文献:
[1]张学兵.基于游戏的项目教学法在“Java程序设计”课程教学中的应用.软件工程师[J].2010.9.
[2]徐寅哲.基于JAVA的俄罗斯方块游戏开发[J].资治文摘,2009. 05.
[3]陶双双.项目教学法应用中的体会与建议[J].中国职业技术教育,2007(10).
作者简介:
汪迎春(1971.04—),女,浙江育英职业技术学院信息技术与应用系,副教授,高级工程师,研究方向:计算机应用技术。
[关键词] 面向对象程序设计 游戏 项目教学法
0. 概述
程序设计类课程的教学一直都是计算机类课程教学的老大难,大多数老师的授课方式采取以教师教材为中心的传教式单向教学方式,从理论入手逐步讲解语法、程序,学期结束系统地讲解完各章节的知识点。但对于基础较差、自学和自控能力不强的高职学生来讲,对编程地学习积极性随着课程的深入兴趣逐渐渐弱,学生学得枯燥,老师也教得费力,大多数学生为了成绩而百无聊赖地坐在课堂上,教学效果可想而知。
1. 实施项目教学法的必要性
Java语言是一种概念复杂、理论性和实践性都很强的面向对象程序设计语言,要求学生具备较好的程序设计基础。在程序设计教学过程中必须改变传统的以“知识为本位”的教学目标,代之以“能力为本位”的教学目标;改变传统的灌输式教学方法,代之以重视学生职业能力和创新性思维培养的项目教学法,重点培养学生分析和设计程序的思维方法和能力,能够运用语言工具解决实际工作问题的能力。
项目教学法是在建构主义的学习理论指导下,在教学过程中引入实际项目,依据工作流程和知识结构的递增顺序按照“项目—模块—任务—问题—知识点”的思路实施教学,学生在教师的示范、引导下,通过任务驱动的方式对子项目开展协作学习,在解决的问题同时实现从问题提出—任务完成—项目实现的技能培养过程。
2. 在课程教学中引入游戏项目
兴趣是最好的老师,学生有了兴趣才会充分调动其主观能动性,最大限度地挖掘潜能。对比欧美发达国家,普通高校课堂普遍存在刻板、枯燥、循规蹈矩的缺陷,尽管近年来教改工作不断改进,但收效仍不够明显。有相当一部分基础差的学生,觉得学习没劲厌学情绪浓,而对扑克、麻将及网络游戏则是非常迷恋,可以废寝忘食地沉迷其中。
当前的游戏开发领域,JAVA语言有自己的独到之处,编写代码简单明了、可移植性强;另外,最新的二维三维图形技术、碰撞检测、BeanShell的游戏脚本及多方游戏引擎的生成都是JAVA开发游戏的优势。在教学过程中引入游戏项目来讲解程序设计,让学生在玩游戏、编游戏的过程中学习程序设计开发,是在承认和尊重高职学生的学习特性和贪玩的天性基础上,通过游戏这个兴趣点把“我在玩游戏”变为“我在设计开发游戏”,培养学生编程兴趣、提升个人自信心、加强学生编程实践动手能力,实现教学效果和个人技能的提高不失为一种很好双赢尝试。
3. 课堂教学设计
“面向对象程序设计”是一门集知识和技能于一体,实践性很强的课程。对于高职院校的学生来说,注重的是学生的实际编程能力,采用“项目驱动”教学方法时,一定要强调教学过程与软件开发进程的一致性,教学活动必须遵循“以学生为主体,教师为主导”的原则精心设计,以适应学生学习进度和接受能力。
(1) 授课项目的选择
俄罗斯方块是由苏联游戏制作人Alex Pajitnov制作的一款风靡全球的电视游戏和掌上游戏机游戏,它曾经造成的轰动与经济价值可以说是游戏史上盛事。这款游戏看似简单但却是比较有趣耐玩,重点考验玩家的反应灵敏度和对几何图形的直觉度。
根据教学大纲及高职学生能力的要求,将该项目内容划分为四个模块十六个工作任务,相关知识点作为补充和拓展环节加以强化。重点训练学生的语言基本编程能力、图形和用户界面编程能力、Swing组件应用能力、程序调试和发布能力等。俄罗斯方块游戏项目设计结构图如图1所示。
图1 俄罗斯方块游戏项目设计结构图
(2) 授课教师的软件开发能力
软件项目的教学效果与教师的教学组织能力具有直接关系,授课教师除了需要具备扎实的Java语言知识外,还须具备丰富的软件开发经验。这不仅要求授课教师能“讲”还要求会“做”,教师最好来自于软件开发企业第一线,或者与企业有过成功合作经验的老师,丰富地软件开发经验能够使老师在处理授课项目时从容有余。
由于来自企业的软件工程师及资深人员非常清楚企业需要什么样的知识和技能,也就可以培养出社会所需的人才;其次,让高校教师到软件企业去参加培训,以期达到应有的授课水平。在项目实施前,教师可以向学生作简要的实施动员,说明项目的意义与作用,引导学生正确对待电脑游戏项目的开发,从不同渠道收集相关资料,激发学生完成项目开发的兴趣和动力。
4. 课堂教学实施
采用项目驱动教学方法进行“面向对象程序设计”课程教学时,要遵循灵活多样的原则。 (1) 学生分组
任务驱动教学法与传统讲授法之间的本质差别,就在于所传授的知识是否具有系统性和连贯性,后者的课程试验只是为了验证课本上或教师精心准备的实例,各部分知识间往往是分散的,可由学生单独完成;而前者更注重项目的整体性和知识的综合性,为了完成项目,学生必须花费大量的时间和精力。
考虑到高职学生的个人能力与水平差异,根据学生的现状分组,每个组选出一位小组长任项目经理(Project Manager),对该组的项目负责。每组的成员设定3~5人,组长给每位组员分配任务。这种项目分组既锻炼了学生的团队协作精神,又起到“以强扶弱”的作用;既能充分调动学生的主观能动性,提高学生的组织、协调与动手能力,又可减轻教师在课堂上单独辅导的负担。
(2) 授课方法
使用项目驱动教学法讲授课程时,需要与软件开发流程保持一致。从软件工程的角度出发,鼓励学生适当使用一些其他的辅助工具,如数据库结构设计、项目进度管理等,以提高学生综合应用知识的能力,培养企业需要的专门人才。
①搭建软件开发平台。授课教师要利用可视化开发工具(如Eclipse加MyEclipse插件或SWT Designer插件)“所见即所得”的优势,一定要详细讲解开发环境中的关键内容,力争让学生全面理解并能够在自动生成的框架结构部分中编写对应的代码,为后续开发扫清一切障碍。当学生具备一定的基础后,再让学生并行使用非可视化的开发环境,了解程序设计开发和实现目标,得到更好的思维锻炼。
②用户界面设计。采取先易后难、循序渐进的方法,先行安排界面设计。由于未涉及程序代码的编写,学生容易入门,极易产生满足感、成就感,以此激发进一步学习的热情。
③编写程序代码。讲授程序代码编写时,一定要先根据功能要求,给出每部分的大体框架然后再细化。由于这部分涉及语法知识,应按照事先划分好的子任务,根据学生的实际接受能力,用通俗的语言对每一个知识点进行讲解。切忌贪多求全,尽量消除学生对编写程序代码的畏惧心理,编程习惯要按软件开发流程进行强制性约束不能随心所欲,建立起很好的编程思想。
④考核方式。在整个授课过程中,学生都在渐进式地完成属于自己的项目部分,其结果如何直接反映了每位学生的学习态度及能力本位的提升。授课教师可对学生工作任务完成情况及相关知识掌握程度作为平时成绩;以完成子项目的效果作为中期成绩;项目完成也就是学期结束时要求学生对项目作演示汇报,由各项目组负责人和教师共同组成专家组,对每个项目的实现水平和缺陷评分给出测评值,在评估中要总结比较各组的特点,指出问题的所在及解决的方法,引导他们学习别人的长处来改进和提高自己的设计,使学生的各种能力在评估中得到提高。最后由教师按照三部分成绩环比加权给出学期最终成绩,既体现了公平性,又体现出权威性。
5. 结论
教学改革的目的是让我们的学生能放开思维,通过任务驱动、解决的问题的过程中来领会知识的内涵,在模仿、训练环节培养分析和设计程序的思维方法和能力,并能用语言这个工具去解决实际问题。采用基于游戏的项目驱动教学法开展教学,不仅能较好地激发学生的学习兴趣,消除学生编写程序的恐惧心理;充分发掘学生的创造潜能,全面培养学生分析和解决问题的能力,提高学生对程序设计的建构,充分体现职业院校教学的“以能力为本位”价值取向。
参考文献:
[1]张学兵.基于游戏的项目教学法在“Java程序设计”课程教学中的应用.软件工程师[J].2010.9.
[2]徐寅哲.基于JAVA的俄罗斯方块游戏开发[J].资治文摘,2009. 05.
[3]陶双双.项目教学法应用中的体会与建议[J].中国职业技术教育,2007(10).
作者简介:
汪迎春(1971.04—),女,浙江育英职业技术学院信息技术与应用系,副教授,高级工程师,研究方向:计算机应用技术。