韩婷婷
鲁东大学信息与电气工程学院 山东烟台 264025
目前,风靡全球的MOOC思想正在深刻影响着高校课程的运行环境和教学模式。其中,MOOC对于计算机及软件程序设计类课程的影响最为深刻,在各种MOOC平台中,计算机和软件类课程的教学资源最丰富[1]。在软件程序设计类课程中,应该积极借助MOOC提供的全球优质数字化教育资源,为软件专业学生提供更前沿、更有效的教学,为我国快速发展的软件产业提供高素质的人才。
不同课程具有不同的特点,单纯的教学模式不足以达到最佳的教学效果。一些基于MOOC的计算机课程教学效果并不令人满意,其主要原因是忽略了计算机课程强调实践的专业特色。单纯的MOOC在线学习很难提供充分的实践机会保证学生能够利用所学知识解决实际问题,构建理论联系实践的完整知识体系。在软件程序设计类课程中,基于问题的学习PBL(Problem-Based Learning)能够给学生提供充分的空间围绕问题进行实践和创新,激发学生的探索精神,塑造学生的独立自主性和团队合作精神,值得在软件程序设计类课程中推广。由此,在新形势下,怎样借助MOOC平台实施翻转课堂,并结合PBL教学法进行引导,取长补短,发挥MOOC资源和PBL教学法的优势,突出专业特色,达到软件程序设计类课程最佳教学的效果。
MOOC(Massive Open Online Course,大规模开放式在线课程)是一种全新的开放式在线学习模式,目前国际知名的MOOC教育体系有Coursera,Udacity和edX等。国内外的高校对其重视程度都在不断提高,例如麻省理工学院、哈佛大学、耶鲁大学、清华大学、北京大学、浙江大学等国内外著名院校相继加入到国际MOOC运行平台。MOOC突破了传统课堂教育的时空限制,学生可以在任何地点、任何时间获得全球范围的优质教育服务,因此,也使得高校可以选择世界范围内最优秀的在线课程资源建设课堂教学环境。MOOC教学提供了大量的互动在线课程,在学习方式上灵活多样,富有吸引力, 给传统的枯燥的课堂教学带来了巨大的冲击和挑战。
翻转课堂(Flipped Classroom)的教学模式也称作“颠倒课堂”(Inverted Classroom)。在这种模式下,课前学生通过观看MOOC视频、查阅资料、参与讨论、编写代码测试等方式自主学习,并且可以自由地利用碎片时间进行学习。课堂上,教师帮助学生归纳总结知识点、答疑解惑、互动交流、协作探究,通过以上方式的引导和协助促成学生的个性化学习。由此,教师的角色从主导讲授变成了引导和协作,而学生的角色从被动接受变成了主动探究,其结果是大幅度提升了学生的学习兴趣与主观能动性,建立了学生的信心和成就感,能够在实际的计算机和软件教学当中显示出良好的教学效果。
基于MOOC的翻转课堂教学是将MOOC思想植入翻转课堂,借助MOOC教学平台实施翻转课堂可以实现优质教学资源的共享,达到优化教学效果的目的[2]。
PBL(Problem-Based Learning)是基于问题的教学法,让学生围绕问题开展学习,将协作学习和自主学习相结合,得到一种探究式学习方法,在解决问题的过程中学习隐含于问题背后的学科知识,形成应用知识解决问题的技能,最终完成知识体系的构建[3]。与传统的以授课为主的教学模式相比,PBL教学是由教师引导的小组讨论式教学方法,其核心是教师提出真实且有意义的问题,学生小组通过自主学习、搜集资料独立分析问题形成解决方案。教师对学习过程进行记录和检查,在学习过程中激发和鼓励学生自主探究的热情,鼓励小组成员间的沟通和协作,组织小组汇报解决方案,鼓励学生演讲、答辩和自我反思。最终,教师对问题解决情况进行评估以确定是否达到学习效果,并反思以及修正教学策略。国外研究显示,接受PBL教学模式的高校学生在综合素质及终身学习能力等方面与传统毕业生相比均有一定的优势[4]。
MOOC平台中计算机类专业课是所占比重最大的课程系列,为计算机和软件工程专业课提供了非常丰富的优秀教育资源。但在应用MOOC的同时,应该关注计算机和软件教学的专业特色。计算机是一门实践性很强的学科,在依附于MOOC在线教学的同时,一定要结合线下的计算机实践教学,这样才能将理论和实践真正结合,培养具有实践动手能力和思维创新能力的计算机软件人才。因此,在MOOC全球优质教学资源的支撑下,为了充分发挥翻转课堂和PBL教学模式对学生创新和实践能力的培养作用,在Java程序设计课程中尝试将两种方法结合起来,形成一种融合式的特色教学方法。
对基于MOOC的课程,做好前期的准备工作是保证课程顺利进行的必要条件。在课程开始之前,教师应该做好以下准备工作(如如1所示)。首先,根据教学大纲设置课程教学目标。针对学习内容制订相应的教学计划,对于学生自主学习内容录制MOOC视频。为学生基于MOOC视频的章节学习制订具体学习任务,以保证课程的整体节奏,例如:数组知识点的具体学习任务单如图2所示。最后,向学生讲解基于MOOC和PBL的新的教学流程和评价方法,介绍MOOC平台,帮助学生熟悉MOOC平台,推荐多种灵活的学习方法,组织学生下载平台、注册和选课。学生需要完成下载MOOC平台学生端、选课、注册等工作,还需要组成研学小组进行团队学习。课程准备工作的流程如图1所示。
图1 课前准备工作
图2 数组章节任务计划
在课程开始之后,每个章节的知识分为4个环节进行,分别是学生在课前通过多种方式自主学习,并组织小组展开团队学习和讨论,开始研究一个基于所学知识点的新问题。在第一次课堂中,教师对小组提出的问题进行及时的指导和解答,引导学生总结深层次的规律,帮助小组逐步形成解决方案。课后小组深入讨论,提出多种解决方案。在第二次课堂中,小组进行陈述,教师组织全班进行讨论,对方案进行分析和评估。以下结合Java程序设计翻转课程中的数组知识点进行讨论,教学实施整体流程如图3所示。
图3 教学实施流程图
3.2.1 课前学生自主学习 组织小组 开始探究一个新的问题
相比传统的教学方式,在Java程序设计课程中,完全把学习主动权还给学生,并提供各种资源帮助学生自学。学生先阅读教师推荐的课本熟悉课程内容,并结合观看智慧树平台中的MOOC视频进行第一遍学习。MOOC视频制作成15分钟以内的微视频,将知识点进行分割,方便学生跟随视频一起编写代码快速掌握知识点。例如:数组知识点的视频目录如图4所示。提供给学生一个知识点的阅读列表(reading list),学习知识点相关的深层次内容。例如:学习数组需要学生进一步阅读《Effective Java》第43条关于方法返回零长度的数组的原则。
图4 数组视频目录
除了教师录制的MOOC之外,为学生推荐了两个MOOC平台上的初级和中级课程,分别是“中国大学MOOC”平台中浙江大学翁恺老师的《零基础学Java语言》慕课,以及edx平台上的《Advanced Software Construction in Java》慕课,以丰富学生的学习资源,满足不同层次学生的学习需求。
作为课程作业,提倡学生坚持在自学过程中写“课程日记”,在接受新知识的同时,学会高效率地吸收知识,形成自己的认识和理解。将每天的学习成果按照自己的理解进行归纳总结,标志出重点和难点。这项作业使得学生将听到的内容进行梳理并总结为自己的知识体系,加深了对专业知识的理解。课程结束后,一本《Java程序设计学习笔记》就形成了,充分展示了学生的自学成果,给学生带来了很高的成就感。
学生自学结束之前,学习小组开始共同研究解决教师设计的具有现实情境的问题。例如:学习数组知识点时,给学生设计了商品库存管理系统的应用问题,学生要实现库存管理的身份验证、用户管理、库存管理、产生库存管理报告等基本功能。团队开始协作分析问题需求,小组进行知识点的探究并讨论问题的解决方案,对于理解不同或者不熟练的知识点,重新通过MOOC视频和相关资料进行确认。对于问题的上下文关系可以通过MOOC平台社区与教师展开在线交流,并将暂时无法解决的问题进行总结,等待课堂中进行讨论。
3.2.2 第一次课中组织学生答疑解惑 引导学生解决问题
在课堂中,教师先帮助学生对自学知识点进行复习、梳理和总结,再穿插课堂练习和小测验检测学生将知识内化的效果。各小组进行团队学习的陈述,提出所碰到的问题,教师组织学生进行讨论,共同解答问题,在此过程中引导学生发现知识点在相关应用场景中应用的深层次规律,让学生从中得到启发,形成经验,逐渐形成问题的解决方案。
3.2.3 课后小组讨论解决方案
课堂讨论结束后,团队小组就课堂中解答的疑难问题进一步讨论,并尝试提出解决方案,实施解决方案,对结果进行评估,反复此过程直到得到满意的结果。在此过程中,以解决问题为目标,激发了学生的学习兴趣,极大地调动了学生的主观能动性,培养了学生的创新能力。对于程序设计类课程,使学生能够将所学知识迅速应用于实践,锻炼了学生的动手能力和团队协作能力,体会到了学以致用的乐趣。
3.2.4 第二次课中小组陈述
在第二次课上,小组之间分享解决方案。由小组推选代表进行陈述,其他小组对方案进行提问和评估,最后评选出方案最优秀的团队。这种方式为学生提供了一个沟通的平台,可以让学生充分自信地表达自己的思想和创意,同时也为团队合作提供了一个机会,团队中的成员发挥各自所长,协作配合,积极展示团队的探究成果,真正把课堂变成了学生主导的舞台。
针对融合翻转课堂和PBL的MOOC课程,考核的重点不是理论考试成绩,而是需要采用多元化的考核方式考核学生在学习过程中表现出的综合能力。Java程序设计课程中考核内容包括线上学习表现、MOOC单元测试、团队内部表现、团队综合表现、课堂表现、期末考试等方面。
MOOC在线学习平台提供了在线学习进度和时间的评价依据,而在线讨论情况因为不具有客观性,不纳入考核范围。单元测试部分由MOOC平台的单元测试成绩作为评价依据;团队内部表现由小组成员互评产生;团队综合表现由教师根据团队的第二次课堂的陈述结果和表现给出评价;课堂的出勤率、回答问题表现和课堂小测试的成绩作为课堂表现的依据;期末考试考核了学生对课程知识的全面掌握程度。以上的考核方式能够从过程和结果对学生进行综合考核,形成一个完备的评价体系。
相比其他学科的专业课程,软件程序设计教学必须突出2个特色。第一,能够培养具有扎实专业知识、并且能用专业知识解决实际问题的高级应用型人才;第二,能够培养软件企业需要的具有良好的语言沟通和团队融入能力的综合性人才。为了实现以上特色,在Java程序设计课程中对教学模式进行了改革,采用了翻转课堂和PBL相结合的MOOC教学模式。经过2个学期的教学实践,发现新的教学模式充分激发了学生的主观能动性,从3个方面极大提升了学生的各方面能力。第一,提高了学生自学的技巧和消化新知识的能力,学生敢于挑战和解决新问题。第二,提高了学生的创新能力和动手实践能力。第三,提供机会让学生进行团队协作,增强了学生的沟通和领导能力。MOOC提供的线上教学资源,结合了线下PBL的问题式实践,真正做到了理论和动手能力的结合,为实践性极强的软件程序设计类课程开辟了一条值得探索的新道路。