APP下载

OBE与CDIO融合的Python程序设计教学模式研究

2022-03-21兰添才陈振武黄婧郑汉垣

计算机时代 2022年3期
关键词:非计算机专业CDIO模式OBE理念

兰添才 陈振武 黄婧 郑汉垣

摘  要: 借鉴OBE教学理念并结合CDIO教学模式,对非计算机专业Python程序设计课程开展教学理念、模式、方法的改革。融合传统的线下教学与线上教学方式,从知识分解、阶段设计、内涵组织、资源整合、授课方式和效果评价等方面进行探索研究。实践结果表明,该教学模式可以将教与学融为一体,丰富编程课堂教学氛围,激发学生的学习兴趣并有效地提升教学质量。

关键词: OBE理念; CDIO模式; 非计算机专业; Python程序设计; 教学质量

中图分类号:G642          文献标识码:A      文章编号:1006-8228(2022)03-98-03

Abstract: Drawing on the OBE teaching concept and combining with the CDIO teaching model, reform on the teaching concepts, modes and methods is carried out for Python programming course of non-computer specialties. By integrating traditional offline teaching and online teaching methods, the knowledge decomposition, stage design, connotation organization, resource integration, teaching methods and effect evaluation are explored and researched. The practical result shows that the teaching mode can integrate teaching and learning, enrich the teaching atmosphere of programming classroom, stimulate students' interest in learning and effectively improve the teaching quality.

Key words: OBE concept; CDIO mode; non-computer specialty; Python programming; teaching quality

0 引言

近年来由于计算机基础应用编程不断在社会各行各业得到广泛应用,促使诸多高校针对非计算机专业的在校学生开设程序设计课程[1-2]。

CDIO(Conceive Design Implement Operate)强调以学生為教学中心主体、将“做中学”与“基于项目教与学”结合、对学生进行主动学习引导,并采用多元的传统与现代技术相结合的教学手段[3,4]。

OBE(Outcome-Based Education)则是一种通过预定学习效果,反过来组织、实施与评价教学过程合理性的工程教育理念模式,为应用型人才综合素质与能力培养、卓越工程教育体系的建立与改革提供良好的指导方向[4]。王慧等人利用这种模式,对高校Java程序设计课程教学进行改革,提出了编程课程改革实施可分解为编程基础能力、提升编程能力与高级应用设计能力三个阶段[5]。

本文针对非计算机专业学生的计算机理论、编程技能薄弱的特点,将OBE教育理念与CDIO学习模式融合,分模块地将抽象、难懂的程序设计知识,因材施教地转化成为学生容易理解掌握的知识点,并选择Python课程进行实际教学应用实践。

1 基于OBE与CDIO的课程知识分解

在传统教学模式中,教师针对计算机程序设计课程的教学普遍采取自我为中心的“一言堂”[6]的形式授课,学生难以对抽象编程理论知识理解掌握,易产生厌学情绪[7]。本文将Python知识点进行CDIO分解为四个阶段模块,建立课程教学内容与分层结构[8-9],如图1所示。驱动案例分别以求解一元二次方程ax2 +bx+c=0(基础模块)、学生综合积分管理系统(课后项目实践及扩展项目模块)为例。

⑴ 编程基础模块(基础知识能力),结合编程方法,如语言描述、流程图、代码实现等,指导学生明确程序设计的基本思路及关键点,尤其是代码实现的讲解与演示。

⑵ 案例验证与实现模块(基础能力验证的实践),要求并鼓励学生积极主动利用实验课和课余时间进行相应编程基础训练,完成第一模块提出的各种操作案例任务要求。

⑶ 课后项目实践模块(提升编程能力),由于不同学生的逻辑思维、知识接受能力都是不尽相同的,遵循OBE理念依据不同情况制订相应的项目内容,对学习效果较好的学生进行初步的扩展项目训练,以巩固在第1、2模块学习中获得成就感与信心。

⑷ 课后总结与扩展项目模块。高级应用设计能力培养,要求每位学生完成对问题求解过程的语言描述、流程图、fChart方式及Python编程;引导学习能力强的学生将基础能力与扩展项目进行知识点对接,并进一步完成面向对象程序设计基础及扩展项目(如学生综合积分管理设计)的学习,从而进一步提高学生对编程能力、知识的学习兴趣。

2 阶段教学实例

传统的教学模式,任课教师针对程序设计教学引入的实例一般都仅仅是一些与课程相应环节有关的示例程序或语句,缺乏互动性与应用性[10]。本文改革教学模式实施以“fChart流程图方式+程序设计”框架实例分解教学阶段的实际操作,以求解一元二次方程:ax2+bx+c=0分级编程中的循环结构为例进行CDIO。

⑴ Conceive,将fChart可视化程序设计基础与Python结合起来,要求学生利用fChart表达出循环结构(If-then、while-loop、do-while-loop、For-loop)的流程图。

⑵ Design,引导学生如何依据流程图进行语言描述:

输入a,输入b,输入c

输入数据的可能性:

① a==0,则一元二次方程就简化为:bx+c=0、x=-c/b

b==0,则输出”无解”,否则输出”x=”, -c/b,即输出”x=”,x

① a<>0

d=b*b-4*a*c

d<0  则输出“无解” (若要写有解,则为复数解)

