《Java核心与高级特性》课程教学改革探索
2022-02-24杨艳红刘向玲
杨艳红,刘向玲
(苏州大学应用技术学院,江苏苏州,215325)
0 引言
Java程序设计语言是当今最流行的语言之一,是从事软件开发工作必须掌握的一门编程语言[1]。Java也是软件开发行业需求量最大的编程语言之一,各高校计算机类专业一般都开设Java类课程。我校《Java核心与高级特性》课程是软件工程专业的核心必修课,其前导课程为《C语言程序设计基础》,后续课程为《Java Web 开发》、《Java EE》等。Java课程的教学目标为:(1)培养学生作为程序员所应具备的职业素质、启发学生的创新意识、训练学生面向对象的程序设计能力和开发能力。(2)要求学生掌握Java语言的基础知识与主要功能,能够运用面向对象程序设计的思想分析和解决问题,会运用eclipse等开发工具开发Java应用程序,使用Java语言进行程序开发并解决实际问题。
本文将从当前教学现状入手,分析存在的问题,并提出相应的解决方式。
1 现状
Java的教学过程中一般以章节为主线讲解知识点[1],刚接触该课程的大部分学生对Java充满兴趣,但是学生在学习过程中主动性不强,自制力较差,不能够对Java保持持续学习的能力,学习目的不明确,最终导致该课程成绩不够理想,使用Java解决实际问题的能力较弱。
在教学方式上,开设Java课程的高校多采用“理论+实验”或“理实一体化”的教学方式。“理论+实验”在教学过程中一般理论占学时较多或者理论实验1:1,可以充分讲解理论基础,深入理解面向对象思想,并详细分析类和对象设计等,但是此种教学方式理论和实验分别上课,学生学到的理论知识无法立刻通过实验来验证巩固,因此学生动手能力较弱,并且不利于学生掌握理论知识。“理实一体化”在教学过程中理论讲解和实验操作相结合,在理论讲解过程中可以通过实验进行示范操作,强调在学中做、做中学,更利于学生理解理论知识,也可以提高学生的动手能力,但是理实一体化教学通常只流于形式,没能充分贯彻到教学过程中[2]。
2 教学改革
2.1 线上线下混合教学改革
Java课程在C语言程序设计之后开设,此时学生具有一定的编程能力,Java的数据类型、运算符、控制语句的内容与C语言相似度极高,使得学习Java更加容易。针对Java课程内容多、课时有限的问题,采用线上线下混合教学模式。受疫情影响,2020年全国各高校借助在线学习平台探索线上教学。借此机会,本课程使用超星学习通平台,通过线上线下相结合的方式进行教学改革。
为了充分利用课堂时间,教师在上课前先将课件、学习视频、学习资料等放在学习通平台,如图1所示,学生课前在学习通平台下载所需资源并完成在线课前预习作业。课前预习可以帮助学生提前接触学习内容,对不会的知识点重点做记录,课堂上查缺补漏。老师在课前可以查看学生预习情况,准确定位易难点,从而有针对性进行课堂知识点讲解,提高教学与学习效果。
图1 超星学习通在线资源建设
教师在超星学习通平台做好课后在线测验试题,可以及时掌握学生知识点的掌握情况。学生在规定时间内完成学习通平台课后作业,也可以利用课余时间在线学习超星学习通平台上丰富的教学视频及代码资源,使学生主动学习,并达到巩固课堂知识及拓展学习的目的。如果学生未在规定时间内完成作业,教师可以实时导出作业完成情况督促学生学习。
2.2 针对“学”的问题进行教学改革
学生在学习过程中存在几个问题:(1)对Java充满兴趣,但是随着知识点的深入与展开,难度增加后学生会产生退缩心理,不能保持最初的热情;(2)对软件开发行业比较迷茫,无法准确定位Java的重要性,大部分学生觉得校内学习Java只是为了掌握基础知识,只要考试及格就行,真正开发能力需要在今后工作中培养;(3)学生为了完成作业而写程序,代码编写不够完善,缺陷较多,不能仔细完成好每个环节;(4)学习过程比较浮躁,细节把握不够准确。这些问题导致了学习效果差,程序不能得到较好的效果,小的缺陷导致程序出错得不到想要的结果等问题。
教学的对象是学生,最终为了让学生掌握知识,教学工作必须围绕学生、关照学生、服务学生,不断提高学生思想水平、道德品质、文化素养,让学生成为德才兼备、全面发展的人才[3]。为了激发学生持续学习能力,培养学生诚实守信、坚忍不拔的性格;提高学生在沟通表达、自我学习和团队协作方面的能力;培养学生养成规范的编码习惯,改善学生不好的学习习惯,在教学过程中在向学生传授课程知识的同时树立正确的价值观、世界观、技能观,本课程设计六个主题活动,如表1所示。
表1 主题活动
表1中六个活动主题按照Java知识点进行展开,使学生养成良好的编码习惯,具体如下:
(1)Java入门是本课程第一次课,在讲解入门知识时插入当今软件行业领军人物视频并引导学生沟通交流,让学生意识到本课程的重要性及学习完本课程知识后可能会有何成就,从而让学生有理想有梦想,激发学生学好本门课程的信心。
(2)在类和对象知识点的讲解中让学生利用所学知识解决生活中的实际问题,如在成绩查询问题中如何设计类和对象,通过解决成绩查询问题培养学生对专业技能学习的认可度。
(3)在类的继承知识点的讲解中给学生播放传承民族精神的视频,从生活中“父亲-孩子”来讲解继承,在讲授知识点的同时培养学生不忘初心砥砺前行。
(4)在异常处理章节播放工匠精神的视频,在程序设计中一定要严谨认真,小的错误会导致系统崩溃等严重问题,培养学生在程序设计中精益求精的精神。
(5)线程章节通过死锁案例的讲解,要求学生在程序设计中要有团结协作、分工明确、顾全大局的意识,协调分配资源才能使所有线程有序执行,培养学生共同建造和谐社会的精神。
(6)GUI章节让学生完成一个完整的小项目,通过项目设计与实现使学生贯通本课程知识点,并鼓励学生积极参加兴趣小组、大学生创新创业项目等,进一步参加蓝桥杯、发现杯、软件杯等专业学科竞赛,提高学生持续学习意识。
2.3 考核改革
在“Java核心与高级特性”课程考核时,采取过程化考核和期末考核相结合的方式,在期末综合成绩中各占50%,过程性考核包括考勤、作业、实验、参与竞赛[4]组成。期末考核主要采用卷面考核方式,过程化考核主要借助超星学习通平台使过程化考核结果有迹可循,对学生按时上课、作业是否认真完成、课上讨论是否参与、课上是否积极回答问题、课前是否按时预习、在线拓展学习等进行评价考核,如图2所示。
图2 部分学习记录
在考核时引入学科竞赛成绩,如果学生参加与本课程有关的学科竞赛并获奖则算入平时表现适当加分,提高学生参加学科竞赛的积极性,也促使学生认真学习并获得一定的学习成果,为今后参加工作和考研提供帮助。