基于CDIO教育理念的“VB程序设计”教学改革与实践
2020-04-09蒲会兰丁世文杨喜娟李敏之张洁
蒲会兰 丁世文 杨喜娟 李敏之 张洁
摘 要: VB程序设计是高校非计算机专业的学科基础课,对培养大学生计算机应用能力起着重要的作用。基于CDIO工程教育理念的改革思路,针对VB课程教学中存在的问题进行教学改革,结合VB课程的特点,将CDIO教育理念融入VB课程的教学和评价过程中,在课堂教学中灵活应用多种教学方法和教学手段,从多方面评价学生能力的达成度。实践证明,该项改革在课程体系建设和培养学生计算机应用能力方面均取得了良好的效果。
关键词: VB程序设计; CDIO; 教育理念; 教学改革; 达成度
中图分类号:TP311 文献标识码:A 文章编号:1006-8228(2020)03-60-04
Teaching reform and practice of VB programming based on CDIO education concept
Pu Huilan1, Ding Shiwen2, Yang Xijuan1, Li Minzhi1, Zhang Jie1
(1. School of Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou, Gansu 730070, China;
2. School of Environmental and Municipal Engineering, Lanzhou Jiaotong University)
Abstract: Visual Basic (VB) programming is a basic course for non-computer specialties in colleges and universities, which plays an important role in training college students' computer application ability. Based on the reform idea of CDIO engineering education concept, the teaching reform for the problems existing in the teaching of VB programming course is carried out. Combined with the characteristics of the VB programming course, the CDIO education concept is integrated into the teaching and evaluation process of the VB programming course. A variety of teaching methods and teaching means are used flexibly in classroom teaching, and evaluating the achievement of students' ability in many aspects. Teaching practice proves that the reform has achieved good results in the construction of the curriculum system and the training of students' computer application ability.
Key words: Visual Basic programming; CDIO; education concept; teaching reform; achievement
0 引言
CDIO工程教育模式是近年来国际工程教育改革的最新成果,CDIO代表构思(Conceive)、设计(Design)、实现(Implement)、运作(Operate),是面向产品、过程、系统生命周期的工程教育方法[1]。2005年CDIO教学模式引入到我国,至今已有很多高校引入CDIO教学模式并进行了不同程度的应用,取得了良好的效果[2]。
VB程序设计在笔者所在学校作为非计算机专业的学科基础课,设置该课程的目的是使学生掌握计算机程序设计的思路和方法,掌握常用算法的设计及实现方法,提高学生分析问题、解决问题、综合应用知识的能力,为以后进一步解决本专业实际问题打基础,使学生具备适应本专业领域发展要求的计算机应用能力。
对于大学一年级的学生而言,程序设计课程本身有一定的难度,在传统的VB教学中以知识点为纲要,采用“以教为主”的讲授教学法,这种单向的信息传输方式(教师讲授知识,学生被动接受),容易让学生失去学习的兴趣和信心。学生不能积极主动地思考,只是被动地模仿练习,编程能力得不到充分的锻炼,更谈不上对知识和技术的灵活应用,就很难达到预期的教学目标。因此,针对VB教学中存在的问题,近年来,笔者引入CDIO教育理念,从课堂教学、实验、考核方式等教学环节有效地开展教学改革与实践,对于提高课程教学质量,培养学生程序设计能力有积极的意义,并取得良好的教学效果。
1 课堂教学
1.1 至关重要的第一次课
在第一次课上,除了强调课程的教学目标、学习方法、考核方式等内容外,VB课程由于实践性很强,一定要结合学生专业,演示一些事先准备好的专业方面的应用程序或信息管理系统,如对车辆工程专业的学生演示“基于VB的数控机床故障诊斷系统”、“火车票售票系统”、“学生成绩排序”算法等,让学生从项目工程的角度感性了解VB课程的学习目标,引起对该课程的重视,感觉学习本课程不仅是为了拿学分,在以后的学习和工作中还是一种有用的“工具”,由此,培养学生的兴趣、激发学生的学习积极性。
1.2 精心设计教学环节
认真对待每一节课,精心设计好每个教学环节。首先,认真备课,以“分析设计能力、综合应用知识能力、工程应用能力”为培养目标,教学内容的选取要有层次性,由易到难,逐步升华;其次,上课时突出CDIO教育理念与课堂教学的实质性结合,凸现学生的主体地位,运用各种教学方法与教学手段,激发学生参与和认知的兴趣,使学生积极思考问题,教师的主导作用是教会学生学习;第三,定期评价学生能力的达成度,通过分析学生课堂回答问题、作业、实验、答质疑、VB网教平台的在线测试(笔者申请的网络教学平台)/测验等情况,评估学生对课程知识的掌握情况以及在实际应用中的灵活程度,发现问题及时解决。
1.3 灵活应用多种教学方法
在传统的VB教学中以知识点为纲要,采用“以教为主”的讲授教学法,这种单向的信息传输方式,很容易使学生产生厌学情绪。CDIO强调以学生为中心,要求教师以各种方式激发学生的学习兴趣,引导主动、综合性的学习。近年来,在VB教学过程中,笔者根据CDIO教育理念,除了传统的讲授教学法外,还根据课程内容的性质,灵活地应用多种教学方法,以求取得良好的教学效果。
1.3.1 案例教学法
案例教学法[3]中案例的选取和设计应以激发学生求知欲望,促进学生理解和应用知识,提高学生分析及解决问题的能力为出发点,紧扣教学内容的重点和难点。根据特定的教学内容,选取一些和学生专业相关或贴近实际生活的案例,难易适中,如案例1:通过圆柱体积和表面积的计算,设置“溢出”及“误差”等问题,通过分析问题,使学生理解VB中数据的表示形式及数据类型、常量与变量。又如案例2:通过“猜年龄游戏”使学生理解DO循环语句和二分法查找算法的应用。由于篇幅有限,此处不一一列举。对于每个案例,首先让学生讨论分析案例的求解思路和实现方法,进而引出该案例中用到的知识点,最后教师讲解并编程演示操作,在案例的实现过程中使学生掌握知识,培养分析解决问题的能力。
1.3.2 案例-任务驱动教学法
案例-任务驱动教学法是以一个完整的案例任务实现过程,完成对新知识的学习和解决实际问题能力的培养。案例-任务驱动教学法结合了案例教学法和任务驱动教学法的优点,在选取案例时遵循案例教学的特点,在学习中强调任务的实现过程,有针对性地完成任务的同时锻炼学生的能力[4-5]。
参考案例:讲解数组的基本操作及应用时,通过案例“计算全班50个学生VB成绩的平均分”,引出数组的概念及数组的声明,之后给出一系列任务:①统计高于平均分的人数;②查找最高分、最低分;③浏览所有学生的成绩,发现录错位了进行交换;④对成绩升序或降序排列;⑤增加或删除成绩;⑥计算每位学生各门课程的总分以及平均分等。提出以上任务,由于涉及学生成绩的计算,所以学生比较感兴趣,期待每次执行的结果。激发了求知欲,就能对每个任务积极参与到“任务实现解决思路”的讨论中来。任务的实现使学生逐步掌握数组的基本操作:输入、输出、求和及平均值、求最值、交换位置、排序及数组元素的插入与删除、多维数组的操作等。
在案例-任务驱动教学法中,根据课时情况,讲解相关知识及解决思路后,在课内可完成一部分任务,一部分任务留给学生课后完成,有利于巩固课堂所学知识和培养学生自学能力;另外,选取的案例要有延展性和综合性,案例应具有承前启后的作用,比如数组案例,在后期讲解数据文件时,还可以将学生成绩及输出结果写入数据文件,方便程序的运行及查看结果,也可以结合界面设计,完成成绩管理的小型应用系统,培养学生综合应用知识的能力。
1.3.3 其他教学方法和策略
由于VB的知识点比较多,在授课过程中,除了需灵活地应用以上教学法外,还应根据具体教学内容,灵活应用其他方法或策略:如①类比策略:通过和Word中编辑功能实现的过程进行类比,讲解和实现文本框的编辑功能;②抛出问题策略:抛出关于参数传递的所有问题,让学生对这部分知识点先有个认识,之后逐一解决;③对比策略:对于同一问题的子过程,参数传递分别采用传地址和传值,通过引入内存概念[6],画简单的内存图,学生对比二者的特点和区别,更易掌握。每种教学方法和策略,应根据授课内容灵活应用。
1.4 合理运用多种教学手段
在教学过程中,如何利用好PPT课件、VB集成环境、板书等,如何协调配合发挥每种教学手段的优势,也是提高课堂教学质量的重要因素。VB是基于对象的可视化程序设计语言,实践性很强,如果单纯用PPT授课,有些知识点学生会觉得枯燥难以理解,如数据输入输出、过程调用、用户界面设计等,在VB集成环境中操作演示更直观,更易于理解。对于课程的有些重点难点,如排序算法、过程调用中参数的传递方式等,如果单纯在VB环境中授课,可能存在分析不透彻的问题,将PPT动画演示、讲授和板书结合,一边分析,一边板书,条理性和邏辑性更清晰,在板书的慢节奏中让学生理解算法,通过画“简单的内存图”加深学生对过程调用中参数传递的理解。在实际授课过程中,还应根据授课内容和积累的教学经验,灵活应用多种教学手段。
2 评价学生能力的达成度
教学环节中另一重点,即考核学生是否真正掌握了所学知识,是否达到CDIO教学模式中要求的分析问题及解决问题的能力,可以通过以下几方面来评价学生能力的达成度。
2.1 实验
实验(上机实践)是VB程序设计课程必不可少的环节,实验课以学生编程训练为主,老师辅导为辅,老师要精心选取实验内容。在笔者所在的学校,VB程序设计课共48学时,理论课32学时,上机课16学时,由于课内实验学时比较少,实验内容的选取要涉及所学知识,对课堂内容复习与巩固,又能体现学生工程实践能力和综合应用知识的能力,笔者每次实验课都会根据学习情况选4~6个题目训练;另外,每两周一次课外实验,布置任务由学生自己完成,提交VB网教平台,老师和学生评价。通过实验课辅导答疑,教会学生分析出错的原因及解决问题的方法,对于大多数学生出错的地方,集中讲解;通过实验答疑和课外实验作业的评价,可以及时了解学生的学习情况,进而有针对性地调整授课内容加强薄弱环节的训练,提高实践能力。
2.2 作业和在线测试
作业是教学过程的另一个关键环节,作业完成的好坏与教学质量以及学生综合能力的培养息息相关,其重要性不亚于课堂授课和课程考核。VB程序设计属于实践类的课程,不仅要掌握理论知识点,更要动手编程实践。我们把VB课的作业分理论知识点和编程实践两个方面,理论知识点通过VB网教平台布置,每章学完设置一次在线测试,主要为选择题和判断题,系统自动批阅。编程实践方面每次课程结束都布置综合性编程题目来巩固所学内容,每两周批阅一次学生的作业,对批阅过程发现问题及時反馈。
2.3 答质疑
要巩固课堂授课效果,答疑也是必要环节,由于课时比较紧张,有些内容需要同学们自学完成,因人而异,有些同学可能很快就能掌握,而有些同学自学可能存在问题,笔者每周安排两小时的答疑。答疑可以是有问题的同学自愿来答疑,也可以按要求对一定人数的学生质疑,质疑时主要针对课堂授课内容和自学内容的难点、重点、同学们易出错的地方、课堂案例及作业的拓展等。
2.4 测验
测验也是督促学生学习的一种手段,笔者在每学期VB授课期间,至少有两次阶段性测验,每次测验主要考核阅读程序和编写程序的能力,在老师的监督下独立完成,测验成绩作为平时成绩的一部分,学生比较重视,测验可以督促学生对所学知识进行阶段性的复习,促使学生进行思考,尽可能做出每题,即便没有做出来,听完试题分析后,修改更正,从而完善自我。
2.5 考核
考核学生的学习情况,仅依赖于期末考试是有局限性的,笔者所在学校VB程序设计的考核方式在不断修订,加强对平时的过程性考核,逐步提高平时成绩的比例,由20%提高为40%,考核内容也逐步完善。考核方式为:总评成绩=平时成绩*40%+期末考试成绩*60%,其中平时成绩=出勤+作业(实验、书面作业、在线测试)+测验+答质疑。期末考试弱化考核基本语法和基础知识的记忆,增加综合应用知识能力和解决实际问题能力的考核,提高编程能力的考核。由于紧抓平时的过程考核,学生明显紧张和用心学习,最后平均分和及格率明显提高,平时的认真学习及实践训练也促成高效的课堂效果。
3 结束语
VB作为一门重要的编程语言,在高校非计算机专业的教学中占据重要位置。提高教学质量必须从教学的各个环节抓起,课堂教学合理运用多种教学方法和手段,激发学生的求知欲和学习兴趣、积极主动学习;通过实验、作业、在线测试、答质疑及测验进行学生能力达成度的评价,通过阶段性的评价,及时发现存在的不足,及时补救。以CDIO教育理念为指导不断进行教学改革和实践,提高了教学质量,在课程体系建设和培养学生实践能力方面均取得了良好的效果。在今后的教学中,随着对CDIO教育理念的更深理解,结合学生的学情,VB课程教学改革将持续进行。
参考文献(References):
[1] 顾佩华,包能胜,康全礼等.CDIO在中国(上)[J].高等工程教育研究,2012.3:24-40
[2] 顾佩华,胡文龙,陆小华等.从CDIO在中国到中国的CDIO:发展路径、产生的影响及原因研究[J].高等工程教育研究,2017.1:24-43
[3] 龚沛曾,杨志强,陆慰民等.案例教学法在“Visual Basic程序设计”课程中的应用[J].计算机教育,2004.5:62-63
[4] 任馨,张群燕.基于案例驱动模式的程序设计基础教学改革[J].计算机时代,2017.8:73-76
[5] 张松敏,王国强.案例-任务驱动模式的计算机程序语言教学探究[J].计算机教育,2010.2:132-134
[6] 蒲会兰,丁世文,李敏之等.解析Visual Basic过程调用中参数传递方式[J].计算机时代,2014.10:46-48