APP下载

基于MOOC的C语言程序设计课程混合式教学探究

2015-12-26曹红兵王诗兵魏梨君徐正梅

关键词:C语言程序设计编程

杨 颖,曹红兵,王诗兵,魏梨君,徐正梅

(阜阳师范学院 计算机与信息工程学院,安徽 阜阳 236037)

基于MOOC的C语言程序设计课程混合式教学探究

杨 颖,曹红兵,王诗兵,魏梨君,徐正梅

(阜阳师范学院 计算机与信息工程学院,安徽 阜阳 236037)

近几年,MOOC作为一种新型网络学习形式,受到学习者的青睐,引起了教育改革者的高度重视。一些著名高校创造性地将MOOC引入学校教学,开展线上/线下混合式学习,取得了良好的学习效果。以“C语言程序设计”课程为例,详细讨论了引进MOOC开展混合式教学的实施过程,并对学生的学习行为、学习体验和学习效果进行了分析,结果表明这种新型混合式教学增强了面对面课堂互动,提升了教学效果。本研究为后续开展SPOC教学奠定了基础。

MOOC;混合式教学;程序设计

MOOC学习是近年来国内外掀起的一股新的网络学习风潮。MOOC以其优质的教师教学资源、免费的入口、随时随地的自由学习而得到网络学习者的青睐。但是与其新鲜的形式相比,MOOC学习的实践效果却显得雷声大、雨点小。一个突出的表现是报名参加学习的人数多,完成课程的人数少。国外有统计表明课程通过率通常在5%左右[1]。国内,北京大学在中国大学MOOC平台上开设的“翻转课堂教学法”从2013年秋第一次开课以来,四期累计注册人数 82 319人(主要是一线教师),获得结业证书共10 493人,占注册总人数的12.75%[2]。毋庸置疑,北京大学“翻转课堂教学法”MOOC课程团队国内一流,但是,如此低的通过率若放在学校教育中,恐怕授课教师会受到责难。究其原因,不外乎无人监督、自律性差、完成率低、教学法缺失等这些网络学习的顽疾。

在全日制高等学校教育环境下,将制作精良的MOOC课程引入到课堂教学中,这种新型混合式教学模式是近期学校教学改革的一个方向,也是高等教育者在克服网络学习不足的前提下有效地利用MOOC课程资源的一个尝试。文献[3-5]的研究结果表明:在国内外著名院校中,基于MOOC的混合式学习呈现出学生对课程内容的学习更加深入、学习热情更高、学习方法更优化、取得了更好的学习成绩等良好效果。但目前,还鲜有地方本科院校开展这种新型混合式教学模式的实践研究。在地方本科院校,这种新型混合教学模式能正常发挥作用吗?学生如何应对这种新型混合式学习模式?学生会获得怎样的学习体验和学习收获?

带着这些问题,我们选择了“C语言程序设计”课程进行个案研究。选择“C语言程序设计”作为研究对象,一是因为这门课程一般都是作为计算机及相关专业的程序设计基础课,对后续课程影响很大;二是大部分高等院校的理工科(非计算机专业)的学生也开设了该课程。该课程受众面广泛,影响面也很大,但是,其教学效果也一直颇受争议。因此,对该课程的教改一直备受关注,尤其是近两年来,国内不同的MOOC平台上陆续推出了一些名校的C语言程序设计MOOC课程,仅在中国大学MOOC平台上就有7个资源(截止到2015年9月),这就为开展基于MOOC的混合式教学提供了平台支撑。本研究结合教学实践过程详细讨论了基于MOOC的C语言程序设计混合式教学的整体设计思路、教学实施过程中的数据收集及结果分析,并进行了深入反思。

1 基于MOOC的混合式教学的前期准备

1.1 仔细梳理教学现状,分析问题所在

