耿 煜
(湖北文理学院 机械工程学院,湖北 襄阳 441053)
21世纪以来,随着信息技术的迅速发展,各种在线学习平台不断出现,国外的如edX、Coursera、Udacity、可汗学院等;国内的如中国大学MOOC、学堂在线、学习通、智慧树、雨课堂、PTA(浙江大学的“程序设计类实验辅助教学平台”,Programming Teaching Assistant,简称PTA)等。在线学习平台由于可随时随地获取各种教学资源的优势,成为线上线下混合教学中学生自主学习的首选。混合式教学是目前大学教学改革的一个方向,它可以结合在线教学和传统教学的优势,是学生主体参与、教师主导活动的线上线下混合教学,是一种以实现良好教学效果为目标的教学模式。
“程序设计基础C语言”课程,是面向工科大一新生开设的一门通识课,课程的教学主要有课堂理论知识教学和上机实验两部分。理论学习内容涵盖了C语言基础、数组、函数、指针、结构体、文件等方面知识,为确保学生将理论知识内化吸收,课程包含了相应的上机实践内容。本门课程是工科类专业学生后续课程的重要编程工具,非常重要,但学生的学习状态不容乐观,表现为以下几个方面。
第一,大部分的学生对程序设计语言比较陌生,编程思想和编程思维极度缺乏。
第二,C语言数据类型丰富,语法规则琐碎,容易出错,并且出错后,学生经常不知道错误是哪种类型的,无从下手修改错误。这是因为大部分工科专业类学生英语基础薄弱,看不懂编译中的英语提示信息。
第三,“程序设计基础C语言”课程学时较少,理论课时一般只有36学时,学生要在有限的时间内学明白、学深入有很大困难,有些学生在学习之初就产生了畏难情绪,认为C语言无法学好。
第四,对于程序设计类课程而言,上机实验是课程学习的重要环节,但在各高校压缩通识课学时的大背景下,上机学时较少,一般只有12学时,并且学生上机只是满足于验证程序的运行结果,没有花时间思考算法与相关知识点,学习的主动性不高。
基于建构主义学习理论,学习是学习者在原有知识经验基础上,对新知识进行意义建构的过程,其强调了学习者先前知识的重要性。[1]基于以上课程教学现状,采用传统的教学模式,即先理论、后上机实践的模式,不能满足“程序设计基础C语言”课程的教学要求,需要采用新的有效教学模式。结合近几年的教学实践经验,并对教学方法不断探索,在教学中开展了基于对分课堂+PTA的线上线下混合教学模式。对分课堂与一般的翻转课堂的不同之处在于:对分课堂不需要学生课前观看视频进行预习,而是教师在课堂上先对基础知识进行讲解,只讲重点难点,讲精讲透。教师讲完以后,学生要内化,学生在内化中,如果有不理解的地方,根据需要到线上观看相关视频进行进一步学习。上机实验分为线下线上两部分,线下实验在机房编写程序并进行调试,线上实验借助PTA进行线上调试,PTA平台由百腾公司提供硬件、软件云平台支持,把传统的线下编程实践通过线上平台实现,降低了学生对程序设计语言环境和工具使用的难度,PTA能够在线反馈程序的编译运行的完整过程和程序运行结果,学生可以在线反复提交程序,多次编译运行,没有时间限制。这种线上线下混合教学模式有效解决了传统教学模式的学时不足的问题,因为在线编程,PTA平台及时反馈实验成绩,提高了学生的学习兴趣和程序设计的能力,并有助于提高实践教学水平。[2]
在线上线下混合教学模式中,教师需要考虑线上与线下之间的联系,并将教学内容进行重新组合。线上的教学内容主要针对的是基础课程内容,如表1所示。而线下教学内容则需要结合线上的教学情况进行补充,主要是C语言的综合应用和高阶应用,使学生具备计算思维和综合应用能力,并培养团队协作精神和创新意识。
表1 线上基础课程内容
对分课堂是复旦大学心理学教授张学新老师于2014年提出的教学模式。该教学模式创新性地改变了“教”与“学”的关系,将“教”与“学”的权重放在了基本均等的位置,张教授依据脑科学的知识和认知科学的知识,在教学过程中设置了独学环节和对话环节,进行了合理的认知资源分配,将课堂教学划分为四个环节:讲授、独学、讨论和对话。[3]对分课堂的四个环节,顺序很重要。首先是讲授,主要负责知识传授,是能力培养的比较重要的前提,只能在最前面。独学和讨论环节主要负责学生能力的培养,必须在课堂讲授之后,而学生独学的成果又是学生进行有效讨论的前提,因此,独学安排在讨论之前。对分课堂的最后环节,“对话”由教师掌控,将知识传授和能力培养进行融合。
C语言是结构化语言,在循环结构的学习中,学生对三种基本循环结构语句容易理解,但循环的嵌套是难点。课堂上可以通过FOR语句的嵌套输出一个由“*”组成的长方形,然后修改程序输出一个直角三角形,接着提出要求,让学生编程输出一个等腰三角形,学生编程的过程中允许讨论,最后由老师总结循环的嵌套这个知识点。在对分课堂的教学中,教师的角色是学习的引导者,学生的角色是知识的主动研习者。在课堂教学上,教师进行讲解的过程中,有的学生能跟上进度,有的学生跟不上,采用对分课堂,教师讲授结束了,留出时间让学生上机实践,独学思考,能够使学生根据自身的情况逐渐消化各章的知识点。为了更好地服务于学生的个性化学习,教学中可以利用大数据分析技术,对中国大学MOOC、学习通、PTA平台的学习数据进行整理分析,以便对学生进行高质量的指导。[4]
在传统的“程序设计基础C语言”课程的教学中,教师注重知识的传授,对学习能力的培养没有很好的方法,在对分课堂的教学过程中,学生在学习中深度参与,在教师讲授后需要完成对知识的理解和内化,并以作业、讨论等形式体现自己的学习成果,这就要求学生对学习内容重新整合建构,将知识与经验结合在一起,促进对知识的长时记忆,这种学习方式不仅收获了知识,对学习能力的培养也有很大的促进作用。
随着信息技术的快速发展,在线学习资源逐渐呈现出以下特点:①海量。尤其是2020年新冠肺炎疫情期间,在线学习平台大量涌现,在线学习资源呈现出海量的特征,并以几何级数的速度增长。②来源广泛。这些资源来源于不同高校的教师,涉及多个学科领域。③碎片化。一门完整的课程往往由几十个5~10分钟的微视频组成。
在线学习资源的上述特征导致了大学生自主学习选择困难的问题,根据2020年CNNIC发布的第46次《中国互联网络发展状况统计报告》数据显示,我国在线教育规模达3.81亿,其中以获取知识和信息为主要目的大学生所占比例超过在校大学生人数的70%。虽然在线教育规模大,但是国内外在线学习平台统计的课程完成率数据显示,大学生自主学习效果低于大家的预期。如国外主流在线学习平台Coursera的课程完成率只有7%~9%,国内在线学习平台的平均课程完成率不足10%。
1.线上教学资源的选择。结合工科学生的特点,面对海量的线上学习资源,在教学中不强求学生在线上学习平台的课程完成率,在线平台的视频资源只是作为线下教学的补充。任课教师可以向学生推荐1~2门国家精品在线课程,比如,浙江大学翁恺老师的《程序入门——C语言》和北京理工大学李凤霞老师的《C语言程序设计》课程。通过线上优质课程的学习,有助于学生获取到个性化、精准化的在线学习资源,从而有助于提高学生对在线学习资源的满意度,进而有助于提高学生自主学习的效果。
2.线上实验平台的选择。PTA是面向高校和社会推出的程序自动评测、开放式、共建、共享的实验辅助教学平台。PTA基本满足了新兴的在线课程建设需求,满足了不同层次学校在程序设计类课程方面的实践教学的需求,它可以实现线上实验结果及时反馈,极大地提高了学生的编程兴趣,减轻了任课教师指导实验的负担,并可进行在线考试。
综上所述,“程序设计基础C语言”作为大学新生的第一门编程课,既要掌握语法结构,又要灵活运用程序设计的思维方法,在对分课堂+PTA的线上线下混合教学模式下,通过多项考核数据对比发现,本门课程期末考试的通过率增加近25%,计算机二级C语言等级考试报名人数逐年增加。实践表明,采用对分课堂+PTA的教学模式,学生的编程思维得到了很好的锻炼,对工科学生在各类学科竞赛中取得好成绩,打下了良好的基础。教无涯而研不止,在进一步探索线上线下混合式教学中,需要结合学生学习的实际效果,更加有效地指导学生进行线上资源的合理利用,加强线上学习的管理和引导,不断提高混合教学模式下学生的总体学习效果。