基于OBE的程序设计基础教学改革探讨
2021-07-13杨小莹张万礼
杨小莹,张万礼
(宿州学院 信息工程学院,安徽 宿州 234000)
程序设计基础是计算机类专业的第一门程序设计课程,在构建学生编程体系方面起着很大的作用,是许多后续专业课程开设的前提和基础.在教学过程中,大部分教师采用“讲—听—记—练”的教学模式,以教师为中心,学生处于被学地位,课后学生学习较为单一,仅以作业为主.整个教学过程学生缺乏主动性,师生互动极为贫乏,期末考核方式单一,仅仅进行传统的卷面考试.这种以教师教为中心的教学效果欠佳,学生无法获得程序设计的思维,无法提高程序设计实践能力.
OBE(Outcome Based Education)是“以 学生为本、以成果为导向”的教育理念[1],这种教育理念注重学生的学习效果以及综合能力的提高.本文通过将OBE教育理念应用到《程序设计基础》课程教学中,锻炼培养学生编程思维,为后续专业课程的学习打下扎实的理论和实践基础,提高学生工程实践能力和综合竞争力.
1 OBE教育理念
OBE教育理念源于西方教育改革,注重学生具备的学习能力,本质是以“定义—实现—评估” 预期学习成果为主线开展教学活动[2-3],通过评估学生学习成果持续改进教学质量,如图1所示.首先根据社会需求和学校定位制订专业人才培养目标,依此制定毕业要求,毕业要求决定了教学中需要达到的指标点,根据指标达成情况确定、修改、完善课程体系[4-5].依据指标点以及课程教学效果改进完善课程教学大纲,大纲决定采用何种教学方法,通过多元评价来评价课程和指标点的达成情况,形成教学反馈,形成持续改进、动态调整的人才培养机制[6-7].
图1 基于OBE培养:持续改进机制
2 基于OBE的程序设计基础反向教学设计
教学活动开始之前,首先明确程序设计基础的教学、学习目标,据此设计选择相应的课程内容、采取对应的教学方式和能充分体现学习教学效果的考核方法.以本校软件工程专业为例,培养目标(Training Objectives,TO)分为知识结构、能力结构和素质结构三种结构,具体如表1所示.
表1 培养目标
毕 业 要 求(Graduation requirements,GR)分为12条及相应的指标点,根据程序设计基础课程支撑的培养目标和毕业要求确定课程教学目标,从而确定程序设计基础课程的教学内容.按照知识点分为6个课程模块(Course Module,CM),各个模块对应不同的学习单元,根据难易程度合理分配各个学习单元不同学时,具体如表2所示.课程支撑的培养目标、毕业要求及其指标点、课程目标以及课程模块的关系如表3所示.
表2 课程模块内容
表3 课程支撑关系
3 基于OBE的程序设计基础正向教学实施
在基于OBE的程序设计基础正向教学实施过程中,提出“线上教学+线下教学+综合考核+学科竞赛”四位一体的教学体系,如图2所示.将线下、线上教学环境相结合,教学过程考核与课程结束的最终考核相结合,将竞赛要求引入教学过程,良好的教学过程促进优秀竞赛结果的形成,二者相辅相成,充分培养学生创新能力,全方位提升程序设计基础课程的教学质量.
图2 “四位一体”教学体系
3.1 利用网教平台,丰富教学资源
在学校网络教学平台上,建设程序设计基础精品资源共享课,“网络课程”系统结构如图3所示.教学活动前,学生充分利用学校的网络教学平台回顾课前知识和预习新课知识,带着问题进入教学过程,能够更加有针对性地进行听课学习,提高课堂听课效率.教师在网教平台布置不同级别的习题,对必须达到的教学目标设置为必须完成,对难度较大的知识点或扩展知识点设置为可选完成,通过加分的形式充分调动学生完成的积极性,真正实现“因人而教”的目的.通过构建网络学习平台,增加学生的学习途径,提高学生的学习自主性和灵活性.
图3 网络课程系统结构
3.2 通过课堂教学,查漏补缺
课堂上教学采用“以学生为中心”的教学模式,具体教学流程如图4所示.
图4 “以学生为中心”教学模式
课堂教学具体分为三部分,第一部分,学生对教师课前发布的问题在课堂上讲解,包括上节课知识的复习回顾以及本节课知识的理解,其余学生根据自己课前预习情况进行讨论提问.第二部分完成课堂任务,教师抛出本节课要掌握知识的相关问题,学生以问题为导向自主学、思,分小组进行讨论,老师加以辅导.第三部分由老师结合辅导过程以及课堂讨论情况进行重难点讲解,对本节课内容进行总结归纳.这样,课前学习、课中讲授以及课后练习答疑有机结合.在整个教学过程中,调动学生学习的积极性和主动性,既锻炼学生团结协作、相互沟通的能力,也有效增强了分析、解决问题的实践能力,体现了以学生为中心的教育理念.
3.3 改革评价方式,实行综合考核
传统教学中,程序设计基础期末考核均采用卷面笔试的单一方式进行,无法有效体现学生实践以及解决问题的能力[8].因此,为了更加有效地检验学生综合分析、通过编程解决问题的能力,采用考试系统进行考核.考试系统中有5套习题,随机进行抽取,避免了传统考试中的死记硬背.习题有选择、填空、程序阅读、程序改错和编写程序五项构成,前四项主要考查编程基础知识,编写程序考查学生利用程序设计知识解决实际问题的能力,由于考试是在规定时间机房统一进行,充分检验了学生真正解决问题的能力.课程考核评价根据平时成绩20%(包括出勤40%,作业40%,课堂讨论20%)、实验成绩(30%)以及机试成绩(50%)决定.由此,课程考核由原来单一的笔试转变为“课堂研讨+课后作业+实验考核+自动化机试”相结合的综合性考核,整个考核过程贯穿课前、课中、课后整个教学过程,形成了课程的闭环培养反馈机制,促进课程教学不断改进.
3.4 开展学科竞赛,培养学生创新实践能力
课外,鼓励学生积极参加“蓝桥杯程序设计大赛”“中国大学生计算机设计大赛”等程序设计类比赛项目,培养学生学习程序设计的兴趣,激发学生编程的潜能,提高学生创新实践能力以及团队协作能力,把握新的发展动向,改进完善课程教学体系,以赛促学、以赛促教,同时提高师生两方面的综合素质.
4 实施效果
为验证《程序设计基础》课程改革的效果,将19软件1班作为实验班,19计算机1班作为普通班,进行综合测评成绩和调查问卷数据分析,其中综合测评成绩对比如表4所示,可以看出,实验班成绩高于普通班成绩.
表4 期末综合测评成绩对照表
在课程结束后,在实验班和普通班分别做问卷调查, 统计结果如表5所示.可以看出,学习主动性、解决问题与分析问题的能力以及教学满意度,实验班比普通班更具优势.
表5 调查问卷表
5 结 语
本文将 OBE 教育理念引入程序设计基础课程教学中,根据课程目标要求,反向设计教学过程,采用“线上教学+线下教学+综合考核+学科竞赛”四位一体的教学体系,正向实施教学,将课堂教学与网络教学平台深度融合,通过鼓励学生参与程序设计相关比赛,培养了学生创新、编程应用能力,激发学生学习程序设计的兴趣;设置多元化的考核评价机制.实践结果表明:基于 OBE 的程序设计基础课程教学改革提高了学生主动学习的积极性,增强了学生综合应用、编程能力,有效提高《程序设计基础》课程的学习效果.