论文部分内容阅读
Java 语言具有跨平台、开源、简洁等优点,已成为21世纪首选的程序开发语言。但作为应用型软件人才培养的基础课程,Java课程教学方法的改革显得尤为重要。参考文献[1]介绍一种Java新的教学模式,提出改进课堂教学;参考文献[2]提出要紧抓实践教学。这些方法都有独到之处,但是却忽略了Java课堂教学和实践教学的整体性。本文提出一种 “分阶段迭代式”的教学模式:理论-实践-再理论-再实践。以案例教学贯穿于课堂教学,使学生熟悉基础知识;以项目实战贯穿于实践,使学生掌握编程能力;再回到理论,让学生重新理解知识,使知识得到升华;最后再实践,使编程能力得到深化。实践证明,新的教学模式应用以后,教学效果良好。
一 Java程序设计教学存在的问题
高校的Java课程很多还在沿用传统的授课方法:板书+讲解,教学效果不甚理想。具体表现有,一是课堂教学内容繁多。对于Java教学内容侧重点不突出,每个知识点都讲解,重点不突出,造成教学内容重复,学生学习效果不佳[3]。二是实践环节脱离实际。对Java课程安排的实践课课时较少,无法系统地训练学生的实践动手能力,尤其缺乏大型系统性项目的训练。三是考核方式设计不合理。传统教学对学生的考核是通过笔试完成的,只要掌握了课本知识,通过记忆,考试就能够取得好成绩。这样的考核方式,鼓励的是理论的学习,完全忽略了实践环节的考核,培养的是只能纸上谈兵的人才。
以上诸多问题究其根源是学生学习缺乏动力,解决的办法就在于激发其学习兴趣和信心,最好的途径就是能够让学生自己动手解决实际问题,使其能力得到肯定和承认,体会到成功的快乐,从而增强学习动力。鉴于此,有必要对传统的课程教学模式进行改革。经过不断实践,笔者在教学中总结了一套行之有效的分阶段迭代式教学方法。
二 分阶段迭代式教学与Java课程设计的结合
针对Java教学中存在的问题,对教学的每个环节进行改进,将案例教学贯穿其中;增加Java实践课学时,将项目驱动教学法融入实践环节,让学生带着任务去学习,效果会更加理想;对于目前的考核方式进行改进,引入丰富的考核方式,加大实践环节考核的比例,使最终成绩更能反映学生的Java编程能力。
1 改进理论教学,提高教学效果
(1)教材的选择
针对Java教材较多的特点,选择理论知识讲解扎实、实例较多、更加符合学生实际需求的教材。同时,指定1~2本参考教材,满足有更高要求的学生[4]。
(2)教学内容的重组
针对Java语言的语法基础部分要难易区分,详略得当。采用提问、分组教学等方式提高课堂学习的效率,避免学生产生审美疲劳。同时,教学内容区分为基础知识和扩展知识,把基础部分讲解透彻,对于扩展知识部分详略有别,满足不同层次学生的需要,能最大限度的调动学生的积极性[5]。在课时安排上对实践性强的课程适当增加课时。同时增加一个大项目进行系统训练,并将任务分解到各个章节,具体安排如表1所示:
表 1 Java课程教学、实践内容
(3)教学方法的多样性
在教学过程中,教学思路融“教、学、做”为一体的,以项目为导向,精心选择课程内容、设计教学环节,并采用“启发式”“交互式”“任务驱动”“案例分析”等不同的教学方法,让学生积极参与其中,有参与感才能主动地学习。例如,讲到GUI图形用户界面时,组织学生分组讨论如何设计界面,如何布置窗口,通过构建原型提高学生的兴趣,发挥他们的能动性,课堂效果会更好。
2 加强实践环节教学,培养学生编程能力
对于实践环节,需要重视课本上的例题,先调试例题,有助于学生理解理论知识,对学生的早期编程有着重要的意义。同时,还应该加入实际项目的开发,选择学生熟悉的有典型代表性的项目,比如图书管理系统,学生对于系统的使用比较熟悉,知道目标系统有哪些功能。把系统的细节穿插于Java教学中,如表1中的“实践内容”部分。教师先分析系统的需求,一步步引导学生实现各个模块,最终开发出完整的系统。
3 回归理论,深谙知识内涵
通过课堂中的项目,已经覆盖所学的主要知识点,对理论知识已经有了一定的理解。实践以后再重新回顾,串联起各个模块用到的知识点;整合实践中遇到的复杂算法,理清知识头绪,使学完的知识点在今后的实践中应用,真正理解和掌握理论知识,达到升华理论知识,提高实践能力的目的。
4 再实践,提升实践能力
此阶段,运用软件工程的思想进行开发,选择合适的完整的案例或项目,让同学自己查找资料、自己规划设计方案。以项目功能模块为单位进行小组划分,组内成员担任不同角色,并选定小组负责人,培养团队精神。在项目进行过程中,主要依靠学生自身的能力和团队的协作,通过查阅资料及网络自主学习,以团队为单位独立解决遇到的困难。教师要定期对完成的较完整的项目进行检查与评价,根据各小组的项目准备、具体设计、测试过程中碰到的各种疑难问题解决的手法、总结团队合作的感受等方面,对小组负责的模块的运行效果加以点评,给与评价。具体步骤如图1所示。
图 1 “再实践”教学法的操作步骤
通过实践笔者发现,该方法的实施使学生编写代码的数量和质量有了质的提升,对于一些较为抽象内容也能主动涉及和研究。同时,该过程还培养了团队协作精神和集体荣誉感,锻炼了沟通能力和合作意识。对于设计过程中出现的新问题和新思路,也促使教师加深思考,根据学生的疑问补充新的教学内容,教学相长。
三 分阶段迭代式教学中应注意的问题
1 改善考核环节,提升评价水平
要提高考核方式实践环节成绩在期末考试总成绩中的比重。笔者采用期末笔试成绩占40%,实践教学平时成绩30%,大项目的比重占30%。对于大项目的验收,采取学生进行答辩的方式进行。首先每个小组选一个代表和教师共同组成评价团队,然后由每一个小组派出一个代表进行第一轮答辩,回答同学们和教师的问题,最后由评价团队共同为这个小组打成绩。小组的每个成员都参加第二轮答辩,阐述自己所做的工作,在小组成绩的基础上,对每个成员进行打分给出成绩,要求整个小组的平均成绩为小组的分数。这样,既可以培养学生的团队精神,让他们明白没有团队就没有个人的道理,又能发挥他们的积极性,每个人的最终成绩是和自己的努力息息相关的。
2 创建网络学习平台,方便师生交流
为了方便师生交流,配合课程教学,创建了网络学习平台。我们开设有Java精品课程网络平台,学生可以查看授课资料、下载相关资源、在线测试、师生交流,为课余学习提供新的方式。教师可以根据教学情况,在平台上发起相关知识的讨论,学生参与讨论,通过互动交流,教学效果会更好。
此外,QQ、微博、微信、Email等媒体也为师生互动交流提供了很好的平台,学生也可以通过这些通讯软件与教师进行沟通,有问题随时交流,解决学习过程中遇到的问题,同时也可以消除部分学生在大家面前羞于提问的顾虑。
总之,本文针对Java教学中存在的不足和问题,提出了分阶段迭代式教学模式,把优秀的教学理论引入Java教学过程,采取多样化的教学方法,提高学生的兴趣度,让他们积极参与到Java的教学中;同时引入案例教学法,在老师的指导下,使学生熟悉实际项目开发流程;通过重新回归理论,使学生深谙知识内涵,能串联起各个知识点;经过再实践环节,运用软件工程理论,按功能划分不同的小组,各小组合作完成模块功能,让学生有更强的参与感,也能培养团队协作精神和实际解决问题的能力。另外,对考核方式进行改进和完善,考核中要体现出实践能力的重要性;最后通过多种教学手段进行交流、答疑解惑。实践证明,该方法能培养学生的学习兴趣,提高学生的Java编程能力,值得借鉴使用。
参考文献
[1]刘建伟,时华. Java程序设计教学改革的新思路[J]. 陕西教育,2012(11):56-57.
[2]汤海蓉,李锡辉. 基于项目驱动的JAVA程序设计教学改革[J].教育与职业, 2012(6):140-142.
[3]王威.项目教学法在软件工程课程中的应用研究[J]. 教育理论与实践,2011,31(9):53-54.
[4]徐传运,张杨,王森.针对 JAVA 程序设计的仿真教学法[J].计算机教育,2013(6):99-102.
[5]陈涛.基于案例教学的Java语言课程改革研究[J]. 教育研究与实验,2009(9): 59-60,63.
一 Java程序设计教学存在的问题
高校的Java课程很多还在沿用传统的授课方法:板书+讲解,教学效果不甚理想。具体表现有,一是课堂教学内容繁多。对于Java教学内容侧重点不突出,每个知识点都讲解,重点不突出,造成教学内容重复,学生学习效果不佳[3]。二是实践环节脱离实际。对Java课程安排的实践课课时较少,无法系统地训练学生的实践动手能力,尤其缺乏大型系统性项目的训练。三是考核方式设计不合理。传统教学对学生的考核是通过笔试完成的,只要掌握了课本知识,通过记忆,考试就能够取得好成绩。这样的考核方式,鼓励的是理论的学习,完全忽略了实践环节的考核,培养的是只能纸上谈兵的人才。
以上诸多问题究其根源是学生学习缺乏动力,解决的办法就在于激发其学习兴趣和信心,最好的途径就是能够让学生自己动手解决实际问题,使其能力得到肯定和承认,体会到成功的快乐,从而增强学习动力。鉴于此,有必要对传统的课程教学模式进行改革。经过不断实践,笔者在教学中总结了一套行之有效的分阶段迭代式教学方法。
二 分阶段迭代式教学与Java课程设计的结合
针对Java教学中存在的问题,对教学的每个环节进行改进,将案例教学贯穿其中;增加Java实践课学时,将项目驱动教学法融入实践环节,让学生带着任务去学习,效果会更加理想;对于目前的考核方式进行改进,引入丰富的考核方式,加大实践环节考核的比例,使最终成绩更能反映学生的Java编程能力。
1 改进理论教学,提高教学效果
(1)教材的选择
针对Java教材较多的特点,选择理论知识讲解扎实、实例较多、更加符合学生实际需求的教材。同时,指定1~2本参考教材,满足有更高要求的学生[4]。
(2)教学内容的重组
针对Java语言的语法基础部分要难易区分,详略得当。采用提问、分组教学等方式提高课堂学习的效率,避免学生产生审美疲劳。同时,教学内容区分为基础知识和扩展知识,把基础部分讲解透彻,对于扩展知识部分详略有别,满足不同层次学生的需要,能最大限度的调动学生的积极性[5]。在课时安排上对实践性强的课程适当增加课时。同时增加一个大项目进行系统训练,并将任务分解到各个章节,具体安排如表1所示:
表 1 Java课程教学、实践内容
(3)教学方法的多样性
在教学过程中,教学思路融“教、学、做”为一体的,以项目为导向,精心选择课程内容、设计教学环节,并采用“启发式”“交互式”“任务驱动”“案例分析”等不同的教学方法,让学生积极参与其中,有参与感才能主动地学习。例如,讲到GUI图形用户界面时,组织学生分组讨论如何设计界面,如何布置窗口,通过构建原型提高学生的兴趣,发挥他们的能动性,课堂效果会更好。
2 加强实践环节教学,培养学生编程能力
对于实践环节,需要重视课本上的例题,先调试例题,有助于学生理解理论知识,对学生的早期编程有着重要的意义。同时,还应该加入实际项目的开发,选择学生熟悉的有典型代表性的项目,比如图书管理系统,学生对于系统的使用比较熟悉,知道目标系统有哪些功能。把系统的细节穿插于Java教学中,如表1中的“实践内容”部分。教师先分析系统的需求,一步步引导学生实现各个模块,最终开发出完整的系统。
3 回归理论,深谙知识内涵
通过课堂中的项目,已经覆盖所学的主要知识点,对理论知识已经有了一定的理解。实践以后再重新回顾,串联起各个模块用到的知识点;整合实践中遇到的复杂算法,理清知识头绪,使学完的知识点在今后的实践中应用,真正理解和掌握理论知识,达到升华理论知识,提高实践能力的目的。
4 再实践,提升实践能力
此阶段,运用软件工程的思想进行开发,选择合适的完整的案例或项目,让同学自己查找资料、自己规划设计方案。以项目功能模块为单位进行小组划分,组内成员担任不同角色,并选定小组负责人,培养团队精神。在项目进行过程中,主要依靠学生自身的能力和团队的协作,通过查阅资料及网络自主学习,以团队为单位独立解决遇到的困难。教师要定期对完成的较完整的项目进行检查与评价,根据各小组的项目准备、具体设计、测试过程中碰到的各种疑难问题解决的手法、总结团队合作的感受等方面,对小组负责的模块的运行效果加以点评,给与评价。具体步骤如图1所示。
图 1 “再实践”教学法的操作步骤
通过实践笔者发现,该方法的实施使学生编写代码的数量和质量有了质的提升,对于一些较为抽象内容也能主动涉及和研究。同时,该过程还培养了团队协作精神和集体荣誉感,锻炼了沟通能力和合作意识。对于设计过程中出现的新问题和新思路,也促使教师加深思考,根据学生的疑问补充新的教学内容,教学相长。
三 分阶段迭代式教学中应注意的问题
1 改善考核环节,提升评价水平
要提高考核方式实践环节成绩在期末考试总成绩中的比重。笔者采用期末笔试成绩占40%,实践教学平时成绩30%,大项目的比重占30%。对于大项目的验收,采取学生进行答辩的方式进行。首先每个小组选一个代表和教师共同组成评价团队,然后由每一个小组派出一个代表进行第一轮答辩,回答同学们和教师的问题,最后由评价团队共同为这个小组打成绩。小组的每个成员都参加第二轮答辩,阐述自己所做的工作,在小组成绩的基础上,对每个成员进行打分给出成绩,要求整个小组的平均成绩为小组的分数。这样,既可以培养学生的团队精神,让他们明白没有团队就没有个人的道理,又能发挥他们的积极性,每个人的最终成绩是和自己的努力息息相关的。
2 创建网络学习平台,方便师生交流
为了方便师生交流,配合课程教学,创建了网络学习平台。我们开设有Java精品课程网络平台,学生可以查看授课资料、下载相关资源、在线测试、师生交流,为课余学习提供新的方式。教师可以根据教学情况,在平台上发起相关知识的讨论,学生参与讨论,通过互动交流,教学效果会更好。
此外,QQ、微博、微信、Email等媒体也为师生互动交流提供了很好的平台,学生也可以通过这些通讯软件与教师进行沟通,有问题随时交流,解决学习过程中遇到的问题,同时也可以消除部分学生在大家面前羞于提问的顾虑。
总之,本文针对Java教学中存在的不足和问题,提出了分阶段迭代式教学模式,把优秀的教学理论引入Java教学过程,采取多样化的教学方法,提高学生的兴趣度,让他们积极参与到Java的教学中;同时引入案例教学法,在老师的指导下,使学生熟悉实际项目开发流程;通过重新回归理论,使学生深谙知识内涵,能串联起各个知识点;经过再实践环节,运用软件工程理论,按功能划分不同的小组,各小组合作完成模块功能,让学生有更强的参与感,也能培养团队协作精神和实际解决问题的能力。另外,对考核方式进行改进和完善,考核中要体现出实践能力的重要性;最后通过多种教学手段进行交流、答疑解惑。实践证明,该方法能培养学生的学习兴趣,提高学生的Java编程能力,值得借鉴使用。
参考文献
[1]刘建伟,时华. Java程序设计教学改革的新思路[J]. 陕西教育,2012(11):56-57.
[2]汤海蓉,李锡辉. 基于项目驱动的JAVA程序设计教学改革[J].教育与职业, 2012(6):140-142.
[3]王威.项目教学法在软件工程课程中的应用研究[J]. 教育理论与实践,2011,31(9):53-54.
[4]徐传运,张杨,王森.针对 JAVA 程序设计的仿真教学法[J].计算机教育,2013(6):99-102.
[5]陈涛.基于案例教学的Java语言课程改革研究[J]. 教育研究与实验,2009(9): 59-60,63.