在2015年春季C程序设计开课之前,课题组对本校该课程近几年的教学现状进行了认真梳理和仔细分析,发现主要存在以下问题:(1)教学目标偏离。在教学中存在着“重理论,轻实践;重语法,轻算法”的现象,学生被抽象的理论和繁杂的语法规则重重束缚,迷失了学习重点,丧失了学习信心。(2)教学方法和教学手段较落后。C程序设计教学主要以讲授法为主,课上都是“满堂灌”,老师讲得很辛苦,学生听得更心烦。课下布置编程作业,大部分学生疲于应付,程序抄袭现象严重,很少体验过编程的愉悦。(3)教学内容及安排顺序有待调整。自该课程开设以来,教材一直采用谭浩强著《C程序设计》,受课时限制,教材后半部分的指针、结构体等核心内容很难从容展开,有虎头蛇尾的嫌疑,考试评价也避重就轻。

1.2 开展资料研究,确定研究思路

为了更好地解决目前C程序设计课程教学中存在的问题,课题组进一步开展了以论文、精品课程、资源共享课程和MOOC课程为主的资料研究。经课题组人员认真论证,提出了以下研究思路:(1)更换教材。同步开设该课程的班级都换用苏小红等编著《C语言程序设计(第2版)》作为主教材,《C语言程序设计学习指导(第2版)》作为教辅;(2)先在一个班开展基于MOOC的混合式教学试点工作。试点班是随机选择了一个自然班级,其余的教学班仍以传统方式实施教学。(3)直接引进同步上线的MOOC开展混合教学。在MOOC选用上,经过慎重比较,选择了师资精良、阵容庞大、教学内容丰富的苏小红教学团队在中国大学MOOC平台上推出的“C语言程序设计精髓”[6]。选用的MOOC课程与主教材是匹配的。

试点班有47名学生,男生29名,女生18名。男女搭配将47位同学分成15个小组,有2组是4人,其余均为3人,并在每组中选取一位积极认真的学生为组长。为了消除同学们的抵触情绪和更好地开展实验,在第一次上课时,与学生就本次教改实验的意义和目的进行了沟通,详细介绍了新的教学流程,并对自主完成课前学习任务提出希望和要求。所有学生都在中国大学MOOC平台上实名注册参加了“C语言程序设计精髓”MOOC课程。

2 基于MOOC的混合式教学流程设计

混合式学习中“混合”有着不同的范畴和理解,比如,不同学习理论的混合、不同教学媒体的混合,传统教育与E-learning在线学习的结合,等等。本文采用著名学者柯蒂斯·邦克教授界定的混合式学习——面对面教学与在线学习的结合[7]。本研究中的在线学习主要是基于MOOC的自主学习,面对面教学包括学校课堂中相匹配的学习活动和上机实践活动。基于MOOC的混合式教学的实施流程框架如图1所示。下面分别描述线上/线下学习任务和活动的具体设计。

2.1 线上学习——MOOC自主学习环节

在MOOC平台开展的课前自主学习任务设置为:先观看“C语言程序设计精髓”MOOC视频(根据情况选择观看基础视频,视频总时长一般不超过60分钟,学有余力的学生可以自行增加视频学习内容),然后完成本周5个小题的单元知识点测验。鼓励学生参与线上课程的讨论区。考虑到学生在自主学习过程中会有疑问和思考,而一般又不习惯在课堂上提问,所以要求以小组为单位提交自主学习问题本,问题本由小组成员轮流记录,记录的问题可以是视频学习中没听懂的地方、单元知识点测试中不会做的题目、一些疑问和思考,问题描述越具体越好。教师在课前收集问题反馈,并将问题集中整理,选择共性问题在课堂重点讲解、答疑或讨论,其他问题在课间个别辅导。课前MOOC自主学习的目的是对本周学习内容中的基础知识进行记忆、理解和简单应用。线上自学评价方式以小组长评价为主和老师随机抽查相结合的方式。

图1 基于MOOC的C语言程序设计混合式教学的实施流程框架

在MOOC平台中提供的进阶视频、单元知识点大练兵和编程大练兵(题量较大)等作为学生课后自主学习的自选内容,目的是为学有余力的学生进一步巩固提升提供支撑。

