“异步学、同步练、多师联合、多屏互动、领编领练” 远程在线教学模式
0 引 言
C 语言程序设计课程是一门重要的公共基础课,通过该课程的学习,学生应具备一定的编程基础和编程素养。疫情期间,教育部提出“停课不停教、停课不停学”[1],鼓励高校积极开展线上教学,这一举措有效促进了高校对线上教学模式的广泛探索[2-3] 以及对线上教学效果的深入思考[4-5]。通过创新教学模式与教学方法,掀起了新一轮“学习革命”以及由“学习革命”引发的高等教育“质量革命”[6]。与其他基础课程相比,该课程的实践性更强,因此课程教学不能完全依靠教师“讲”,更需要教师带领学生有效地“练”。怎样提高学生的线上学习积极性和主动性,加强课堂参与意识,并能有效监督和提升学生的在线学习效果,是程序设计课程在线教学必须解决的一个重要问题。
这种新的不同于线下教学和其他理论课教学的“异步学、同步练、多师联合、多屏互动、领编领练”式远程在线教学模式,通过多种平台的学习数据监测,实现数据驱动的远程在线教学,分阶段、阶梯式提升学生编程能力,从“领练”到“练兵”到“实战”,全方位、多渠道为学生赋能,对特殊时期编程类课程的在线教学起到了很重要的作用。
1 实施在线教学面临的主要困难
目前MOOC 在高校教学中的应用主要体现为线上线下混合式教学方式,而对于纯粹的线上教学鲜有大范围实施。对实施纯粹在线教学的质疑和困惑,一方面来自于教师。对于教师而言,他们更喜欢也更习惯与学生面对面交流。教师可以通过眼神、动作、语言、情绪等多种方式更直接地了解学生当前的学习状态,及时调整自己的授课速度、授课重点,以保证学生更好地掌握知识。在线方式下,由于网络速度以及流量的原因,多数见到的只是屏幕上的一个名字或是一个头像,教师与学生基本处于双盲状态。教师无法在第一时间获知屏幕背后学生的状况,教学有种无的放矢的感觉。
另一方面,学生也比较抗拒纯粹的在线教学。在线教学更多的是学生被动式收听收看,缺少现场参与感,学习更容易枯燥和困倦,对学生自主性和自律性要求更高。学习中产生的疑问和困惑难以在第一时间加以解决,容易产生问题积累,影响学习效果。
如何克服在线教学存在的上述问题,以保证程序设计这类实践性较强课程的线上教学效果,简单地说就是如何吸引学生练以及如何确保学生练的效果,这是目前程序设计类课程在线教学需要解决的当务之急和重中之重。
2 “异步学、同步练、多师联合、多屏互动、领编领练”式远程网络教学新模式
“异步学、同步练、多师联合、多屏互动、领编领练”远程网络教学模式的主要特色是课前学生异步自主学习慕课录播内容,课内教师在小班内同步直播领编领练,课外多位教师联合,每天晚上轮流上岗值班,面向全校选课学生同步直播领编领练,给学生提供“不同口味的直播菜单”,供学生自主挑选,从“领练入门”到“练兵提升”再到“实战强化”,分阶段、全方位、多渠道地帮助学生进行编程学习和训练。
异步自主学习是指学生按照教师布置的课前学习任务,灵活安排学习时间,在课前自主观看教师提前录制好的慕课视频,这个“异步”学习过程不要求所有学生在同一时间点进行学习,他们可以自主安排学习时间。同步直播领编领练是指在同一时间段里,教师和学生同时坐在电脑屏幕前通过直播方式针对重要知识点、编程思路以及易错问题进行现场点评和编程示范。
课前学生异步自主学习慕课的优势在于以周为时间单元发布学习任务,摆脱了时间、空间的局限,学生能随时随地进行个性化的学习,有利于发挥学生的自主性,允许学生自主灵活地规划学习时间。
课内教师同步直播领编领练的优势在于采用直播方式可以让学生有课堂存在感,教师领编领练更有利于创建一个师生共同学习的情境,让视频连线另一端的学生也动起来,提醒学生自己不是一个旁观者,避免学生只听不练、思维不集中,帮助学生克服对编程的陌生感甚至畏惧感。通过共享屏幕在PPT、集成开发环境、钉钉班级群页面、QQ 群页面等多屏之间的随时切换,既可避免课堂教学的枯燥乏味,又可让教师随时观察学生的反馈,有助于增强师生之间的粘性,提升课堂教学的临场感和学生的归属感。
课外多师联合轮流值班、同步直播领编领练的优势在于充分利用线上课堂不受学生选课人数限制的优势,有效发挥团队集体的力量,每一位教师的付出都能让全体学生受益,不仅起到督促学生练的目的,还使学生能够充分领略不同教师的风采和教学风格。
3 在线教学设计
3.1 教学内容的阶梯式设计
国学大师王国维在其著作《人间词话》中曾说:“古今之成大事业、大学问者,必经过三种之境界。‘昨夜西风凋碧树,独上高楼,望尽天涯路’,此第一境也。‘衣带渐宽终不悔,为伊消得人憔悴’,此第二境也。‘众里寻他千百度,蓦然回首,那人却在灯火阑珊处’,此第三境也”。其实,学习程序设计也同样要经历这样的3 种境界。根据学生学习的认知规律和特点,可以将教学内容分为以下3 个模块和3 个阶段。
(1)基础模块——领练阶段:基础内容全部放到慕课里,让学生异步自主学习,而教师的直播课堂用于串联孤立的知识点和解析难点,带领学生一起写代码、给程序找bug,通过领编领练将学生领进门,让学生不再畏惧编程。
(2)进阶模块——练兵阶段:通过阶梯式的程序实例或游戏设计,循序渐进地提升挑战度和难度,对基础内容进行深化和扩展,利用这种渐进式编程使学生的编程能力能够阶梯式获得提升,使不同起点的学生都有更高的落点。
(3)项目模块——实战阶段:通过项目驱动的开放式实验,对学生的编程能力进行综合检验,同时对教师前两个阶段领练和练兵的效果进行检验。
3.2 以练为主的课堂教学方式设计
实体课堂关注教师如何教和讲,教师可通过眼神交流和肢体语言营造一个吸引学生全神贯注听讲的课堂学习氛围,而在线课堂因“师生分散、隔空交流、无法面对面”,很难保证学生全程全神贯注地听讲,单纯靠讲很难达到与实体课堂等同的效果。学生学习编程的最大痛点是“看了但没有入脑,学了但没有学会,练了但没有成效”。影响成效的主要原因是练得少,越是练得少,就越不愿意练,最后陷入一个恶性循环。对于程序设计这样实践性较强的课程,从第一节课开始给学生养成练的习惯,通过领编领练帮其渡过编程的入门关,通过渐进式编程不断给学生赋能,对于提高其学习成效非常重要。
基于以上考虑,本课程可以确立“领编领练”式的在线教学方式, 将关注点聚焦在如何吸引学生上线上机、如何在线引导和指导学生编程训练以及如何搭建一个线上师生学习的共同体上。教学设计注重“练的内容、练的能力、练的方式、练的效果”,教学方式侧重激发学生“学的兴趣、练的欲望”,让学生练完以后有“获得感”和“成就感”。
3.3 跟踪反馈与考核评价的设计
用SPOC 打卡测试考核学生课前是否“学到位”;用在线编程测试考核学生课上是否“练到位”;用实验大作业考核学生是否“用到位”;用课中课后的匿名问卷了解学生的真实学习体验,以便对后续的在线教学及时改进。
4 在线教学实施
哈尔滨工业大学计算机科学与技术学院2020年春季学期共有9 位教师承担全校非计算机专业大一学年本科生的C 语言程序设计课程,总选课学生人数1 029 名,总课时48 学时,其中32 学时授课,16 学时实验。
4.1 平台选择与利用
经综合考量, 确定以爱课程(中国大学MOOC)为学生异步自主学习的平台,利用课程团队自建的首批国家精品在线开放课程“C 语言程序设计精髓”作为共享的录播授课内容,每位任课教师建立自己的同步SPOC 课程和班级QQ群,配合直播效果较好并具有直播回放功能的钉钉或腾讯课堂实施每位教师的个性化教学,多位教师的联合直播选择的是钉钉。
4.2 具体实施
以MOOC/SPOC、钉钉/ 腾讯课堂、QQ 群为平台,实施“异步学、同步练、多屏互动领编领练”式程序设计课程在线教学,如图1 所示。
慕课主要解决学生课前异步自主学习时“学什么、如何学”的问题,而在线课堂解决学生“练什么、如何练”的问题,主要设计为以下3个时段。
(1)打卡测试阶段:约20 min 左右,旨在检验学生异步自主学习效果。学生在SPOC 上完成打卡测试,根据打卡测试记录,助教统计学生出勤人数,及时联系学生了解情况。
(2)直播领练阶段:约50 min,共享屏幕讲解重点和难点的同时在编程环境下领编领练,期间学生可随时反馈留言。直播结束后将视频保存或分享到群内供学生回放。对没有电脑的学生,要求其将程序写在纸上拍照后发给教师。对基础薄弱的学生,单独组织专题的直播领练。
(3)线上翻转阶段:约20 min 左右,教师领练结束后,学生可通过钉钉请求连麦或发起QQ语音电话,讲解自己不同的编程思路和代码。每次课后将QQ 群里的提问回收整理成问题集锦发布到QQ 群供学生回看。
课后主要帮助学生解决“如何练会”的问题。我们开发的编程能力训练平台(http://sse.hit.edu.cn/train/login.aspx,简称SSE)主要用于学生课下的自主自助式编程训练,而开发的远程在线实验和考试系统主要用于在线实验和在线测试,检验学生练的效果。
为确保学生能够“练会”,而不是“看会”和“听会”,除了每位教师在指定上课时间在各自的班级进行直播领练外,课程组还在钉钉中创建了一个面向全校1 029 名选课学生的“C 语言多师联合直播领编领练”群,每天晚上在固定时段,由任课的9 位教师轮流上岗值班,进行现场编程、领编领练,每周提前发布领编领练内容的预告,学生可以根据预告内容自由选择进入直播课堂。
5 在线教学效果与反思
C 语言程序设计课程从2 月24 日开课,每周2 学时,总计9 位老师上课,总选课人数为1 029 人,平均到课率在99% 以上。从学生课堂活跃度、线上测试分数、问卷调查等数据来看,疫情期间教师的教学模式从“以讲为主”转变为“领练为主”,得到了学生的普遍认可,给学生带来了全新的学习体验,促进了学生学习方式的转变,从以往“被逼练”转变为现在“自觉练”“互帮互学、群学群练”。
从教师最初的心里没底和学生的不适应,到现在教师对直播的热衷和学生的习惯成自然,这些转变的背后引发了我们对传统教学的深刻反思。传统的实体课堂是否讲得太多了呢?讲得越多,学生就学得越好吗?什么因素对学生的学习兴趣和学习成效发挥了关键性的作用?这种新的教学模式能否达到预期的效果?
带着这些疑问,我们进行了一次中期匿名问卷调查,总计433 名学生参与填写了问卷。结果(如图2 所示)显示,教师直播领编领练和自主编程训练在提高学生学习兴趣和学习效果方面的作用均超过了观看慕课视频,教师直播领编领练在给学生课堂临场感,帮助学生克服编程恐惧感、获得成就感和提高编程兴趣方面均发挥了重要作用;另一个发现是没有课前异步学习慕课与尚未编程入门的学生占比惊人的相似,这说明异步学和同步练是确保与实体课堂“同质等效”或“同质增效”的两种不可或缺的重要手段,虽然练非常重要,但是异步学是同步练必不可少的基础。
6 结 语
程序设计课程必须围绕解决学生“学什么、如何学”“练什么、如何练、如何练会”这两大核心问题进行教学。疫情期间探索的“异步学、同步练、多师联合、多屏互动、领编领练”式在线教学模式,起到了“助学生学”和“为学生赋能”的作用,达到了提高学生编程兴趣和编程能力的双重目标。在疫情结束后,我们将继续探索将其作为线下实体课堂的有效补充,实现真正的“以生为本、以学生为中心、学习成效驱动”的混合式教学,将其作为线下实体课堂教学的一种有效补充。
参考文献:
[1] 中华人民共和国教育部. 教育部办公厅 工业和信息化部办公厅关于中小学延期开学期间“停课不停学”有关工作安排的通知[EB/OL]. (2020-02-12)[2020-05-10]. http://www. moe. gov. cn/srcsite/A06/s3321/202002/t20200212_420435. html.
[2] 叶琪, 胡国玲. 基于云课堂的混合式数据结构课程建设[J]. 计算机教育, 2020(2): 41-44.
[3] 焦建利, 周晓清, 陈泽璇. 疫情防控背景下“停课不停学”在线教学案例研究[J]. 中国电化教育, 2020(3): 106-112.
[4] 胡小平, 谢作栩. 疫情下高校在线教学的优势与挑战探析[J]. 中国高教研究, 2020(4): 18-22.
[5] 刘振天. 一次成功的冲浪: 应急性在线教学启思[J]. 中国高教研究, 2020(4): 7-11.
[6] 徐晓飞. 中国在线教学的模式创新与经验分享[R]. 联合国教科文组织: 应对2019新冠肺炎疫情的跨区域高等教育在线研讨会,
基金项目:黑龙江省本科教育教学改革项目“学习成效驱动的C 语言程序设计O2O 混合式教学模式研究与实践”(SJGY20170655)。
第一作者简介:苏小红,女,哈尔滨工业大学教授,研究方向为智能软件工程、程序分析、软件漏洞有缺陷预测,sxh@hit.edu.cn。
引文格式:苏小红,张彦航,张 羽,等. “异步学、同步练、多师联合、多屏互动、领编领练” 远程在线教学模式[J].计算机教育,2020(9):优先出版.
(微信编辑:史志伟)
更多精彩:
哈尔滨工业大学战德臣教授:一种确保高校教学质量的新模式——同步异步混合式教学
【校长专访】加快推进计算机科学教育 做数据科学教育的探路人——华东师范大学副校长周傲英教授专访