一种新的混合教学模式在Java高级程序设计课程中的应用

2021-03-24 11:16田毅李雷孝
电脑知识与技术 2021年2期

田毅 李雷孝

摘要:探讨反转课堂教学模式结合KM教学法在Java高级程序设计课程中的应用,反转课堂教学模式分为课前教学视频的开发、课堂教学和课后巩固反馈三个阶段,其中课堂教学采用KM教学法。实践表明以上这种教学方式可以帮助学生构建清晰的知识体系,有效地提高了学习效果。

关键词:反转课堂教学模式;KM教学法;Java高级程序设计

中图分类号:G642      文献标识码:A

文章编号:1009-3044(2021)02-0075-02

Java语言是一个纯的面向对象程序设计语言,具有简单性、健壮性、安全性和平台无关性等优点,它在众多程序设计语言中一直保持着较高的热度,在近些年的语言排行榜中,Java一直处于领先地位,国内外的大部分高等学校都开设有 Java相关课程,并且很多IT培训机构都对Java开展了相关的培训。

Java高级程序设计是Java程序设计的后续課程,它包括集合框架、泛型、流、线程、网络编程和JDBC访问数据库等内容,该课程内容在数据结构、编译原理和数据库等课程中都有应用,对培养学生分析问题和解决问题的能力起着重要作用。

以内蒙古工业大学的数据科学与大数据技术专业(隶属于数据科学与应用学院)为例,该课程安排在大学二年级的第一学期,总共48学时(其中实验8学时),选用的教材是由马志强、张然和李雷孝编著的《Java核心技术》[[1]](清华大学出版社)。目前我们主要采用多媒体授课方式来讲解Java高级程序设计课程。在这种教学模式下,许多学生觉得这门课程概念抽象、内容枯燥,所以这门课程的教学效果不太理想。鉴于Java高级程序设计课程出现的问题,我们探讨用反转课堂教学模式结合KM教学法来教学,以期获得良好效果。

1 反转课堂教学法

翻转课堂(The Flipped Classroom)是教师先创建视频,然后学生在课下观看视频,最后回到课堂上师生面对面交流和完成作业的一种教学模式。翻转课堂教学模式有如下特点。首先,翻转课堂强调课上教师针对性的指导,真正做到以学生为中心因材施教;其次,该模式将知识的学习放在了课前,课上以教师帮助学生们掌握课前自学的知识;第三,在翻转课堂中,学生是知识的自主学习者,教师是学生学习的指导者,课堂活动的组织者。

当前高校教学中所开展的翻转课堂教学,虽然在积极改变传统教学模式中师生的角色地位,为学生创设了互动的条件,但是设计的师生互动往往过分地体现于学生的自主学习而忽视教师在教学过程中的指导作用,基于此,我们在反转课堂教学的第二个阶段——“课堂教学”中引入KM教学法。

2 KM教学法

KM 教学法的K表示“知识逻辑结构图(KLSG)”,它从宏观层面来展示知识体系,M表示“思维导图”,它从微观层面来体现课程的知识。该方法的具体实施过程是先建立所论知识的宏观逻辑结构图,然后逐步导入微观思维导图,最后形成一个综合的整体。该教学法目前已应用到操作系统[[2]]、C语言程序设计[[3]]、数据结构[[4]]和离散数学[[5]]等课程中,效果良好。

3 反转课堂在Java高级程序设计课程中的应用

3.1 教学视频的开发

将翻转课堂教学模式引入Java高级程序设计课堂教学,必须要具备充足的教学资源。一方面教师要制作教学视频,首先我们用软件(EV录屏)将课程PPT的讲解过程录制下来,其间不出现教师影像,视频控制在5~10分钟。在录制过程中我们穿插使用Java的集成开发环境(Eclipse软件)进行实时操作,使学生切实感受到Java是一种程序设计语言。

另一方面教师结合学生的学习情况,为学生科学合理地发掘一些生活化、实践性强的课外教学资源。所选择的课件、视频和图片要能够贴近学生的生活与学习,其形式要能够被学生所喜欢和适应,以更好地激发学生的学习兴趣。教师发掘的翻转课堂教学资源要更多地体现对学生自主学习的指导性和启发性。

需要注意的是,教师录制的视频没有师生互动环节,这样产生的弊端是老师从头到尾讲完后,我们不知道学生对所讲知识的掌握情况,鉴于此,我们可以开发一个课程管理平台,通过该平台在视频中插入一些测试题,称之为“通关测试”,如每讲完一个知识点,系统就从题库中随机的选出一些题目让学生做,答题达到要求,则播放后续视频,否则学生需要重新观看前面视频并且进行“通关测试”,这样在一定程度上保证了学生对所讲知识的掌握。

上面反转课堂教学开发的视频主要是针对某一知识点进行讲解,这样往往会导致知识的孤立、零散、缺乏系统性,学生头脑中很难形成清晰的知识结构,而KM教学法可以图文并茂的展现知识的整体架构和知识点间的联系,有效的整合碎片化知识,从而弥补视频的不足。

3.2 KM教学法在课堂教学中的应用

我们以第一章集合框架为例,阐述KM教学法在Java高级程序设计课程教学中的实施过程,图1为集合框架内容的知识逻辑结构图。

