基于Alice3的对象优先教学策略在Java课程中的实践研究
袁枭翎
摘 要:本文针对Java教学中学生难以把握面向对象思想的难题提出了有效的解决方法。介绍了突破该难点的对象优先教学策略以及实行该策略所依托的Alice3编程环境。最后以Java中的循环结构为例,详细阐述了相关教学环节的设计。
关键词:Java; 程序设计; 对象优先; 教学策略
中图分类号:G642 ? ? ? ? ? ?文献标识码:A ? ? 文章编号:1006-3315(2020)4-112-002
一、前言
Java是一门面向对象的程序设计语言,对面向对象思想的理解、掌握和应用是学好Java的关键。但在实际教学中,教师普遍注重学生对于程序语法细节的学习,而忽略了学生对面向对象思维和程序结构的理解。为了帮助学生更好的理解面向对象思想和相关概念,我们引入了对象优先教学策略,借助Alice3编程环境,辅助学生对Java面向对象概念的学习。
二、对象优先教学策略
对象优先教学策略是从一开始就强调面向对象的编程和设计原则,直接从对象和继承开始,然后再介绍程序的结构和语法规则,且这些知识的学习总是在面向对象设计的环境中进行的[1]。在这种教学策略下,Java程序設计的学习更关注从整体结构和架构出发而进行编程。且学生的学习从对象出发,所有知识体系的讲授也都是环绕对象进行,让学生更容易接受面向对象的思想,更能学会运用面向对象的思维去解决问题。
采用对象优先教学策略,要借助面向对象的辅助学习软件:如BlueJ、Greenfoot、Alice等。本文依托Alice3将对象优先教学策略应用于实际教学中。
三、Alice3概述
Alice3编程环境中提供不同类别的三维模型,使用者可以用这些模型在虚拟世界中构建不同的三维动画场景。场景中每一个可视单元都是一个对象,针对不同的对象,Alice会提供基本的属性和方法,通过伪代码程序块的拖拽就可以创作简单的动画或小游戏[2],如图1:
Alice3同时支持伪代码和Java代码,且两者可互相转化。在netbean中,也提供了Alice3的plugin(插件)[3],学生可以针对每个对象在netbean编译环境中编写新的方法,实现更复杂、多功能的动画设计。
四、以循环结构为例的教学实施过程
下面以Java程序设计中的循环结构为例,简述对象优先策略和Alice3相结合的具体教学实施。
(一)激趣导入——入境激情
课前教师布置作业,要求学生观察生活中周而复始循环往复现象。课上首先让学生观看《大话西游》中至尊宝利用月光宝盒不断返回过去解救白晶晶的片段,结合课前作业,引出循环结构的教学内容。
(二)感知循环——探究动情
布置任务,借助Alice3结合netbean编程完成大鱼吃小鱼的三维场景的制作。学生利用旧知识顺序结构完成任务,但同时也会提出问题:怎样优化多次重复调用方法的代码结构。此环节创建学习动机,经历尝试完成任务、遇到问题这两个阶段,学生迫切想要知道解决方法,为后续探索新知提供了动力。
接下来,教师引导学生观察探究动画中对象(大鱼和小鱼)一直重复的动作,直观地让学生体验循环的过程,并在感性认识的基础上引导学生抽象出循环相关概念。
了解了循环的相关概念后,教师组织学生在Alice中,拖动伪代码程序模块,用近似人类语言的伪代码完成任务要求的内容,逐步形成循环思维,如图2。在程序语言设计中,思维的培养更为重要,只有编程思维才真正具有迁移性。
(三)实现循环——解疑移情
学生利用Alice平台,将上一环节中拖动的循环思维的伪代码程序模块转换成Java代码,将循环思想与Java中while循环语句相对照,尝试总结出while语句的语法规则,如图3。此环节的代码转换,为学生在循环思维和Java循环语句间搭建桥梁,让学生自主探究有所依据,辅助学生建构新的理论知识;同时布置进阶任务,让学生通过知识的迁移,逐渐掌握循环语法规则;
(四)应用循环——实践纵情
教师再给出几个不同情景,学生在三维虚拟平台中搭建虚拟场景,在Java编译环境中编写代码,实现虚拟场景构建与编程的完美融合。在此环节通过动画设计培养学生创造创新能力,又利用所学知识解决不同情景问题,锻炼学生的聚合思维。
(五)展示评价——评述析情
最后小组代表展示组内优秀作品,教师依次对作品简单点评。学生登录教学平台展开自主评价,并进行组间投票,选出最佳作品。本环节学生展示作品尽显风采,也将过程性评价和总结性评价贯彻课堂始终。
五、结束语
在对象优先教学策略的运用和Alice3的辅助下,学生在课堂上表现出了浓厚的兴趣,学习效率和积极性得到很大的提高,创新能力和自主学习能力也有所体现。课程设计中知识难度循序渐进,符合学生认知规律,降低了学习坡度,使得学生接受起来更加容易。但若想在课程中使用Alice3作为辅助软件,需要提前花一定时间教授学生如何正确的使用。且如何能自然的从Alice过渡到Java内容的讲解也需要教师更巧妙的思考和设计。
参考文献:
[1]王秀平.试论计算机科学入门课程中的对象优先教学法[J]现代计算机,2008,(2):50-51
[2]陈芸.利用Alice三维虚拟世界进行程序设计入门教学[J]计算机教育,2007,(9):160-162
[3]Dann W,Cosgrove D,Slater D,et al. Mediated transfer:Alice3 to java[C].technicalsymposium on computer science education, 2012: 141-146