2.2 线下学习——面对面课堂教学环节

课堂学习活动的指导思想是以课前线上学习任务的完成为基础,引导学生深入思考,强调结合实际问题的分析和讨论,学习计算机思维方法,培养计算机问题求解能力,加强编程训练。课堂学习活动组织的基本模式为:首先是知识点巩固阶段,即强化重点、难点和易错知识点,就问题本中的共性问题带着大家讨论和答疑;然后进入程序训练阶段,采取案例程序分析→案例程序改写→问题驱动的编程训练层层递进的形式。案例程序分析主要由教师讲解,目的是呈现相应的语法规则、编程思想以及程序的代码风格,增加程序阅读量。程序改写和问题驱动的编程训练则以学生为主体,由教师引导并提供必要的帮助,目的是培养学生的知识迁移能力、自主解决新问题和独立编程能力,积累程序代码量。在此过程中,要求每个学生都要在编程本上完成算法描述及源代码编写,组内同学交换编程本进行算法思想的交流和源代码互查、修改,为上机实践做好充分准备。课堂学习活动评价方式以老师为主,小组长评价为辅,主要考查学生的课堂活动的参与度。

2.3 线下学习——实践操作环节

上机实践的目的是训练学生的程序编写能力和程序调试能力。实践内容主要包含两部分:一是对课堂上的程序改写和问题驱动的编程练习进行上机检验。如果这部分内容在理论课堂上完成的比较好,上机实践不会太困难。二是完成“C语言程序设计精髓”MOOC上的“编程练习”,每周一般有4个题目。上机实践的一些具体做法:学生带着编程本进入机房,以小组为单位按照分配好的固定机位就坐。程序编写和调试中出现的问题尽量在组内讨论解决。辅导老师巡查,进行针对性个别引导,就共性问题进行分析、示范。上机实践课结束之前要求学生上传实验报告,实验报告内容主要是课堂编程任务。实践评价方式以老师为主,小组长为辅,综合评价学生的上机课参与度和实验报告完成情况。

依照上述教学流程框架设计的线上/线下混合式教学并不是封闭的系统,而是根据教学开展实际情况进行不断地动态调整和完善,是开放的。比如,在课程的开始,学生还不熟悉这种新的混合教学模式时,老师要设法宣讲这种教学方法的优势,让学生产生自主学习动力和信心,少量推进线上自主学习任务。待学生渐渐适应了这种教学流程,课前学习任务可以慢慢增加,课堂讲授慢慢减少、增加讨论、协作和编程训练。随着学习内容难度的加大,学生畏难情绪在蔓延,学生会抱怨课前学习任务占用了过多的学习时间,学习自控力差和拖延症等问题导致线上学习效果不理想,又需要重新调整线上与线下内容和时间分配关系,使之缓解学习上的紧张氛围。总之,基于MOOC的混合式教学具体实施情况是在教学流程框架指导下通过不断调整得以持续推进的。

3 基于MOOC的混合式教学的效果分析

为了评测本学期混合式教学中学生的学习状况和效果,我们从多个维度收集第一手数据资料客观记录学生的学习行为、学习体验和学习效果。学习行为的数据采集主要通过查看学生线上观看视频、单元知识点测试和编程练习(知识点大练兵和编程大练兵作为参考)的学习记录和线下学生的出勤情况及课堂参与度;学习体验是在课程结束后通过调查问卷形式进行测量的;学习效果评价综合了学生的学习行为、期中/期末上机编程测试、课程设计及汇报和期末笔试。

3.1 学生的学习行为数据收集与分析

