APP下载

Javaee程序设计课程教学与实践研究

2023-03-23岳梦楚

科技风 2023年7期
关键词:数据类型编程框架

岳梦楚

陕西工业职业技术学院 陕西咸阳 712000

大三的Javaee课程采用的是由人民邮电出版社出版的教材,大三上学期Javaee教材教学的中心内容是有关框架语法的学习和编写。Javaee程序设计是整个Java语言当中难度最大、要求最高、逻辑思维最严谨的课程,属于Java语言系列当中的高级部分。大三上学期,学生面临毕业、就业、专升本,学习压力、应考压力、就业压力加重,而Javaee程序设计课程教学、上机时间又极其有限,如何使学生在有限的时间内,身心愉悦地掌握Javaee框架编程思维,并能够独立地编写具体的企业级项目,熟练掌握企业级项目开发的一般思维方式、流程及原理,在实际教学实践中,本文对教学方法和模式进行了一定的创新尝试实践。

1 知彼知己中施教

教学是师生的互动,是教学中的相长,只有充分掌握学生的基本情况,才能有的放矢地进行教学,完成教学任务,进入教学相长的状态。教学前,教师通过线上向学生发倡议,开展问卷星调查,传智播客预习模拟测试,百度贴吧发帖讨论;线下与学生谈心,以开学生干部座谈会议等方式收集毕业班学生对于上好Java高级技术课的建议和意见。

通过以上方式实地调查并结合本校学生的学习特点,将具体学情总结如下表所示:

学情分析表

基于以上学情分析,在具体教学中,教师除了依据现有的学生认知进行教学改进外,还在课程教授过程中悉心观察不同学生的情况。依据现实课堂的学情反馈认真做好上课记录,写好上课总结,为后续课程教学方法的改进奠定理论与实践基础,同时注意课堂授课方式的灵活调整与应对,提高效率。

2 具体授课中激兴趣

我国伟大的教育家孔子曾说:“知之者不如好之者,好之者不如乐之者。”这充分说明,兴趣是最好的老师。上课伊始,若抓住了学生的“心”,就为这堂课的成功奠定了基础。因此,上课开始时教师运用各种方法激发学生兴趣。以Spring框架授课为例:

(1)播放精彩纷呈的Spring动画短片。该动画短片旨在介绍Spring的发展历程和每推出一个新版本时所经历的时代背景和故事。播放完毕后,由教师在雨课堂发起提问:你能绘制Spring框架的发展时间线吗?并使用击鼓传花的方式指定学生上黑板绘制时间线,如图1所示。问题的导入,点名方式的创新,无不增加了课堂的紧张感和刺激感,提升了学生的课堂专注度。

(2)继续播放Spring动画短片,这一部分则着重动态展示Spring框架体系结构,由教师指导,学生自己登录系统搭建模块。在观看欣赏的过程中,学生既熟悉了Spring组成体系[5],又愉悦身心、调整心态。而在学生自己搭建模块时,又可强化自身的动手实践能力。

(3)利用雨课堂投稿功能。经过以上课堂活动,教师将课堂主动权交给学生,由学生自己总结Spring框架的优点,并将总结点写在练习本上拍照上传。教师通过PPT点评每位同学的作品,这样既锻炼了学生归纳总结的能力,又可在过程中分析讨论,提高学生学习的积极性。

(4)智趣游戏激兴趣。本课程教材中附带的光盘里的智趣游戏内容是很好地激发学习兴趣的教材,教师在授课过程中可以适时的选用。比如在讲完Spring的定义后,使用小游戏进行课堂练习,不仅能激发学生学习兴趣,而且能活跃学生思维。

(5)任务驱动激动能。提出明确的学习任务,比如在编写Spring快速入门案例时,教师先在编译器上编写运行后让学生分组,比一比看哪组做得好、做得快,优胜组给予适当奖励,落后组可以适时使用“惩罚”小游戏。如此,既将课本内容“化静为动”“化抽象为具体”,又可使学生在这样良性竞争的氛围中提高学习效率。

图1 Spring发展历程线

3 质疑中知其所以然

学贵有疑,学患无疑。学习的过程就是不断生疑、质疑、释疑的过程。在生疑、质疑中思考、探索,在释疑中顿悟。现行教材图文并茂,简明通俗,特别是在学生熟知工具的使用方法后,悉心地按照讲解要领也能完成任务案例的编写,但学生往往会对其中一些操作的道理所在却不甚明了。为此,教师在教学中,找准设疑契机,或自己刻意设疑,或让学生生疑,而后再告诉学生所以然,这样一举多得。其一,既使学生知其然,又知其所以然,让学生“鱼”与“渔”兼得。其二,不但活跃了课堂气氛,还开发了学生思维,培养了学生积极思考的思维品质。其三,满足学生心灵深处根深蒂固的认为自己是一个发现者、研究者、探索者的心理需求。其四,改善了师生关系,使教师更走近学生,变教学的主宰者、领导者为教学的服务者。

