Java程序设计课程中混合教学模式的探讨
郭峰,孙晶,童立靖
(北方工业大学,北京100144)
计算机专业java摘要:Java程序设计是计算机及相关专业的一门重要课程,传统的以教师为主导的教学模式难以激发学生的学习兴趣。本文提出一种结合翻转课堂、同伴教学和项目驱动的混合教学模式,并在北方工业大学Java程序设计课程的教学过程中应用,取得了良好的教学效果。
关键词:翻转课堂;同伴教学;项目驱动;混合教学模式;Java程序设计
中图分类号:G642文献标识码:A
文章编号:1009-3044(2021)07-0102-02
开放科学(资源服务)标识码(OSID):Discussion on mixed Teaching Mode in Java Programming Course
GUO Feng,SUN Jing,TONG Li-Jing
(North China University of Technology,Beijing100144,China)
Abstract:Java programming is an important course for computer and related majors.The traditional teacher led teaching mode is difficult to stimulate students'interest in learning.In this paper,a mixed teaching mode combining flipped classroom,peer instruc⁃tion and project driven is proposed and applied in the teaching process of Java programming course in North University of technolo⁃gy,and good teaching effect is achieved.
Key words:Flipped Classroom;Peer Instruction;Project Driven;mixed teaching mode;Java Programming
1引言
围绕着Java语言已经形成一个完整庞大的应用生态圈,以JDK为技术核心的大量框架、平台、工具,无论是在传统的软件开发领域还是在深度学习、云计算、大数据、物联网、区块链等近年来的热点领域,都发挥着重要的作用。在TIOBE公司发布的编程语言排行榜上,Java语言在绝大多数年份排名第一位或第二位[1]。
Java程序设计是计算机类专业的核心课程,主要讲授Java SE的内容,是Java系列课程的起点。由于Java应用的广泛性,学生有学好Java的潜在动力,但是传统的教学模式通常以“教师为中心”,采用“Java知识点讲解+程序演示”的授课方式,难以激发和维护学生的学习兴趣,编程训练题目也是围绕着知识点进行设计,缺乏连贯性和实用性。学生无法感受实际项目中需要面对和解决的问题,不利于编程能力和解决问题能力的提高。针对传统的Java程序设计课程教学模式存在的问题,已有较多的教改研究和探索。文献[2]对计算机类程序设计课程的教学模式进行了探讨。文献[3]提出了融合CDIO工程教育理念和翻转课堂教学模式的Java程序设计课程教学改革总体思路。文献[4]提出项目驱动和翻转课堂相融合的课堂教学模型,文献[5]提出了基于翻转课堂的项目化教学改革方案,文献[6]提出基于慕课的翻转课堂教学模式,文献[7]提出“以项目为主线,教师为主导,学生为主体,CDIO能力培养”的教育模式。这些研究从不同教育理念、教学模式、教学手段等方面进行了积极的探索,在一定程度上都能提升教学效果。
2混合教学模式
文献[8]在教育硕士研究生的培养过程中,采用了翻转课堂和同伴教学的“混合式教学模式”。“混合式教学”指把两种或两种以上的教学方法融合在一起进行的教学,这种混合是根据课程教学需要而进行的有目的、有计划、有针对性的混合,而不是随意和杂乱无章的混合。把“混合式教学”等同于线上线下相结合的观点是不恰当的,线上线下只是传播渠道的区别,而非教学方法上的区别。
在高校的程序设计类课程教学实践中,近年来项目驱动和翻转课堂教学方法被大量采用,同伴教学的应用尚不多见。同伴教学(Peer Tutoring或Per Instruction)是指在教师的指导和培训下,作为教学者的学生对另外一些学生进行教学,帮助与其相同或相似年级水平的同伴及低年级学生进行学习的教学形
收稿日期:2020-09-19
基金项目:北方工业大学2020年教育教学改革项目(218051360020XN110)“混合教学模式在Java程序课程中的应用”
作者简介:郭峰(1972—),男,山东省宁津县人,讲师,博士,主要研究方向为形式化方法,大数据;孙晶(1968—),女,辽宁省法库县人,副教授,硕士,主要研究方向软件测试;童立靖(1972—),男,安徽马鞍山人,副教授,博士,主要研究方向为计算机图形学,计算机视觉。
式。同伴教学是学生之间相互施教、相互促进、共同受益的一种教学组织形式。由于同学之间更为熟悉,思维方式,认知水平,知识体系等各方面的相似性,使得这种方式受欢迎且有效果[9]。与传统班级教学相比,在倡导素质教育的今天,同伴教学具有不容忽视的优越性,对当今教育改革尤其是教育教学实践具有深远的现实意义。
项目驱动和翻转课堂更多的是教学内容和教学流程上的改进,同伴教学法更容易激发学习的主动性,本文从更多维度和视角探索Java程序设计课程的教学改革,在教学过程中综合运用翻转课堂、同伴教学、项目驱动的教学方法,形成一种适合java程序设计课程的混合教学模式,为培养应用型、创新型、复合型的新工科Java软件开发人才起到一定的促进作用。
3教学实践及效果
3.1教学实践
2020年春季,受新冠疫情影响,教学从线下完全转为线上的虚拟课堂。虚拟课堂采用中国大学慕课的精品课程与直播平台腾讯会议结合的方式。其中,中国大学慕课的精品课程是由北京大学唐大仕老师在线讲授的Java程序设计课程,该课程是国家国家精品课。在线讲授课程相比于现实课程的好处是可以重复观看,尤其是对于疏于做课堂笔记的学生。但是,在线讲授也有缺陷,相比于现实课程,它难于观察学生的学习进度。这是由于在线讲授缺乏与学生的直接沟通,难以得到即时反馈。
本课程在直播平台中采用了翻转课堂和同伴教学的模式,以重点和难点讲解为主要直播内容,增加学生在线讲解环节。重点和难点的讲解是解答学生学习在线课程时遇到的问题。学生在线讲解更容易激发学习的兴趣,也容易发现学生对所学知识的掌握程度。
基于翻转课堂教学模式,在教学过程中,根据不同章节的难易程度,灵活调整课程的进度。Java课程是C语言的后续课程,由于Java语言的数据类型和基本控制结构与C语言的相似性,这部分内容对于有C语言基础的同学来说很容易掌握,因此第三章《数据运算、流程控制和数组》安排学生提前观看视频,在课堂进行简单总结,快速通过。而第四、五章是本课程的核心内容,尤其第五章《深入理解Java语言》难度较大,在安排同学预习之后,有些同学反映有些内容不易理解,因此在课堂上详细讲解Java语言的一些重要特性。
在课堂讲解中,更加注重理论和实际的结合,更加注重对所讲知识点的理解,而不是记忆。比如,在讲面向对象基本概念这一部分,通常会介绍抽象、封装、继承和多态四个特性,如果仅仅停留在文字和概念层面,同学们并不能真正理解,在课堂讲解中,告诉同学们每个特性通过实际程序中那些关键字或者语法结构体现出来,这些特性就不再是抽象的概念,而是有具体的对照物并且和已经掌握的知识产生关联,从而真正理解这些特性为什么非常重要。在讲解Java语言标识符时,如果仅仅告诉同学们定义标识符的规则,很难记住,所以在课堂上进一步引导同学们思考,如果在定义标识符时,违反了这些规则会有什么后果,并通过编写一些代码演示一下,就很容易理解为什么定义这些规则,因为违反规则会产生二义性,我们的程序就没有办法正常编译和运行了。
基于同伴教学模式,在教学过程中,有些教学内容安排掌握程度较好的同学来讲解,老师再课堂上进行归纳总结。比如第二章《简单的Java程序》,其中有些内容操作性比较强,安排同学在课堂上介绍
开发工具的使用和演示简单程序的编写、编译和执行的过程。在第七章《工具类和常用算法》第十章《图形用户界面》部分内容也采用了同伴教学的方式。
在上机环节,除了往年按章节安排的上机题目之后,另外设置了接近实际项目的综合性编程题目,开发一个简化的企业人力资源管理系统,综合运用面向对象基础、图形用户界面、网络编程、数据库编程等知识,使得同学们对于Java语言的实用性有了更加深刻的认识。
建立加强沟通,在里教师和学生之间,学生和学生之间都可交流。实际效果很好。而且同学之间的交流对于老师是可见的,对于学生掌握的程度,不同层次学生之间的差异,甚至学生的性格特点都有展示。
学生之间的交流也是很激烈的,例如有的同学提问“为什么不教一些深层的东西?”,有同学回复“数据结构,您掌握了吗”,“编译原理,懂吗”。说明有些同学能够理解Java体系中不同层次知识的区别,而有些同学则不能很好地理解。作为教师,在里进一步和学生沟通,了解这位同学对“深层”的理解,该同学认为框架是深层的知识,然后进一步向同学们介绍框架的基本原理,以及框架和课程内容的关系,帮助同学们澄清一些不太正确的认识,对于框架的学习,可以分为用框架和研究框架,如果仅仅是在项目中使用框架,不是知识结构的深度扩展,而是广度的扩展。
通过,原来的线下答疑改为线上答疑,交流更加便捷,但也增加了工作量,随时可能会有同学
问问题,有时候深夜还有同学问问题,这也反映同学们学习热情和积极性很高。3.2教学效果
学生们对课程教学内容的改变普遍反映较好,对教学效果认可度也比较高。很多同学反映,通过学习Java程序设计课程,对于编程有了更加深入的理解,对于主流的面向对象程序设计方法有了更加深入和准确的理解。也掌握了很多实际软件项目开发中需要掌握的知识,比如图形用户界面、网络编程、异常处理、多线程、数据库、文件处理等,在以往C和C++的学习中主要是基本语法和概念以及简单算法的学习,对于通过编程语言能完成哪些实际的任务并不太了解,通过Java程序设计课程的学习,编程能力有了较大提高。
特别是,期末考试的卷面成绩中,在基本没有改变大部分考核内容的情况下,80分以上的学生达到55人,占全体选课学生(149人)的38%。卷面成绩及格人数的百分比,达到90%,良好率和及格率有较大的提升。说明选课同学中成绩出的学生,对于课程学习的积极性有很大提高,同时也带动了周围同学们的学习氛围。
4结论
通过教学模式的调整,由教师为主导转变为以学生为主导,通过翻转课堂,可以根据教学内容的特点灵活地调整课程的进度,通过同伴教学,起到了很好的示范作用,使得同学们更容易发现不足,激发进取心。通过项目驱动的上机题目设置,对于Java程序设计的编程实践有很好的指导作用。鉴于课堂
中是全年级所有学生,掺杂着实验班的优秀学生,也包括专起本、军转等新加入的学生,在今后教学中也还是要照顾到他们知识体系尚不完整的特点,对于一些最基本的技能、概念,也还
(下转第113页)
从课本知识延伸到课外,学会用已学知识解决生活中的实际问题。计算机类专业创新型人才培养离不开具有创新性的师资队伍,教师需要不断更新授课内容,探索新的教学方法,打造新型的师生关系,唤醒学生学习意识,激发学生学习潜能,培养学生学习能力。
3.4专业实践
专业实践对于计算机类专业创新性人才的培养起着至关重要的作用。作为计算机类专业的学生不仅需要熟练地掌握专业理论知识和基本技术,还需学以致用。从实验教学、学科竞赛、专业实习方面阐述专业实践。
实验教学,培养学生运用专业理论知识解决实际问题的能力。学生在实验中磨炼自己的专业知识,在实践中提升自己的创新能力。与此同时,也要注重对实验质量的把控,否则便成了“形式主义”,要坚决杜绝出现实验抄袭、作业代写的现象发生。
学科竞赛,是大学生创新实践能力提升的实践平台。学科竞赛的特点是,所涉及的内容多而杂,要求
参赛者掌握不同的知识并在比赛中灵活运用。因此,学科竞赛可以帮助学生提高专业水平,将知识更加丰富起来,起到“以赛促学,以学促用”的效果。泰州学院计算机科学与技术学院一直都鼓励学生积极参加各种综合性的学科竞赛,还特创“百人计划”,旨在促进学生能够在学有余力的同时,提升实践的能力、拓展自己的专业技能。例如,“蓝桥杯”竞赛,能够让学生在竞赛中学到更多的编程算法知识,巩固对数据结构的理解,提高了编程的水平。例如“挑战杯”“互联网+”等多种学科竞赛,能够提高学生综合能力。
专业实习,更注重综合运用所学知识灵活解决复杂工程问题,加深专业实践体系的理解。在实际工作中,可以通过自己的工作经验提出想法或创意,并尝试实现。在实际工作中也能获得更多的感悟与灵感,这些灵感或许成为开启创新殿堂的钥匙。
4结语
培养计算机类专业创新性人才,全面提高学生综合素质,就必须“内外”结合。调整学生的心理状态,激发学生对外界事物的兴趣,用内在动力去推动学生探索外界事物,去尝试解决实际问题。教师传授专业理论知识的同时,不断探索新的教学观念、教学方法、教学模式,创造新型的师生关系,培养学生自主学习的能力。专业实践能够让学生综合运用专业知识,培养学生的创新思维,提升学生的创新能力。
参考文献:
[1]徐永雄.突破思维定势,发展创新思维[J].学园,2014(1):152.
[2]王景.科技引领发展创新成就未来[J].中国建设信息化,2016 (16):24-25.
[3]齐世荣.创新是国家兴旺发达的不竭动力——历史考察[J].
历史教学问题,2004(2):4-8.
[4]姚霞.计算机科学与技术专业人才培养体系建设探究[J].青
年文学家,2013(21):118.
【通联编辑:王力】
(上接第103页)
是要花时间去解释和讲解,使尽量多的学生学习效果能够得到提升。
参考文献:
[1]TIOBE.TIOBE index for September2020[EB/OL].[2019-09-17].htts://www.tiobe/tiobe-index/.
[2]孙晶,方英兰,张永梅,等.计算机类的程序设计课程教学模式
探讨[J].电脑知识与技术,2015,11(32):101-102. [3]李尽忠,黄雪梅,夏洁武.新工科背景下融合CDIO和翻转课
堂的Java程序设计课程教学改革[J].计算机教育,2019(11): 58-63.
[4]程珍,池凯凯,李燕君,等.项目驱动和翻转课堂相融合的教
学模式在Java程序设计教学中的应用[J].计算机教育,2018 (2):91-94.
[5]王海荣.基于翻转课堂的项目化教学改革与探索——以《Ja⁃va程序设计》为例[J].电脑知识与技术,2019,15(23):134-135.
[6]贾克.新工科背景下Java课程教学改革的探索与实践[J].河
北软件职业技术学院学报,2019,21(1):41-45.
[7]曹曼曼.校企合作应用型本科专业Java课程的CDIO教育模
式研究与实践[J].计算机教育,2017(2):158-162. [8]胡乐乐.基于翻转课堂和同伴教学的混合式教学[J].学位与
研究生教育,2017(5):54-57.
[9]蒋海英.浅谈同伴教学及其与传统教学的差异[J].青年与社
会,2013(11):89-90.
【通联编辑:王力】

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。