线上学习行为采取小组长每周的检查结果和老师的随机抽查进行估评;学生课堂参与度的考查过程比较复杂,根据课堂提问、讨论、小组合作、问题本、编程本和实验报告进行估评。学生学习行为的综合评价结果是:课程开始的第2~5周学生的积极性很高,线上/线下整体表现很好,学习投入时间较多。从第6周开始(学习循环结构程序控制),学习难度增加,习惯了依赖老师讲授的学生表现出抵触情绪,课前学习任务不能完成,课堂活动跟不上节奏,懈怠2周后,教师及时调整教学设计并不断激励,大部分学生又表现较积极,持续到第12周期中测试,测试结果表明大部分学生达到预期要求。期中以后,递归函数、数组与指针、结构体等课程核心知识难度进一步增加,自律性差和学习困难的学生表现为失去兴趣,小部分学生反而兴趣增加。到17周以后,学生要为各门功课备考,整体表现时间投入不足,课前任务完不成,课堂活动很难开展,授课只能以讲授为主。

3.2 学生的学习体验数据收集与分析

图2 学生的学习体验的部分调查结果示意图注:图2中(a)您认为本课程的难度如何?(b)您喜欢这种混合式教学模式吗?(c)基于MOOC的混合式教学是否提升了您的学习兴趣和学习效果?(d)您是否愿意在后续课程中继续接受基于MOOC的混合式教学?(e)您认为在混合式教学中,面对面课堂教学的重要性有无变化?(f)您认为线上MOOC学习和面对面课堂教学哪个环节对您的学习更有帮助?

在开展基于MOOC的混合式教学之前,在试点班进行了一次口头调研,得知全班无一人接触过这种教学模式,也没有学生有过学习MOOC的体验。为了获取学生对这种新型混合式教学的学习体验,课程结束后开展了一次问卷调查。问卷参考“C语言程序设计精髓”MOOC结课后的调查问卷,并进行了适当地改编,共打印47份,由学生自愿领取填写,学生领取34份,收回34份。部分调查结果如图2所示。

该调查问卷结果表明:由(a)得到,这门课程大家学得不轻松;由(b-d)得到,有近一半的学生愿意接受这种教学模式并在学习过程中获得了良好的学习体验;由(e,f)得到,大部分学生仍然更习惯于混合学习过程中的面对面课堂教学。

3.3 学生的学习效果数据收集与分析

根据教学评价的多元化理论,教学评价方式要与教学过程相协调。因此,对试点班学习效果的评价由10%在线学习、10%课堂参与、5%期中上机编程测试、5%课程设计及小组汇报、10%期末上机编程测试以及60%期末笔试综合给出。其中,在线学习成绩占综合成绩的10%比重是由学生问卷决定,而在线成绩由MOOC课程平台提供,该项成绩多集中在5~8分。试点班与普通班的教学流程不同,综合评价的多维角度也不同。除期末笔试采用统一试卷外,普通班综合评价的维度及所占成绩比重均由授课老师自己制定,用综合成绩进行对比不合适。所以,表1就期末笔试成绩进行了对比。

表1 期末考试成绩统计表

表1中的数据显示:基于MOOC的混合式教学是有一定效果的。虽然一次考试成绩会受考试题型、考察知识的角度和方式等影响而具有一定的偶然性,对试点班的期末笔试总结性评价仍采用传统的出卷思路也有问题。但是回顾整个改革实施全过程,更多的收获主要表现在:

学生的编程能力有一定提升。编程能力是程序程序设计类课程的核心评价指标,而衡量编程的两个重要指标是编程累计行数(TLOC)和单个程序行数(SLOC)[8]。试改期间,在增加学生程序阅读量的基础上,TLOC比普通班有较大提高,并且每个小组都完成了一个源代码400行以上的课程设计,普通班对此没做要求,即试点班学生的SLOC有明显增加。

面对面课堂互动增强。对于在课前能够自主完成线上学习任务的学生而言,课堂上老师在对重难点、易错知识点梳理时,易于使学生产生共鸣;在共性问题分析时,通过启发学生思考,引导学生深入讨论;课堂上的程序改写和编程练习更是需要通过小组内的充分互动和师生交流得以更好地完成。课堂互动使这部分学生的学习主动性进一步增强、对知识的学习更加深入。传统课堂上老师讲解,师生很少交流,更缺乏生生之间的互动。