以Spring依赖注入[5]三种集合数据类型对象讲解为例,首先刚开始并不急于讲解新知识点,而是先进行知识回顾,让学生分成三组,分别画出三种集合数据类型的内存图解,帮助学生复习不同的集合在计算机中的内存分配和运行机理。其次,由于学生初次接触依赖注入的概念,在讲解依赖注入时,教师要改掉以往“照本宣科”讲解零碎知识点的方式,先进行角色扮演——教师扮作客户,对工程师们——学生提出需求:从键盘任意输入三种集合数据类型,控制台分别打印输出最终结果,并且注明,只要结果正确,不论实现的方式如何均可以。待学生思索一阵后,使用雨课堂随机点名,被点中的学生可以向全班展示自己的成果以及实施过程。经过实际教学过程后发现,大部分同学都使用了传统Java编程方式实现需求,而不是新掌握的Spring框架。此情此景,正好为本节重要知识点的登场做好了准备——教师打开IDEA编译器,分别创建Java传统项目和Spring框架项目,在各自的src目录下只编写前两种数据类型的程序,期间使用的参数和设定值都是相同的,编译运行后,两个窗口查看结果。学生体会到传统方式能够实现的功能,Spring框架也能实现,传统方式不能实现的功能,Spring框架仍旧可以实现,以此让学生更加能够感受到Spring框架编程的强大与便捷。两种方式流程如图2所示。

图2 两种方式流程图

在学生练习阶段,教师继续角色扮演——更改客户需求,修改前两种数据类型的参数值,并使用Spring方式实现第三种集合数据类型。在整个练习过程中,有些学生因为Spring方式理解不到位而无从下手,有些同学则因为举一反三能力较差在需求更改后无法顺利编译运行,在学生茫然无措时,教师适时点拨、引导,帮助其完成实验结果。这期间,有不到5%的同学能较为流畅地运行出结果,但与“客户”所提要求还有一定的差距,在学生深感费解与疑虑时,教师指出学生应在细节上予以更改,并在方法和成员变量的赋值、ApplicationContext.xml文件的配置中完善不足的地方。

课程的最后,教师使用PPT对两种编程方式进行相似点与不同点的比对,并指出IOC和DI编程的优势,同时说明传统方式的思想是如何为Spring方式服务的,它们内部逻辑之间有着怎样千丝万缕的联系,Spring又是如何站在“前人”的肩膀上进行优化的。

总结上述课程实施过程,不论是在内存讲解模块、Java传统方式和Spring方式模块,都做到了实现让学生知其然,并知其所以然的教学目标。

4 因材施教中学会用

教师在授课过程中发现,学生的个人兴趣爱好、操作水平都有很大差异。有的学生由于个人爱好编程,大一大二的时候便开始自学Java高级部分,已能熟练操作各种编程软件,参加各种培训;有的学生在上机时,却显得略微吃力;还有一类同学因为编程课基础过差,对编程提不起兴趣,甚至出现连项目导入都成为问题。因此,上课时,若不注意因材施教,就会出现学生水平相差较大、知识掌握良莠不齐的现象。为了使操作水平参差不齐的学生都有所得,教师调查掌握各类学生的心理特点、学习状况,针对不同学生的情况,提出了不同要求,让他们均能在能力上有所提升。对于有天赋并且擅于学习的学生,除要求他们完成课本制作任务外,还鼓励他们制作一些反映个人个性的作品,组织他们参加各类竞赛活动;对于理解力稍微欠缺的同学,教师让他们在课堂上与教师一同帮助“吃不了”的同学。对那些学习有困难、有畏难情绪、厌学情绪的学生,教师可以在课后为他们专门辅导,并挑选学生代表进行一对一练习。总之,在因材施教中,学生学习能力呈阶梯式增长,并且乐于其中,既学知识又学做人;既掌握了新知,又加强了班级凝聚力;既培养了精益求精的品质,又养成了大国工匠的责任担当意识。

5 精讲多练中提高

Javaee是程序设计类课程,这类课程实践性、操作性强。只有动手操作,反复实践才能掌握要领,形成技能技巧。因此,编程课必须保证学生有效的上机时间,处理好讲与练的关系,对此,教师进行了相应的改进和创新。首先,依据教材,但不拘泥于教材,大胆调整教材顺序。如:将数据库连接池[6]、MyBatis等有关内容与JDBC相整合,将Spring与SpringMVC衔接等。其次,分散难点,调整删插内容。如:在数据绑定章节中,由于有的学生对于数据绑定的认知,区分复杂数据绑定和简单数据绑定等能力都有待提高。因此,为了使学生尽快掌握如何进行各种类型的数据绑定,教师将“创建用户注册案例”改为制作一个“客户管理案例”。再如,课本singleton作用域和prototype是一个重难点。因此,教师特意在讲解两者区别时,增加了使用debug进行单步调试的内容,让学生在“步步为营”中掌握原理。再次,寓“理论讲解”于“操作实践中”。这样,既可避免理论讲解的枯燥乏味,又可相应增加上机实践,使学生边听边练,在练中学要领、识术语、悟道理。在讲解各种jar包的作用时,比对之前Eclipse每次都需要手动导入,IDEA只需在pom.xml文件中导入基本包坐标即可,如图3所示。“纸上学来终觉浅,绝知此事要躬行”,诸如此类知识点的讲解,都是在具体编程实施过程中认识、理解、学会的。

图3 pom.xml中的基本包坐标

结语

笔者从事Java课程教学以来,发现随着市场上技术的不断更迭,Java系列的工具、语法、技术点也是日新月异。笔者在日后的教学过程中也会继续探索发现新的教学模式和方法。

猜你喜欢

数据类型编程框架
框架
详谈Java中的基本数据类型与引用数据类型
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
广义框架的不相交性
如何理解数据结构中的抽象数据类型
纺织机上诞生的编程
基于SeisBase模型的地震勘探成果数据管理系统设计
相似度计算及其在数据挖掘中的应用