集合是指把具有相同性质的一类东西组织在一起,本课程与集合有关的接口及类被组织在以Collection及Map接口为根的层次结构中,称之为集合框架。由图1可知,集合框架可分为List、Set、SortedSet、Map和SortedMap五部分内容。KLSG图让集合框架的研究内容一目了然。

List接口是Collection接口的扩展接口,它的元素是按一定顺序排列的,并且可以重复出现,实现它的三个主要类是Vector、ArrayList和LinkedList。

Set接口是Collection接口的扩展,它不允许重复的元素出现,是数学中“集合”的抽象,它对equals和hashCode操作有了更强的约定。实现它的主要类是哈希集合(HashSet)。

SortedSet接口是一种特殊的Set,其中的元素是按升序排列的,通常用于存放词汇表这样的内容,实现它的主要类是树集合(TreeSet)。

Map接口用于维护键-值对(key-value pairs),是一个从“键”(key)到“值”(value)的映射对象,其中key不允许重复出现,每个key只能够映射到一个value,实现它的主要类是 HashMap。

SortedMap接口是Map接口的扩展,它的关键字是按升序排列的,实现它的类主要是TreeMap。

1)抽点

抽点就是将所论知识的重要概念、理论等抽象出来,而把细节部分舍去。Java高级程序设计这门课程集合框架部分的抽点如下所示:

List、LinkedList、ArrayList、Vector;

Set、HashSet;

SortedSet、TreeSet;

Map、HashMap;

SortedMap、TreeMap。

2)连线

连线就是把抽点得到的相关的内容按一定的逻辑关系联接起来,从而形成知识链。例如,抽点得到的List、LinkedList、ArrayList、Vector四部分的连线操作如下:首先介绍List接口的实现类ArrayList(Vector)集合,然后通过实例向学生展示ArryList(Vector)集合在查询元素时速度很快,增删元素时效率较低,鉴于此,我们引入LinkedList集合,LinkedList内部实现是链表,适合于在链表中间进行插入和删除操作,这样就形成一个知识链,如图2所示。

3)成网

成网就是将第二步“连线”中的各知识点从纵向和横向联系起来,从而形成一个知识网,集合框架这部分内容的知识网如图3所示。

4)扩展

扩展是以“连线”和“成网”得到的知识链和知识网为基础,本着由表及里、由简到繁的原则,教师沿着知识脉络详细地讲授各部分内容的重点,并且补充一些相关内容。如讲完Map接口的实现类HashMap后,还可以扩展到HashTable的内容。

5)嵌入

第二步的知识链和第三步的知识网都是思维导图,我们在讲授集合框架时,可以将这些思维导图导入图1的KLSG图中,把思维导图逐步导入KLSG图中后,课程内容就变“厚”了,经过这个过程,学生对知识的整体和局部都会有较深刻的认识。

3.3 课后巩固与反馈

教师针对当天的学习内容,要求每位同学亲手绘制本节课的KM图(“知识逻辑结构图”和“思维导图”),根据作者自身实践,建议使用Office Visio绘制KM图,图中尽量少使用文字,知识点用关键词来表示。再者需注意图形的美观,布局和配色,布局要注意图形重心平衡、重点突出、配色要注意使用同色系和对比色。

课后教学反馈是促进教师完善教学组织、优化教学结构以及促进学生更好地学习的重要环节。通过学生评价,对教师的教学能够形成阶段性总结,使教师认识到自己在教学过程中的不足,从而在这方面做出改进。

4 结束语

为了评价反转课堂结合KM教学法的教学模式在Java高级程序设计课程教学中的应用效果,本研究以内蒙古工业大学数据科学与大数据技术专业(隶属于数据科学与应用学院)的本科生为研究对象 采用对比实验的方式,分成实验班(数据18-1,2班)和对照班(数据18-3,4班)。实验班采用反转课堂结合KM教学法的教学模式,对照班采用传统的多媒体授课模式。在教学实践过程中,采取成绩考核、问卷调查等多种方式对学生的学习效果进行记录,从而保证实验结果的可靠性。

通过对学生的卷面成绩和上机成绩进行测评,得出以下结论:实验班(数据18-1,2班)学生的平均成绩为90.5分,而对照班(数据18-3,4班)学生的平均成绩为77分,实验班学生成绩高出对照班学生成绩很多。问卷调查结果显示,96%的学生认为反转课堂结合KM教學法的教学模式有助于学生梳理和总结归纳知识,有利于提高学习效率。

参考文献:

[1] 马志强,张然,李雷孝.Java核心技术[M].北京:清华大学出版社,2014.

[2] 李佳静,徐慧,张帆.“操作系统”进程管理教学中的KM教学法应用[J].科技资讯,2019,17(8):149-150,152.

[3] 张桃红,彭珍,杨炳儒,等.“C程序设计”课程的KM教学法研究[J].计算机教育,2010(2):113-115,101.

[4] 张帆,杨炳儒.KM教学法在“数据结构”课程中的研究与应用[J].基础教育研究,2010(24):19-20.

[5] 田毅,贾永旺.KM教学法在离散数学中的应用[J].计算机教育,2019(1):33-35.

【通联编辑:谢媛媛】