学习小组发挥作用。小组在课前任务学习、课堂讨论和上机实践各个环节都能发挥作用。在MOOC学习过程中小组内部可以互相讨论、相互启发,不懂的问题记录在小组问题本上;课堂上算法讨论、编写程序、代码互查;上机课上问题讨论、程序调试以及课程设计的小组分工协作等等。认真负责的小组长既可以为大家树立学习的榜样,又可以了解学生学习过程中更加真实的想法和需求,这些反馈能够为教学调整提供依据。

意外收获。基于MOOC的混合式教学使学生初尝了MOOC这种新型网络学习方式,同期班上有29.4%的学生选修了自己感兴趣的其它MOOC课程,并明确表示在以后学习中还会继续关注MOOC课程。

当然,从整个实施过程看,这次实践尝试尚有很多不足。从试点班学生和教师两个主体来分析:部分学生自律性差、学习动机不明确、学习动力不足,也缺乏自主探究意识、习惯于被动接受知识,小部分学生存在学习困难;教师则在线上自主学习任务和线下学习活动的衔接设计上没能很好地细致打磨、匹配程度不高,也缺乏对学生学习行为的科学分析和学习感受的持续跟踪,没能及时采取合理的激励手段提升学生的学习主动性。

4 基于MOOC的混合式教学的反思

在地方本科院校实施基于MOOC的混合式教学模式,既有利于共享优质的线上MOOC资源,又能够使线下课堂面对面活动变得更加灵活。这种学习方式给学生带来新的学习体验的同时,对学生的学习主动性、自己掌控学习的能力和对学习内容的深入探究方面产生了积极影响,提高了教学质量。一学期的混合式教学实践,初步积累了一些经验,也发现了实施过程中存在的问题,并进行了深入反思。

要用整体化思想作指导。基于MOOC的混合式教学是一种新型混合教学方法,而教学方法要与教学目标、教学内容、实践方案、教学资源和评价方式相匹配,才能发挥作用,割裂了任何一方面,都很难发挥整体效用。因此,在深刻理解该教学方法本质的基础上,以整体化思想作为指导,充分进行学情调研,结合本地学生实际,对教学的各方面进行细致分析,循序渐进开展,不可照猫画虎、生搬硬套。

要精心组织线上/线下教学设计。混合式教学的核心是要保证线上/线下两条线的学习各有侧重且有机融合。进行混合式教学设计时,厘清课前学习任务/学习目标、课堂学习活动/学习目标之间的关系,做到线上自主学习任务与线下学习活动的衔接设计精确匹配,避免线上/线下两张皮。比如,线上以C语言自身的体系为脉络,着重展现C语言的基本语句、语法和细节介绍;线下基于C语言的语言结构围绕实际问题把解题思路与编程逻辑放在主体地位,充分讨论如何分析问题和解决问题,注重计算机问题求解能力和编程能力的培养。

要保证平台有效支撑线上学习。在采取引进MOOC进行混合式教学时,现有的MOOC课程很难与本地的教学对象、课程目标、难度和学生已有的知识积累相匹配[3]。平台的稳定性、教学内容的合理性、趣味性是吸引学生主动学习的重要因素。试点班采取直接引进“C语言程序设计精髓”MOOC课程,在调查“您对‘C语言程序设计精髓’MOOC课程的总体感觉是:(多选)”中,73.5%认为课程内容有点多、有点难,67.6%表示单元知识测试有点难,88.2%表示编程练习有点难,47.1%表示第一遍学视频不太懂。学生线上自主学习受到一定影响。

小规模私人在线课程SPOC(SmallPrivateOnlineCourses,简称SPOC)是对MOOC的一种新发展。异步SPOC可以由教师事先复制所引用MOOC课程的所有内容,然后,根据上课进度合理安排上线内容,还可以根据实际需求,灵活录制微课视频和提供相关资料对线上内容进行补充和调整。同时,授课教师可以利用后台数据库记录,科学地分析学生的学习行为,从而动态调整师生的教学行为。因此,下一步的研究要考虑采取异步SPOC形式。

