多元驱动的C++程序设计基础差异化混合教学模式研究与实践
2022-08-29徐志佳
徐志佳
(1.华南理工大学机械与汽车工程学院,广东广州510640;2.塔里木大学机械电气化工程学院,新疆阿拉尔843300)
1 引言
随着信息化和智能化技术的快速发展,掌握计算机的基本工作原理和一门计算机程序设计语言,已成为当代大学生知识结构中必不可少的组成部分。C++是一种多范型的程序设计语言,它既支持面向过程的程序设计,又支持面向对象的程序设计[1],是当今主流的编程语言。在此背景下,C++程序设计基础于2017年全面成为华南理工大学非计算机专业本科生的计算机公共基础课程。课程于大一第二学期开设,总课时为40 学时。其主要目标是要求学生掌握结构化程序设计中基本的概念、方法,并能够使用结构化思想方法设计小规模的应用程序,进而为将来利用计算机解决本专业的理论和实际问题打下良好的基础。然而,实践发现,C++程序设计基础课程教学目前面临诸多亟待解决的挑战。
2 课程教学存在问题分析
首先,学生知识基础较弱,普遍存在畏难思想。对教学班进行调查分析发现,95.8%的学生没有C++程序设计语言的基础,而且没有学习其他程序设计语言类先导课程;100%的学生认为课程会较难。在这种情况下,如果采用的教学模式不当,往往难以激发学生的学习兴趣、调动其学习积极性。
其次,传统教学模式难以适应教学需求。尽管翻转课堂、微课、MOOC 等新型教学模式不断涌现,但由于课程总课时已被压缩到40 学时,实验课时仅为8 学时,教师往往被迫沿用传统“填鸭式”教学模式[2],学生既缺乏深入思考与理解,又缺乏足够的实践巩固知识[3],因而难以保证教与学的质量。
第三,缺乏支持学生差异化学习目标的有效手段。由于自身基础、兴趣的不同;加之大一新生的整体学习任务较重,平均每天10.4节课,学生对课程的预期目标不尽相同。但在传统教学模式仍然未被根本改变的状态下,难以为学生提供差异化的学习服务。
3 多元驱动的差异化混合教学模式设计
针对上述问题,提出一种多元驱动的C++程序设计基础差异化混合教学模式。该模式首先面向学生的差异化学习目标,建立多元驱动模型;然后运用智慧教学工具长江雨课堂开展混合教学,并在教学过程中实施多元驱动策略,满足学生的差异化学习目标需求。
3.1 面向差异化学习目标的多元驱动模型
学生的学习目标可以概括为四类:考试及格、获得高分、简单应用和进阶应用。其中,考试及格是最低的学习目标,学生由于各种原因,不愿意在课程学习中投入足够的时间。获得高分主要以评优评先为主要考量,侧重于卷面成绩的提升。简单应用和进阶应用偏向于程序设计语言的实用性,前者关注一些简单问题的计算机求解,后者偏向于获得一定的独立开发应用程序的能力。
根据学生的差异化学习目标,设计的多元驱动模型如图1所示。该模型首先以智慧教学工具(长江雨课堂[4-5])等现代教育技术搭建混合教学平台。由于长江雨课堂能够记录并保存所有的教学活动,因此学生可以反复学习。这样,学生可以根据自身目标选择难度适合自己的教学内容“随时随地”进行学习,从而满足其差异化学习目标。此外,长江雨课堂平台具有丰富的学情分析、作业批改等功能,教师通过在其中查看学生的学习情况,能够对学生的学习目标进行区分,进而针对性地选择驱动方式。
图1 面向差异化学习目标的多元驱动模型
驱动方式主要包括正常驱动、问题驱动、协作驱动、任务驱动和项目驱动。其中,正常驱动指不采用特殊的驱动方式,主要面向仅需要考试及格的学生,即对其参与后四种驱动方式中的表现不做过多要求。后四种驱动方式紧密相关。例如,问题驱动是以问题为基础,以学生为中心,以任务驱动为主线,以小组协作为主导[6];项目驱动中,往往亦包含需要解决的问题,并为相互协作的项目成员分配不同的任务。需要说明,协作驱动还包括教师选择助教进行协作教学,即教师采用自愿报名的方式在每10名学生中选择一名助教,并以学习金字塔理论中“马上应用/教别人”的主动学习方式[7]为依据,建立“教师-助教-组员”三位一体的作业协作批改机制。这四种驱动方式都可以面向获得高分、简单应用和进阶应用的目标需求。此外,课程全程采用激励式教学,驱动学生在其学习目标内都保持信心和积极性。
3.2 教学模式实施
为保证多元驱动的C++程序设计基础的差异化混合教学模式的顺利实施,构建了形式多样的教学资源,包括录制所有教学单元的微课视频,设计支持混合教学的预习课件库、授课课件库和复习课件库,建立符合问题驱动、协作驱动、任务驱动和项目驱动需求的课前讨论题库,课堂练习题库、示范题库,课后同步练习题库、综合练习题库、实验练习题库和项目练习题库。所有的教学资源都存储于长江雨课堂平台中。
在此基础上,依托长江雨课堂开展课程的混合教学。课前,教师通过长江雨课堂提前一周将预习课件推送给学生,组织学生学习微课视频、完成预习题,使知识传授环节前移,消除课堂教学中“填鸭式”教学模式的存在土壤。课中,教师在对课前预习情况进行分析的基础上,首先安排一定时间,通过长江雨课堂随机点名学生对预习知识点进行复述,一方面检验学生的预习效果,一方面无形中督促学生更认真地预习;其次,教师根据学生的预习情况,着重开展重/难点讲解、示范/演示等教学活动,并通过长江雨课堂组织学生进行小组讨论和实际演练,促进学生进行知识的应用,进一步巩固预习和授课效果。课后,教师根据教学进程,通过长江雨课堂适时、适量发布同步练习、综合练习、实验练习和项目练习。其中,同步练习在每个教学单元学习完成之后发布,综合练习在每章教学内容学习完成之后发布,实验练习的发布频率与实验课时安排一致。通过课后练习,逐步达到知识内化的效果。项目练习用于支持任务驱动和项目驱动的教学,包括通讯录管理系统、万年历、贪吃蛇等15个项目。在第一堂课,教师组织每个小组通过长江雨课堂投票选择一个项目。每当学生具备一定的能力,如学会了输入输出,教师即通过长江雨课堂发布项目任务,让各小组完成所选项目的某些功能,如完成贪吃蛇程序界面的输出。课程教学全部完成之后,教师组织各小组进行项目汇报并现场展示程序运行效果。
在课前预习和课后练习过程中,教师首先批改助教的练习作业,然后为助教答疑解惑,进而组织助教批改组员的练习作业。
教学模式对课程评价方式进行了改革,其中,期末考试成绩、线上预习和复习、课堂表现、项目练习、上机实验的占比分别为70%、5%、5%、5%、5%和10%。
3.3 教学模式效果
教学模式的效果可以从教师和学生的主观感受,以及学生的实际表现两个方面进行评价。主观感受层面,从教师的角度,明显感觉跟学生的沟通更顺畅了,学生的积极性更高了,课堂更为活跃了。从学生的角度,课程结束之后的问卷调查表明:1)教学模式在课前、课中和课后所有的教学活动中都设置了实践环节,能够避免理论与实践课时严重失衡造成的“重理论、轻实践”问题;2)混合教学模式强化了学生的预习和听课行为;3)多元驱动方式满足了学生的差异化学习目标需求;4)项目练习增强了课程的趣味性,并使学生认识到了课程的实用性;5)学生普遍认为自身的协作能力、自学能力和满足感得到了提升。
实际表现层面,80%以上的学生完成了课程所有的教学活动,包括课前预习、课后复习,以及其中的各类练习。虽然83.9%的同学认为项目练习难度偏大,但74.2%的同学完成了项目练习,未完成的仅占3.2%。其中,第7 组在项目练习中引入了外部函数库,对贪吃蛇游戏界面进行纹理贴图,形成了较为美观控制台游戏界面;同时设计了不同的游戏模式,游戏演示过程非常流畅。这些超出项目预期的内容,主要由小组成员通过讨论和自学完成,充分体现了学生的知识综合运用能力、小组协作能力、自学能力以及创造能力。此外,对华南理工大学安全工程专业连续两届教学班的考试成绩分布情况进行对比发现:采用多元驱动的差异化混合教学模式之后,学生的卷面不及格率由31.8%下降到2.6%,高分率(大于等于80 分的学生占班级总人数的比)由31.1%(22.2%加8.9%) 上升到74.3%(33.3%加41.0%),如图2所示。
图2 安全工程专业连续两届教学班考试成绩分布对比
4 结束语
华南理工大学的教学改革表明,采用多元驱动的差异化混合教学模式教学,是应对C++程序设计基础学生基础较弱、课程课时压缩、理论实践课时比例失衡、差异化学习目标需求等问题的一条有效途径。该模式成功地将课堂延伸到了课外,提升了学生利用碎片化时间进行学习的主动性,增强了其中心地位,有望为非计算机类大一工科学生的C++程序设计基础课程教学提供参考。