◆张白 高洋
随着信息技术的广泛应用,传统的课堂教学已经难以提升学生的学习兴趣,这迫使任课教师必须结合学生现状开展相关的教学改革,提高课堂对学生的吸引力。2020年一段时间内,因受到新冠疫情的影响,学生甚至无法进入课堂学习。因此,高校需要完善线下教学的不足,应对各种条件下的课程教学。
C语言程序设计是理工科大学生一门重要的基础课程,是其学习专业课程的基础。随着大数据、人工智能、数据挖掘、云计算等行业的兴起,社会对大学生的编程能力要求越来越高。同时随着学科交叉的不断深入,很多非计算机专业都要求学生具有一定的编程能力。因此,C语言基础的好坏,对很多学生以后进行相关专业课程的学习具有很大影响。
在新工科教学改革背景下,各工科专业对本科生培养方案进行了相应调整[1-3]。以北方民族大学电气信息工程学院测控技术与仪器专业为例,该专业对原有培养方案进行了结构性调整,增加了编程语言类课程,如Java、Python、手机APP开发等。增加编程语言类课程,必然导致其他课程课时的压缩。作为基础课程,C语言程序设计新的培养方案从原有的64课时压缩至40课时。针对这种情况,如何在有限的课时内完成课程内容的有效传授,如何让学生能够对C语言的相关知识融会贯通,这是一个非常大的挑战,需要任课教师寻求新的教学方法来应对当前的教学困境。
现在教学方法与手段不断更新,翻转课堂已经被其他课程广泛应用。本文主要研究翻转课堂下的C语言程序设计线上线下混合式教学,教学过程以北方民族大学电气信息工程学院2019级学生为对象开展。
教学理念传统教学以教师“教”为中心,在教学过程中教师多以讲授课程内容为主,课堂提问没有针对性,难以起到提升学生兴趣的作用。在C语言教学中,学生第一次接触编程类语言,基础薄弱,而教师大多采用“填鸭式”或者“满堂灌”的教学方式。由于课程内容多,教师会先讲授内容,让学生在课下或者实验环节再增加编程实践。
北方民族大学属于民族院校,大部分学生在上大学前接触计算机的机会较少,大一开课后普遍对C语言程序设计课程具有一定的畏惧心理。传统课堂的教学方式使学生感到上课枯燥乏味,学生在做编程实验时又普遍存在太多的问题,难以理清头绪,导致学习动力不足,积极性受到严重打击。同时,C语言实际应用起来灵活多变,一个题目会有多种解法,对学生逻辑思维的要求较高。而教师对知识点分散讲授,对培养学生的逻辑性思维帮助有限,学生难以达到灵活应用C语言的要求。以固定例题为要求进行编程实践时,固定的题目要求、固定的编程思路限制了学生的思维与创造性。当前,智能手机让部分学生的注意力从课堂转移到其他新鲜事物上。如何积极转变教学方式,调动学生的学习积极性,成为教师必须面对的问题。
评价方式传统教学评价主要以期末的闭卷考试作为评价依据,对实践编程能力没有作出实际要求,导致部分学生只以期末考试为主要目标,考前突击现象严重,死记硬背,大量从网上搜寻题库进行练习。这种评价方式导致的结果是学生成绩普遍不理想,对于更为重要的实践编程能力,一部分学生仍然是门外汉。教师在指导编程实验的时候,从程序编写、调试到最终的结果分析,完整地开展教学,但是部分学生在课程结束后连基本的数学计算、排序等C语言功能都无法掌握,这和课程要求有非常大的差距。
学生对课堂教学重视程度不足部分学生学习的第一目标是顺利拿到学分,具有“60分万岁”的心态。大量学生课堂学习积极性不足,平时不注重对知识点的学习与积累,作业抄袭现象较普遍,考前主要采用应试突击的办法,这对课堂教学而言明显不利。课堂教学互动需要学生积极参与,被动式的教学互动必然需要花费更多的教学时间,而如果课堂教学过程中加入互动环节多,教学内容又难以完成。因此,如何吸引学生在课堂教学过程中集中精力,成为任课教师迫切需要解决的问题之一。
学生自主学习时间越来越少当前,培养方案修改后,新的课程引入较多,旧的课程删减较少,更多是采用压缩课程课时的方式。这样造成学生学习课程门数增加,自然而然就会面临自主学习时间减少的情形。同时,部分课程开展翻转课堂教学,要求学生课下学习、课上解答问题,这种方式占用了学生大量时间。另外,随着互联网技术的发展,网络社交平台也挤占了学生大量时间[4]。综合而言,学生自主学习时间面临越来越少的情况。
课时压缩严重北方民族大学电气信息工程学院2019版C语言程序设计教学大纲对课程进行了很大调整,将教学课时从原有的64课时调整至40课时,对上机实践课时压缩了24课时,这严重影响了对学生编程能力的培养。为了适应新版教学大纲,各任课教师需要调整教学思路,在压缩课时的情况下保证教学质量。
线上教学资源的利用率低由于疫情的影响,2020年春季学期电气信息工程学院相关专业的C语言程序设计课程开展线上教学,前期采用微课方式将所有教学视频录制并上传至学习通平台。但学生依赖教师的讲解,即使是相同的内容,仍然需要教师重新在线讲解一次,学生将线上资源更多地应用在复习阶段。如果采用随堂测试督促学生提前观看教学视频,又容易挤占线上教学课时,因此需要平衡随堂测试次数与教学课时,在保障教学内容的前提下有序开展随堂测试,激励学生课下观看微课视频。
线上线下混合式教学理念混合式教学是以学生“学”为中心,通过线上线下结合的方式,能够让学生有效获得知识与提升的能力。以学生“学”为中心,并不是像单对单辅导一样以学生为中心,而是以让学生提升学习兴趣、培养学生的学习能力为核心。线上线下混合式教学充分利用线上教学的时间灵活性与线下教学的沟通及时性,以线上教学补充线下教学的不足,有助于学生提高时间利用率与学习效率,最终达到掌握课程知识的目的。
线上教学线上教学主要偏重于学生自学,教师将课程中的重点、难点以微课的形式进行视频讲解,让学生首先能够把握住课程的脉络,能够对课程内容提出疑问。教师通过线上课程的要求,让学生完成线上学习内容,并且通过线上布置的测试题来检验学生对课程内容的熟悉与掌握程度。
在C语言程序设计课程学习中,很多细节问题贯穿于学习的各个环节,学生需要仔细把握,可以通过反复观看PPT视频讲解加深印象,在实际操作中避免出现低级失误[5]。教师在理论知识讲解中侧重于讲解编程实践中应用广泛的知识点,对应用不广的知识点也进行讲解,但不要求学生在课上进行实践练习。这样既抓住了重点,也节约了有限的课堂教学时间。此外,教师可以通过各种经典例题的编程演示视频,详细介绍其中使用到的语法知识与程序结构,梳理编程思路,引导学生建立编程逻辑思维。为了不限制学生的自主探索,教师重点讲解里面的数据结构、算法设计与逻辑过程,拓展学生的逻辑思维能力,让学生在编程实践中积极思考探索不同的算法。
线下教学基于翻转课堂的教学方式开展线下教学,将课堂交还给学生,教师主要进行编程实践辅导与针对错误的讲解。同时考虑到本课程课时有限的现状,开展有限度的翻转课堂,避免给学生带来过多的学习负担。观看理论知识点讲解视频,要求学生提前学习,对实践编程实例讲解视频不作强制要求,教师在线下教学过程中将理论知识点融合进实践编程实例中,学生在做实践练习过程中就完成理论知识的复习以及实践应用。
评价方式由于是线上线下混合式教学方式,注重结合的效果,因此,平时成绩占比需要侧重线上自主学习,线下教学更多是解决学生实践编程问题,并对普遍存在的问题进行分析与讲解。同时,为了兼顾部分学习积极性不足的学生,教师在编程例题讲解过程中引入C语言语法,将理论知识与实践编程有机结合起来,不再割裂语法要求与编程实践。考核比例为平时成绩10%、实验成绩20%、编程实践成绩20%、期末笔试成绩50%。在可以面对面进行课堂教学后,引入小组教学方式,进一步促进学生之间的互动以及师生之间的互动。平时成绩与实验成绩的引入,既强调了线上教学视频学习的重要性,也加强了学生对小组讨论的重视程度,有助于学生编程实践能力的提升。
北方民族大学电气信息工程学院通过本轮线上线下教学改革,将线上教学作为辅助教学手段,以线下教学为主,开展相关专业C语言程序设计课程教学。线上教学资源给学习积极性高的学生带来显著效果,这些学生对课程知识的掌握程度较往届学生有明显提高。对于学习积极性不高的学生,在测试前和考试前的突击复习阶段,线上教学资源也为他们提供了最好的复习资料。基于翻转课堂的教学模式,构建以微课为基础的学习通线上教学平台,根据课程内容提供独立的理论教学讲解与编程实例讲解微视频,帮助学生课前快速预习相关知识,使得学生花费较少时间即可完成对课程内容的预习。同时调整线下理论教学思路,将知识点融入编程实例中,帮助学生在编程实践中理解并掌握C语言语法。2019级学生的上机编程能力与考试成绩较往届有了较大提高。后期线上教学设置一定的基本任务点,进一步促进学生开展自主线上学习。线下教学过程更多以学生实践编程为主,教师针对学生的编程实践问题进行解答,并根据班级学生的问题情况进行集中讲授,真正实现学为主、教为辅的课堂教学。