要激发学生持之以恒的学习热情。有效地完成课前线上学习任务是保证混合式学习效果的至关重要因素。要求学生投入更大的精力和热情,同时也要求教师有足够的投入和耐心。考虑到地方本科院校学生的学习动机、自律性和学业困难等问题,要特别重视及时有效地采取积极有效的激励手段,激发学生长久的学习主动性和学习热情,促使产生学习过程的良好体验,从而取得良好的学习效果。

[1]JeffreyJS, 陈 炜译.纽约时报:揭去MOOC的神秘面纱[EB/OL][2015-11-02].http://mooc.guokr.com/post/609976.

[2] 汪 琼.翻转课堂教学法[EB/OL][2015-11-02].http://www.icourse163.org/course/pku-21016?tid=357005.

[3] 罗九同,孙 梦,顾小清.混合学习视角下MOOC的创新研究:SPOC案例分析[J].现代教育技术,2014,24(7):18-25.

[4] 徐 葳,贾永政,阿曼多·福克斯,等.从MOOC到SPOC——基于加州大学伯克利分校和清华大学MOOC实践的学术对话[J].现代远程教育研究,2014(4):13-22.

[5] 门 路,王祖源,何 博.MOOC本土化的可行性和关注点——基于MOOC平台的大学物理课程混合式教学实践[J].现代教育技术,2015,25(1):53-59.

[6] 苏小红.C语言程序设计精髓[EB/OL][2015-11-02].http://www.icourse163.org/course/hit-69005.

[7] 詹泽慧,李晓华.混合学习:定义、策略、现状与发展趋势——与美国印第安纳大学柯蒂斯·邦克教授的对话[J].中国电化教育,2009(12):1-5.

[8] 姜学峰.C程序设计[EB/OL][2015-11-02].http://www.icourse163.org/course/nwpu-236004.

ExplorationofblendedteachinginCprogrammingcoursebasedonMOOC

YANGYing,CAOHong-bing,WANGShi-bing,WEILi-jun,XUZheng-mei

(SchoolofComputerandInformationEngineering,FuyangNormalUniversity,FuyangAnhui236037,China)

Inrecentyears,MOOC,beinganewformofnetworklearning,hasattractedincreasingfavorandattentionofthelearnersandeducationalreformers.SomefamousuniversitieshaveintroducedMOOCintoschoolcreatively,andcarriedoutonlineandofflineblendedteachingmodel,whichhasachievedgoodlearningeffect.ThispapercarriesoutthisnewtypeofteachingmodeinCprogramming.Theimplementationprocessisdiscussedindetail,andstudents'learningbehavior,learningexperienceandlearningeffectareanalyzed.Theresultsshowthatthisnewtypeofblendedteachingenhancestheface-to-faceclassroominteractionandimprovestheteachingquality.ThisresearchhaslaidafoundationfornextworkSPOC.

MOOC;blendedteaching;programming

2015-09-27

安徽省教育厅质量工程项目(2014jyxm224,2014sjjd077,2013zy167,2014zy138,2014JYXM42);阜阳师范学院质量工程项目(2014zjjh024,2013ZYSD05,2014JXTD01)资助。

杨 颖(1973-),女,硕士,副教授,研究方向:现代教育技术。

G40-057

A

1004-4329(2015)04-116-06

10.14096/j.cnki.cn34-1069/n/1004-4329(2015)04-116-06

猜你喜欢

C语言程序设计编程
编程,是一种态度
元征X-431实测:奔驰发动机编程
编程小能手
基于Visual Studio Code的C语言程序设计实践教学探索
纺织机上诞生的编程
从细节入手,谈PLC程序设计技巧
基于C语言的计算机软件编程
高职高专院校C语言程序设计教学改革探索
PLC梯形图程序设计技巧及应用
论子函数在C语言数据格式输出中的应用