否则 x1,x2=(-b±sqr(b*b-4*a*c))/(2*a)

输出”x1=”,x1

输出”x2=”,x2

⑶ Implement,引导学生理解流程图的设计与程序实现的对应关系,分析流程图设计的不合理或错误与可能产生程序问题的关系。

⑷ Operate,要求学生对照流程图与语言描述,实现ax2+bx+c=0求解的代码编写。

3 应用实践

3.1 线上+线下教学模式

⑴ 创建SPOC(小型在线学习课程)。利用学习通平台为学生提供学习资源、建立小型的在线学习交流、绩分制(获得在线学习绩分按一定比例列入课程成绩总评);

⑵ 在线学习。学生充分利用在线平台的资源来自主学习与反馈,教师根据学生在线学习状况,进行有的放矢的线下课堂精讲;

⑶ 课堂精讲。通过在线学习与辅导,适时掌握学生的学习动态,为线下教学提供依据;

⑷ 在线训练。学生通过线上、线下学习后,还要完成课后习题及实验操作,以达到对编程理论知识与技能的有机理解与掌握。

3.2 教学效果分析

选择新媒體专业的不同年级(2015级48人、2017级40人)、同年级不同班级(2019级一班35人、二班35人)进行教学效果对比,前者实施普通线下教学模式,后者则融合OBE与CDIO并采用线上、线下结合教学模式。课程总评成绩按平时成绩占10%、阶段性考核(三次)成绩占15%、实验操作成绩占15%、期末终结考核成绩占60%。

⑴ 不同年级教学效果统计见表1。

⑵ 同年级不同班级教学效果统计见表2。

分析表1、表2,可以明显看出:

① 融合OBE与CDIO教学模式的课程总评平均成绩要优于普通教学模式;

② 各部分成绩的高低,均与学生的考勤成绩存在相关性;融合OBE与CDIO模式的实验成绩不及格率降到零,体现了学生编程操作的能力明显优于普通教学模式。

⑶ 调查问卷。

针对已修读(包括必修、选修或公共选修)本课程的2017、2018、2019级的180名在校学生及往届已毕业的120名学生通过网络问卷调查,统计结果分析如下:

① 对300名学生问卷调查的结果分析,可以发现53%的学生认为线上+线下结合授课方式更适合编程教学,75%的学生认为问题+成果导向(即OBE)对自己的学习帮助很大,81%的学生对编程案例教学较满意并认为对学习很有帮助,89%的学生认为fChart可视化编程与代码设计结合使编程知识更容易掌握;

② 120名毕业生中,75%学生认为非计算机专业学生也应该学习编程知识,18%的毕业生表示从事与编程基础知识无关的工作。

4 结论

通过OBE与CDIO融合的教学模式,可以大大提高非计算机专业学生的主动学习与应用问题的Python编程求解能力的教学效果,具有一定的推广应用意义。当然,该教学模式推广应用首先需要建立对应课程的足够丰富、形式多样的资源(如案例、习题、讨论主题等)及内容的智能推送、课程考核体系的智能化等,才能取得教学效果的最大化。

参考文献(References):

[1] 杜芳芳,赵锦东.非计算机专业程序设计课程教学的探索和实践[J].教育与职业,2010(26):136-137

[2] 徐晓飞,丁效华.面向可持续竞争力的新工科人才培养模式改革探索[J].中国大学教学,2017(6):l3-l7

[3] 杜博.基于CDIO的C语言程序设计课程教学的改革与探索[J].微型电脑应用,2018,34(3):67-68

[4] 周杰,黄小卉.试论OBE理念下工程教育专业人才培养方案的改革研究[J].内蒙古师范大学学报(教育科学版),2018,31(9):13-18

[5] 王慧,李雷孝,邢红梅.基于OBE理念的Java程序设计课程教学改革探索[J].计算机教育,2020(2):54-57

[6] Yang Fu-rong.Thoughts on interactive teaching[J].ITApplication in Education Sector,2012(4):215

[7] 张军,吴荻,肖晓强,等.改进互动教学方式,提高教学质量的探索——论高校《计算机程序设计》教学改革[J].计算机工程与科学,2014,36(S1):191-194

[8] 冉娟,张钢.独立学院非计算机专业Python程序设计课程教学改革探索[J].计算机教育,2017(9):15-20

[9] 嵩天,礼欣,黄天羽.Python语言程序设计基础(第2版)[M].北京:高等教育出版社,2017

[10] Xiao Li-min,Ruan-li,Zhu Ming-fa.Study on the teaching method of system virtualization[J].Computer Education,2010(13):64-65

3173501908212

猜你喜欢

非计算机专业CDIO模式OBE理念
基于OBE理念的电工电子实训教学改革与实践
非计算机专业计算机基础教学的总结与思考
高校非计算机专业计算机网络基础教学改革探究
CDIO模式下JaVa程序设计课程教学改革探索
OBE理念下高职教师成长机制的评价
程序设计课程中计算思维和应用能力培养问题研究
基于CDIO模式高职“可编程序控制器”实践教学研究
基于CDIO模式的机械专业《电路与电子技术基础》教学改革初探
土木工程人才培养模式研究
基于OBE理念的大学物理课程体系改革与探索