基于在线网络教学平台的程序设计课程混合学习模式及实践
2018-09-17郭小荟
郭小荟,梁 银,杜 明
(江苏师范大学 智慧教育学院,江苏 徐州 221116)
0 引言
“互联网+”就是把互联网的创新成果与经济社会各领域进行深度融合,推进技术进步、效率提升和组织变革,提升实体经济创新力和生产力,形成更广泛的、以互联网为基础设施和创新要素的经济社会发展形态[1]。如何利用互联网+的发展成果,推进传统的教学模式创新,提高学习者的学习效果,就成为教育工作者一个重要的研究课题。
混合式学习就是把传统学习方式的优势和E-learning(即数字化或网络化学习)的优势结合起来,既要发挥教师引导、启发、监控教学过程的主导作用,又要充分体现学生作为学习过程主体的主动性、积极性与创造性[2]。混合学习在形式上是在线学习与面对面学习的混合,深层次上包括不同教学模式、学习环境和学习方式的混合[3]。在实际的教学过程中,教师应该结合专业培养目标的需要和课程内容的特点,实现对混合式学习灵活且恰如其分的设计[4]。
程序设计课程是计算机专业学生重要的基础课程,程序设计能力是计算机专业人员,特别是软件工作者的重要专业基础能力。这类课程的实践性和应用性非常强,在教学中,应该针对工程教育的要求,以概念运用能力的培养为中心,提高学生的实际程序设计能力。有学校在程序设计课程教学方面进行了探索实践,取得了一定的效果,但是还存在着学生学习过程无法监控、教学平台有的功能不能满足教学需求等问题[5],因此需要在“互联网+”时代的契机下,探索出一种更为高效的程序设计课程教学模式。
1 基于在线网络教学平台的程序设计课程混合学习模式
基于系统性原则、社会性原则和主动性原则[6],在综合研究国内外基于混合学习模式的基础上,结合程序设计课程的特点,设计如下基于在线网络教学平台的程序设计课程混合学习模式,如图1所示。
该混合学习模式主要由3部分构成:混合学习前期准备、混合学习实施、混合学习评价,其中,混合学习前期准备是基础,混合学习实施是核心,混合学习评价是补充。这3个部分形成一个循环,构成一个开放的、动态的系统。
混合学习前期准备的主要工作包括对学习对象和学习内容的分析、对在线学习平台的分析与选择以及对混合学习资源的建设,这部分工作主要由教师团队完成。
图1 基于在线网络教学平台的程序设计课程混合学习模式
混合学习实施由线上学习和线下学习构成,参与对象是学生和教师,主要环节包括网络学习、课堂学习、上机实践学习和竞赛学习,每一个环节的设计都针对提高学生的实际编程能力,其中,网络学习、上机实践学习和竞赛学习都围绕在线学习平台展开,以学生为主体,由教师指导支持。教师在学习平台上发布学习视频、作业、实验内容,组织竞赛,学生在平台上观看视频,完成编程题目并提交,参加竞赛。系统自动记录学生的学习情况,在线自动评判学生提交的程序,并给出对程序的全面分析。
课堂学习在传统的多媒体教室中进行。教学活动以教师为主导,以学生为主体,结合在线平台中系统记录的学生学习状况,围绕项目实例开展。实施过程中教师与学生之间、学生之间、教师之间可以通过各种方式进行交互沟通,形成良好的反馈,促进混合学习更好地进行。
混合学习评价主要包括学生对课程资源的评价、对学生学习的过程性评价和对学生学习的总结性评价。根据评价的结果,可以继续深化认知学习对象,加强学习平台和学习资源的建设,从而不断地提高混合学习的效果,持续推进课程的建设。
2 Java程序设计课程混合学习模式应用实践
由于Java语言的跨平台特性突出,Java语言的学习者越来越多。连续3年,Java在编程语言排行榜上始终名列前茅。许多高校的计算机类专业都开设了Java程序设计课程,江苏师范大学科文学院计算机专业将Java程序设计设置为重要的专业基础课。课题组选择江苏师范大学科文学院计算机专业2017级的49名学生作为实践对象,开展基于在线网络教学平台的混合学习模式应用实践。
2.1 混合学习前期准备
1)对学习对象和学习内容的分析。
实践对象是独立学院的大一学生,基本上没有程序设计的基础。刚进入大学校门,大部分学生能够保留高中时的学习习惯,对于互联网、微信、QQ等工具都可以熟练运用,对于大学学习生涯的第一门专业基础课有较大的好奇心和求知欲。当然,也存在部分学生录取专业和报考专业不一致,对于本专业的学习持消极态度的情况。
Java程序设计课程的学习内容包括基础篇、高级篇、综合项目实践3方面。基础篇的教学内容有Java入门、Java编程基础、数组和字符串、面向对象基础、面向对象进阶等内容;高级篇的教学内容有常用类库、异常处理、图形用户界面、多线程编程、Java数据库操作、I/O流与文件处理等内容;综合项目实践则是给出一些适当规模的综合实践项目课题,这些实践项目带有一定的创新性质。这门课程的学习情况会影响后续课程如数据结构(Java语言版)、JSP编程、Android手机程序设计的学习。
2)对在线学习平台的分析与选择。
目前,在线网络辅助教学平台有很多[7],但是开放、易用、经济并且适合程序设计课程的在线教学平台确实很少。通过对各种教学平台的分析和对比,本次教学实践采用CourseGrading(简称CG)程序设计实践教学与竞赛平台[8]。CG是北京航空航天大学研发的在线教学辅助平台,是一个一站式全自动化交互学习平台,融合课程管理、代码自动评判和抄袭检测,能够促进学生主动学习和互相交流,提高实践环节教学质量,是当前最具深度、最易安装维护、性能最好的程序设计教学辅助平台,目前免费开放给国内高校使用。
3)混合学习资源的建设。
混合式学习资源的建设包括硬件建设、软件建设、教学内容建设3部分。
(1)硬件建设。学校方面:要建设好能够接入互联网的多媒体教室和机房,可以安装部署在线网络学习平台的服务器等;学生方面:需要有可接入互联网的各种移动终端设备,如笔记本电脑、手机等。硬件方面的建设比较简单,参与本研究的学校和学生都能够满足这方面的要求。
(2)软件建设。软件建设方面的工作包括学院多媒体教室、机房中相关软件的安装,CG在线网络教学平台的安装部署。
(3)教学内容建设。在混合学习前期阶段,教师团队根据课程安排,优先建设好Java程序设计课程基础部分的章节学习资源,如视频、作业、实验内容等;随着课程的不断进行,结合混合学习实施的反馈情况,再继续深入建设。
2.2 混合学习实施
混合学习实施主要包括网络学习、课堂学习、上机实践学习和竞赛学习4个学习环节。为了有效地完成这4个环节,需进行以下4方面工作。
1)混合学习教学内容的深化设计。
围绕一条主线:Java程序设计课程是专业基础课,它的学习对后续课程的学习有着重要的推动作用。因此,对于Java程序设计课程的全部教学内容,围绕Java基础→面向对象的思想→Java类库的使用→数据结构→Java数据库编程→JSP编程→Android开发这条主线,设计教学内容,力求切合实际,尽量缩小毕业生与企业界人才需求之间的差距。
教学内容递进:每一个章节如网络学习→课堂学习→上机实践→竞赛学习方面的内容,是一个递进、螺旋式上升的教学实践内容。每一个章节,每一个学习环节的内容都要精心设计:哪些要通过网络视频学习,哪些要利用课堂讲解,哪些需要通过上机实践来提高,哪些需要通过竞赛来促进。这对教师及其驾驭课堂的能力提出了较高的要求。例如,循环结构一节的教学内容可以进行如下设计(见表1)。
具体进行混合学习教学活动时,教师可以根据教学内容的实际情况、学生网络学习情况或者其他方面交流反馈情况,进行适当的取舍。例如,Java数据库操作这一章的学习内容不方便组织竞赛,就没有进行竞赛学习。
表1 循环结构教学内容设计
教学内容生动:具体到每一个知识点,尤其是难点的学习,教学内容要尽量结合学生的生活、环境进行精心准备。例如,讲选择结构时,结合网上关于10月24日程序媛/程序猿节的内容进行讲解,可以起到事半功倍的效果,同时为将来学习异常处理部分的内容作准备;讲解递归的原理和应用时,结合学院统计参加红丝带“防艾”夜跑活动人员的事情说明递归的原理;讲到利用面向对象的思想进行类的设计时,以大学校园里常见的自动售货机为例,说明类的设计过程。
2)混合学习教学活动的组织。
Java程序设计的教学内容设计完成后,就需要根据教学内容的特点展开混合学习教学活动,主要采用以个体学习为主、以小组学习为主、个体学习和小组学习相结合的方式进行。
(1)个体学习为主。对于Java程序设计课程基础篇教学内容的学习,强调以个体学习为主,要求每个学生都要独立自主地完成所有要求的学习内容。
课前,向所有学生强调观看视频的重要性,要求每个学生都要各自观看视屏、完成视屏上要求的作业;课堂上,教师就不再花时间讲解语法知识点,而是以解决问题为主,根据学生提出的问题,组织讲解,或者让学生讲解,或者以项目实例为中心,进行讲解。要求每一个学生独立完成在平台上布置的作业;上机实践课认真完成布置的实验内容;参加平台上组织的竞赛,以赛促学。
(2)个体学习和小组学习相结合。对于Java程序设计高级篇中教学内容的学习,采取个体学习和小组学习相结合的方式。例如,学习到集合这一节时,对于集合的基本概念、常见的接口与实现类等方面的内容,要求每个学生都必须独立完成相关的学习内容。至于这一节中布置的实验内容“设计一个购物车程序”,就要求学生以小组的形式完成,每个小组由2~3名学生组成。小组中的成员在这个较难的题目完成过程中,一起讨论,分工协作,达到学习的目标。
(3)小组学习为主。学习完Java程序设计课程的所有章节后,会要求学生完成一个实际的综合实践项目,以达到训练和提高学生综合实践能力的目的,尽可能缩小学生与企业界对于人才需求之间的差距。
对于综合实践项目的教学,以小组学习为主。参与本课程的学生自主组成若干小组,每个小组5~6人。小组成员推举出一名组长,由组长组织各位成员进行学习、讨论和研究,要求小组在一周的时间内完成所选择的综合实践项目,教师在课堂上组织每个小组进行成果的展示和答辩。
3)混合学习教学反馈和干预。
在混合学习实施的各个环节,教师和学生之间可以充分进行同步或者异步交流。
对于学生在课堂上提出的问题,教师要组织学生讨论并当堂解决;对于学生在教学平台、QQ或者微信上提出的问题,教师要尽可能马上回复,最迟在当天必须给学生回复。
教师及时检查学生平台上的作业完成情况并进行总结,对于都出现的常见问题,除了要在课堂上统一进行解答之外,还要录制微课视频,上传到教学平台。
对于个别学生出现的不常见问题,教师进行单独讲解;对于自主学习能力强、对编程特别感兴趣的学生,引导他们继续深入学习;对于一些学习能力弱,编程能力稍弱但还愿意学习编程的学生,给予更多的鼓励和指导;对于不愿意学习编程的学生,除了进行鼓励外,还要联系学院的辅导员,对他们提出转专业的建议;对于不能按系统上要求的时间提交作业的学生予以批评,并且对该次作业的成绩以0分计算。
4)混合学习教学考核。
对于Java程序设计课程的考核,可以进行以下3方面的改变。
(1)考核内容从传统的以语法知识为主转变为以编程能力为主。
(2)考核方式从传统的闭卷笔试转变为上机考试,由教学平台在线自动评判。
(3)考核成绩由平时的考勤成绩(10%)+平台上完成作业和实验情况的成绩(40%)+最后的上机考试成绩(60%)组成。
由于作业、实验和最后的上机考试都是在教学平台上完成,由系统自动评判,因此成绩更加客观公正。
2.3 混合学习评价
Java程序设计课程的混合学习评价主要采用两种方式。
一是在该课程的混合教学实施过程中就不断进行。例如,每一个章节的网络学习→课堂学习→上机实践学习→竞赛学习完成后,学生和教师就可以对这一章节的学习资源提出意见和建议,以便教师及时思考、吸收采纳合理的建议,利于下一个章节的教学内容设计和建设。在线网络学习平台则记录了学生在每一章节中的学习成绩,教师根据记录的情况,针对每名学生给出相应的评价,对学生后续的学习起到激励作用。
二是在该课程的全部教学内容学习结束后进行。教师给每一个学生发放一个对课程资源评价的调查表,由学生不记名填写。教师对回收来的表格中的信息进行统计,得到学生对课程资源的评价。在线网络平台记录学生的所有学习成绩,课程结束后,很容易就从平台中导出学生在整个学习期间的成绩。教师则根据平台导出的成绩,得到每个学生的总结性评价。
3 结语
经过Java程序设计课程的混合学习模式应用实践,我们发现所构建的基于在线网络教学平台的程序设计课程混合学习模式可以有效提高程序设计课程的教学效率,促进学生主动学习和师生互动交流,切实增强学生的程序设计能力。
目前,混合学习评价中,对学生的学习评价主要是根据在线网络教学平台中记录的学生完成学习任务和作业的成绩。这种单一的成绩数据,不能从多种维度评价学生的整个学习活动,从而方便教师精准地发现学生的学习需要并给予指导。那么,如何利用学习分析技术[9],深度挖掘学习数据,进行数据分析,给学生提供自适应个性化的学习指导,就成为下一步的研究课题。