“Java程序设计”课程的多元化教学改革研究
2016-10-26史书明
史书明
(常州工学院计算机信息工程学院,江苏常州213002)
SHI Shuming
(School of Computer Information & Engineering,Changzhou Institute of Technolog,Changzhou 213002)
“Java程序设计”课程的多元化教学改革研究
史书明
(常州工学院计算机信息工程学院,江苏常州213002)
在“Java程序设计”课程的教学改革中,整合了多项英文资源,对学生英语应用能力进行了培养;利用毕博网络教学平台,建立了教与学的交流平台,为学生准备了丰富的学习资源;在教学中尝试翻转课堂,改进教学方法,促进学生学习方式的转变;通过研究型课程设计,对学生进行引导和适度指导,锻炼学生的学习能力和实践动手能力;运用面向全过程的成绩考评方法,对学生进行公平的考核,重视对学生自主学习、合作交流以及实践创新能力的考核。通过课程改革,学生考试成绩相比往年有所提升,运用知识的能力、解决问题的能力以及研究自学能力都得到了提高,学生参与竞赛的积极性高于往年,教学评价良好。
Java程序设计;教学改革;研究型教学;翻转课堂
SHI Shuming
(School of Computer Information & Engineering,Changzhou Institute of Technolog,Changzhou 213002)
在2016年3月的TIOBE编程语言排行榜中,Java语言的市场占有率为20.5%,在软件开发类人才的需求中,Java工程师的需求量达到了60%~70%[1]。虽然我国每年都有大量计算机专业学生毕业,但IT企业却很难招聘到合格的Java工作人员。其主要原因是毕业生在校期间所掌握的Java技能与经验,与单位的用人需求差距较大。
《关于深化高等学校创新创业教育改革的实施意见》中明确提出:要广泛开展启发式、讨论式、参与式教学;注重培养学生的批判性和创造性思维,激发创新创业灵感;掌握不同学生学习需求和规律,为学生自主学习提供更加丰富多样的教育资源;改革考试考核内容和方式,注重考查学生运用知识分析、解决问题的能力,探索非标准答案考试,破除“高分低能”积弊[2]。
由此看来,深化高等学校创新创业教育改革,是促进经济提质增效升级的迫切需要,是推进高等教育综合改革、促进高校毕业生更高质量创业就业的重要举措。
1 教学现状
“Java程序设计”是软件工程专业一门重要的专业基础课。该课程为国外引进课程,自2007年从合作院校英国赫特福德大学的专业课程体系中引进,课程内容的制订根据《常州工学院关于课程教学大纲制(修)订和执行的原则意见》,按照本专业核心知识、能力及技能的要求,结合英国赫特福德大学课程大纲,按中方课程和引进课程两大类规范了课程教学大纲的编写格式和编写内容。“Java程序设计”作为一门中外合作的引进课程,在2013年即实施了双语教学,选用了国外最新原文教材,课程的讲授采用中英文双语教学,课程结束进行理论考试和上机考试。
教改前,教改小组对2011级、2012级4个教学班的期末考试成绩进行了汇总,详见表1。
表1“Java程序设计”课程考试成绩
学期班级理论考试平均分上机考试平均分2012—2013学年第2学期11软二、三72742014—2015学年第1学期12软二、三86.562
由表1可见,2011级、2012级学生理论考试成绩说明学生普遍对课堂讲授的Java知识点掌握较好。上机考试成绩要低于理论考试成绩,其中2012级学生的上机考试成绩要远低于他们的理论考试成绩,这说明学生的实践操作能力要落后其对理论知识的掌握,无法将理论知识灵活应用于问题解决中。
教师在课程设计的实施阶段,也发现学生的动手操作能力较弱,与本表数据相吻合,表现在学生不能熟练运用工具进行知识的搜索,没有自学方法和良好的学习习惯,缺少独立思考和解决问题的能力等方面。究其原因,在教与学的过程中存在以下一些问题。
1)英语应用能力不足,学习重点发生偏差。Java语言是一种用英语编写的程序设计语言,使用英语讲授Java语法,的确有助于学生对基本知识的理解。然而,全英文的原版教材和PPT资源,对学生而言还是有不小的难度。有些学生把该课程当成了专业英语课,把大量时间用来记忆英文专业词汇,忽视了课程本身的专业属性,缺少了专业能力的自我训练[3]。
2)教学方法传统,学生参与度低。教师的教学方法传统,主要分为课堂讲授、实验辅导2种形式。课堂教学老师讲,学生听,穿插课堂提问;实验课学生的主要时间用于代码编写,实验内容多时间短,课后有些学生无法完成实验内容。教师对学生的指导停留在代码纠错上,指导意义不大,学生学习兴趣低,参与度不高,学生的自学能力和综合素质都无法提高。
3)教学资源有限,不利于学生课后自学。现有的教学资源包括英语原文教材、英文PPT、实验指导书、中文辅导用书等。这些教学资源都是围绕着教材,形式单一,无法调动学生课后预习复习的兴趣。
4)课程设计内容陈旧,无法锻炼学生实践能力。Java课程设计通常让学生用Java语言实现信息管理系统、图书馆管理系统等。一来学生很容易从互联网上下载这类管理系统的代码来完成设计;二来课程设计内容不新颖,缺乏实用性,无法调动学生的兴趣,无法锻炼学生的自学能力,导致学生学习知识与技能的实践有脱节。
2 教学改革措施
“Java程序设计”课程教学改革中,应该针对以上问题,进一步采用更优的教学方法和考核方式,在保证并提高教学质量的前提下,增加研究型实验内容和课程设计项目,让学生学完本课程就具备一定的Java程序设计技能,积累一定的专业经验。学生掌握Java编程技巧后,可以完成后续相应的课程设计,参加大学生创新、Java编程、移动编程等竞赛,为将来和社会需求接轨以及进一步的自我发展和提高打下坚实的基础。
在2015年教学中,教改小组进行了如下的教学改革尝试。
2.1综合使用英文资源,培养学生的英语应用能力
学习计算机编程是需要英语的,编程语言本身就是英文,使用编程语言进行编程的过程中,实际需要的英文并不多,只需要理解并记忆一些关键词,如class、implement、extend、private等。使用英文更重要的意义在于阅读文档,由于编程语言大部分出自于国外,国外有比国内更丰富的讨论社区、下载资源和参考文档。实际操作中,学生要学会使用参考文档API(Application Programming Interface)查看预定义的类、函数、参数的使用方法;当遇到问题时,要学会到国外网站与文档中寻求解决方案。
软件工程的学生,在大一、大二阶段进行了大量的英语训练,英语基础相对同年级其他计算机专业学生要好。然而,专业课英语与普通英语的要求不同,专业课中英语只是学习的辅助工具。在前期课程教学中,笔者发现很多学生会围绕提供的英文原版教材,逐行逐句地做笔记,虽然这种学习精神是值得赞赏的,但却把学习的重点从专业知识的学习转移到英语词汇记忆上,忽视了课程本身的专业属性。针对这种情况,采取了如下措施。
首先,教师对学生进行鼓励,使学生从心理上不害怕阅读英语。教师提前把教材中的英语术语,整理成中英文对照的词汇表,帮助学生理解教材内容。
其次,引入丰富的英文资源,扩展学生的英文学习内容。这些资源包括参考文档API、国外社区论坛常见问题的讨论贴、开发网站提供的简短入门教程。这些英文资源的特点是,使用的英语口语化,语法简单,内容简短,针对性强。学生在阅读这些英文资源的时候,不会受到复杂语法、陌生单词的干扰,逐步把注意力放在英文资源的专业重点上。
最后,在课程教学中有意设置一些程序的出错点。引导学生在编程IDE中观察英文的错误提示,教会学生从中提出英文关键字,并利用搜索引擎进行关键字的查找和内容过滤。
2.2改进教学方法,促进学生学习方式的转变
与以往课堂讲授和实验上机不同的是,“Java程序设计”课程的开设均在机房进行,要求学生自带笔记本电脑参与课程,教师全程进行Java编程平台Eclipse编程教学,同时在教学中尝试翻转课堂教学。翻转课堂可以满足学生差异化需求,促进学生自主学习,学生不再是知识的被动接受者,而是知识的主动学习者,学生在课后自主掌握学习节奏,有利于提高教学效果[4]。
1)课程教学翻转。课前,要求学生充分预习。教师以知识点为单位,提前1周时间布置1~2个教学视频,每个视频长度约为5~10 min。为保证学生预习,要求学生在看完视频后,参与网络教学平台中的讨论,总结视频中的知识点或进行问题讨论,或者做3~5个与视频内容相关的选择题。
在课堂教学中,教师先对学生预习情况进行总结,对学生掌握较好的知识点不再进行课堂讲授,对学生网络讨论中提出的有普遍性的问题进行回答,对预习完成情况好的同学进行表扬鼓励,形成良性循环。对于需要讲授的知识点,教师提前准备好相关的程序资源,通过网络平台下发给学生。课堂讲授通过机房“一机多屏”软件,将教学内容同步到学生端,通过PPT介绍理论背景、专业术语等相关知识,通过程序演示分解实施知识点的实际应用,学生使用笔记本电脑跟着教师一起编程序,教师随堂对学生编程中出现的问题进行指导。通过这样的教学方式,学生上课不易走神,既熟练了程序的编写方式,提高了编程的能力,又掌握了知识点的实际应用。
课后,通过网络教学平台的讨论、小测试等工具对课堂的理论知识进行复习巩固以及答疑。
2)实验课程教学改革。学生在校的前3个学期已经学习了“C语言程序设计”“数据结构”“面向对象化程序设计”等课程,进入“Java程序设计”学习时,从编程经验和水平上来说都不再是初学者,所以“Java程序设计”的实验内容应该体现程序设计的逻辑抽象,强化解决问题的方法,注重知识的前后贯穿,实验从易到难,每个实验内容都是一个完整的项目,有一定的难度,并留给学生思考扩展的空间。
如:实验6多线程,要求学生在图形界面下,动态模拟选择排序、插入排序以及冒泡排序的排序过程。根据实验要求进行类的设计,生成1~50的随机数,用多线程模拟并显示排序过程。设计算法求出排序时间,并对排序时间进行比较。在此实验中包括了类的设计、图形化界面、多线程创建、线程的数据通信、随机数生成、排序方法、算法设计等多个知识点。其中多线程是新知识,类设计、图形化界面、随机数是前期Java知识的复习回顾,排序方法以及算法设计则是对数据结构的灵活应用。
教师提前1周布置实验内容,要求在实验课前完成80%的实验代码量,由于实验内容有很大的扩展空间,学生可以充分发挥自己的编程创造力,实验的实现方法各有不同。
教师利用2节课的实验时间与学生进行个别交流,检查学生的实验完成情况,观察学生的编程能力。对编程能力强的同学,引导其提升实验作品质量;对编程能力较差的同学,对其进行帮助和鼓励,提高其学习的积极性。
2.3利用毕博建立网络教学平台,丰富教学资源
教改小组根据教学大纲,将课程内容进行了分解,整理出18个知识点,侧重Java的类、多态、接口、事件处理、线程、I/O流、网络编程等知识点,弱化Java的变量、常量、选择结构、循环结构、数组、函数等章节内容[5],并精心准备了7个实验与知识点进行对应。
利用常州工学院毕博网络教学系统(BBclass),建立了“Java程序设计”的网络教学平台。在平台中准备了以知识点为单位的教学视频,并建成了在线题库,目前题库中有题目400道,方便学生课后进行自测。另外,还有源代码、作业、PPT、讨论板、电子书等丰富自学资源。
丰富的教学资源为课堂翻转教学做好了前期准备,同时网络教学平台也为学生课后自学提供了资源,为师生课后交流提供了方便。
2.4面向全过程的考核方式改革
制定合理的考核方式是课程考评的关键。“Java程序设计”课程改革前的考核方式规定,平时成绩由作业成绩和考勤组成,占总成绩的10%;实验成绩由实验预习、实验操作、实验报告组成,占总成绩的30%~40%;期末成绩占50%~60%。这种考核方式操作简单,但不能真实反映学生的综合素养和学习参与度,无法科学地评价学生的动手实践能力和自主学习能力。
考核方式的改革中,将体现自主探究过程的视频学习、网络讨论、课堂表现、课堂讨论等纳入平时成绩,并提高平时成绩在课程考评中的比例。实验操作是学生实践能力的重要体现,占实验成绩的60%。期末考试分为理论考试与实践考试两部分,其中:理论考试通过网络教学平台,随机生成50题,考核学生对专业术语的理解程度;实践考试注重对学生能手能力、现场操作能力的考核。具体的考评指标如表2所示。
表2“Java程序设计”课程考核指标体系
一级指标成绩占比/%二级指标平时成绩20 考勤情况登记 视频学习及测试成绩 留言板讨论次数 课堂提问成绩 课堂讨论次数 作业批改成绩 网络测试成绩实验成绩40 实验提问 实验操作 实验报告考试成绩40 理论考试 实践考试
2.5研究型的课程设计
“Java程序设计”的理论实践教学后,还要进行Java课程设计,两者配合形成一个完整的教学环节。课程设计的目标是培养学生的研究意识,引导学生进行研究型学习,培养学生的创新思维和创新能力。
课程设计要求学生以1~2人为1组,研究学习任意的Java游戏开放引擎,并在3周内完成一款Java游戏的设计与制作。
1)课题准备。学生通过网络进行Java游戏引擎的查找,了解引擎的作用,以及不同引擎的开发侧重。学生在初期都有畏难情绪,不知道如何开始,觉得课题难度太大。教师可以通过展示往届作品对学生进行鼓励。通过介绍项目开发的流程,演示资源搜索的一般方法,帮助学生了解和熟悉课题的研究方法。
2)研究结果汇报。经过1周的课题准备,每个小组形成研究结果,并通过PPT向其他同学展示自己研究的游戏引擎,重点介绍引擎的使用方法、小组游戏的创意以及目前进展。通过这种汇报,一方面是对前期研究工作的梳理总结,另一方面各小组互相学习,修正和补充自己的研究结果,找到课题设计的灵感。
3)开发阶段。各小组根据设定的课题游戏目标进行需求分析、模块划分、人员分工、编码测试、文档撰写等工作。教师每天对各小组的工作进行检查,掌握各组开发进展情况,并进行有针对性的指导。学生开发阶段的表现计入平时成绩。
4)验收答辩。课题结束时,各小组要进行程序演示,汇报讲解。演示过程中要回答其他小组和教师提出的问题。教师根据学生前期研究结果汇报、答辩情况、程序完成情况、文档撰写情况等进行综合评价。
3 教学改革评价
3.1考试成绩评价
在2015—2016第1学期期末考试结束后,教改小组对13软三、13软四2个教学班的理论考试与上机考试进行了分析。
进行教学改革后,2013级学生“Java程序设计”理论考试为92.5分,比2011级学生(72分)高出28.5%,比2012级学生(86.5分)高出7%;2013级上机考试平均成绩为76分,比2011级学生(74分)高出3%,比2012级学生(62分)高出22.6%。
2013级学生理论考试平均成绩达到了优秀,这说明英文资源的多项整合、综合使用,使学生专业英语的应用能力有了很大提高,学生不再畏惧使用英语资源,甚至能在全英文的理论考试中获得高分。毕博网络教学平台中丰富的教学资源,对学生理论学习有很好的辅助作用,学生通过网络自测、在线视频、电子书以及讨论板等资源,在课后可以不断强化知识点的学习,建立了牢固的理论知识体系。
上机考试的成绩与前2届学生比较并无太大的进步,这与上机实践考试出题的随机性、学生临场的发挥都有一定的关系。但教学方法的改变,使得学生动手能力大大增强,编程的自信心也不断提高。在为期3周的研究型课程设计中,教师观察到学生在课程设计过程中都非常投入,自信且大胆,乐意尝试课堂中没有教过的新知识新技术,所有学生自主完成了选题、开发调试、撰写文档、演示答辩等一系列完整的软件开发步骤。在课程设计答辩阶段,学生们都带着自豪感演示自己的程序,有些同学将成果上传到网络,以示纪念。学生对专业的自信和成就感的提升是本次教学改革最大的收获。
3.2学生教学评价
在2015年“Java程序设计”课程结束后,教改小组对教学班进行了教学质量满意度的调查,调查采用自编的“Java程序设计”课程满意度调查问卷,该问卷是基于国内外众多学校对翻转课堂的理论研究与实践情况,针对常州工学院计算机信息工程学院中英合作全日制本科学生独立自主设计而成。
问卷共设22个项目变量,主要涉及四部分:①教学设备满意度调查,主要包括对平台建设、网络情况、教学资源、教学场所等的调查;②教学过程满意度调查,主要包括对教师水平、课堂教学形式、教学视频质量、作业量与作业难度、教学时间分配、教学视频长短和实验课翻转满意度等的调查;③教学效果满意度调查,涉及内容主要包括课堂互动氛围、讨论板对教学的辅助作用、教学视频对教学辅助作用等;④总体满意度调查,包括对翻转课堂的喜爱程度、对翻转课堂的认可度以及一些与传统课堂相比较的问题。
3.2.1数据汇总
本次调查针对13软三、13软四2个教学班,在2015—2016第1学期第16周课程考试结束后进行。本次调查以不记名方式共发放问卷45份,回收问卷45份,回收率为100%。
3.2.2研究数据分析
本次调查问卷采用李克特5级正向计分方式,就课堂满意度一级指标和二级指标分别进行统计处理,得出平均值及其标准差,并将均值按照降序排列,得到结果如表3、表4所示。
表3学生对课堂满意度一级指标得分一览表
项目均值标准偏差总体满意度4.77780.5055教学过程满意度4.73970.5105教学效果满意度4.72000.5828教学设备满意度4.52220.6995
表4学生对课堂满意度二级指标得分一览表
项目均值标准偏差教学视频4.88890.3827课程学习方式4.84440.3665实验课翻转能帮助掌握知识4.82220.3866学生专业素质提高4.82220.4903教师的教学能力和授课内容4.80000.5045课堂教学形式4.80000.4573编程学习的兴趣4.80000.4573学习效果优于传统教学4.80000.4573BBClass中教学资源满意度4.77780.4204学习效率优于传统教学4.77780.4714教学视频长度4.75560.4347课堂师生互动氛围4.75560.6086教学时间分配合理性4.71110.5486教学视频对预习和复习的帮助性4.68890.6333课堂教学与老师一起编程4.68890.5963教学场所(机房)适合开展教学4.66670.6030BBClass中讨论板对复习帮助4.64440.5703对实验课翻转满意(课后做实验,课堂依次指导的形式)4.62220.6138自信程度提高4.62220.6498作业量及作业难度合适4.60000.5800BBClass稳定性和流畅性4.46670.8146学校网络状况4.17780.8336
从表3、表4可看出,学生对“Java程序设计”翻转课堂的教学设备、教学过程、教学效果和总体满意度都比较高,分值均在4.5分以上,而满意度最高的4个单因素分别是教学视频、课程学习方式、实验课翻转对知识掌握的帮助以及学生专业素质提高,且得分均在4.82以上。相反,得分相对较低的指标有学校网络状况、BBClass稳定性和流畅性、作业量及作业难度。这一结果也与教师平日在教学过程中收集到的反馈意见基本一致。由于BBClass是学校刚刚建设的网络学习平台,运行还不够稳定,对多用户视频播放还不能很好地支持,教师把视频等资源上传到百度云,供学生课后下载学习,学校的外网网络速度也比较慢,学生在下载中也多有抱怨。
“Java程序设计”是一门重实践的课程,学生不多练习无法提高编程水平,因此作业量比较大,课后既要完成实验又要完成作业。目前在作业量上如何给学生减负还没有更好的措施。
3.3学生竞赛成绩
在实施课程教学的同时,教师积极引导和鼓励学生参加各种实践项目,如大学生创新项目、“挑战杯”大学生创业大赛、全国大学生服务外包创新创业大赛以及“蓝桥杯”全国软件和信息技术专业人才大赛等。依托项目和比赛,培养学生的实践动手能力,增强学生的专业自信心。目前与“Java程序设计”课程最密切相关的学科竞赛是“蓝桥杯”全国软件和信息技术专业人才大赛,学生在12月份完成“Java程序设计”和Java课程设计后,经过一个寒假的练习,可以在3月份参与“Java软件开发”组别的比赛。
教改小组对教学改革前后的教学班参加“蓝桥杯”的数据进行了汇总,如表5所示。
表5学生参加“蓝桥杯”大赛情况
年份参与人数参与比例/%获奖人数获奖比例/%2015年57.43602016年1431.1857.1
从表中数据可见,教学改革后的教学班在2016年参加“蓝桥杯”“Java软件开发”组别的比赛人数比例,从2015年的7.4%提升到31.1%,升幅明显,获奖人数比例基本持平。表5也说明了学生对自身的Java分析编程能力有了自信,更乐意参与到比赛中,希望通过比赛证实自己的实力,教学改革的确帮助更多学生树立了自信心。
4 结语
在“Java程序设计”教学改革中,教师们对以往的教学进行了分析,针对学生英语应用能力不足、教学方法传统、教学资源有限以及课程设计内容陈旧等四方面问题,进行了相应的教学改革,通过整合多项英文资源,建立毕博网络教学平台,尝试翻转课堂教学,开发研究型课程设计,运用面向全过程的成绩考评方法等教改措施。
在教学改革后,从学生考试成绩、学生教学评价以及学生竞赛成绩等三方面对教学改革效果进行了评价,发现学生考试成绩较往届有大幅提高,学生对“Java程序设计”课程的教学满意度也很高,同时学生参与竞赛的积极性要大大高于往年。从这些评价中可以看出,“Java程序设计”教学改革是成功的。
[1]2016年3月编程语言排行榜[EB/OL].(2016-03-03)[2016-04-03].http://www.tiobe.com/tiobe_index.
[2]国务院办公厅.国务院办公厅关于深化高等学校创新创业教育改革的实施意见[EB/OL].(2015-05-13)[2016-04-03].http://www.gov.cn/zhengce/content/2015-05/13/content_9740.htm.
[3]张引琼,戴小鹏.“Java程序设计”双语教学模式的分析与实践[J].当代教育理论与实践,2011,3(4):126-127.
[4]吴一尘,张亮,赵文进.翻转课堂在数据结构课程中的应用[J].计算机教育,2016(2):55-57.
[5]梁勇.Java语言程序设计:基础篇[M].10版.戴开宇,译.北京:机械工业出版社,2015.
责任编辑:陈亮
Diversified Teaching Reform of ″Java Programming″ Course
In the teaching reform of Java programming course,integration of a number of English resources helped improve students′ English proficiency.BBclass network teaching platform was used to construct a communication platform for teaching and learning as well as to prepare a wealth of learning resources for students.Flipped classroom was tentatively adopted to innovate the teaching methods and to facilitate the transformation of students′ learning styles.Through the research curriculum design,students were guided and mentored to gain better learning competence and greater performance in practice.With process-oriented evaluation methods,a fair assessment was given to each student to encourage autonomous learning,cooperation and communication as well as practical innovation.Through the curriculum reform,students′test scores went up,their abilities of knowledge application,problem-solving and self-study had also improved with higher enthusiasm in participating in competitions.Students′ comments on teaching were good.
Java programming;teaching reform;research teaching;flipped classroom
10.3969/j.issn.1671-0436.2016.04.020
2016- 04- 07
常州工学院研究型课程建设项目(A3-4401-14-094)。
史书明(1979—),女,讲师。
G642
B
1671- 0436(2016)04- 0090- 07