基于CDIO 模式的程序设计类课程教学改革的研究与实践*

2022-11-27 02:14:19李银地杨花雨
新教育时代电子杂志(学生版) 2022年24期
关键词:程序设计教学模式工程

李银地 杨花雨

(商丘工学院信息与电子工程学院 河南商丘 476000)

近年来,随着社会的进步,科技的发展,互联网的迅速普及,以及各种新兴传播媒介的出现,社会对于各个领域应用型专业人才的需求缺口也越来越大,因此,高等教育界也逐渐认识到教学改革的必要性和重要性,很多高校都在鼓励各科教师进行教学改革和创新,从而提高教学质量,也能顺应社会发展趋势,让培养的学生符合社会对应用型人才的需要。很多应用型本科高校开始把人才培养方案改为工程认证模式,我校计算机类各专业人才培养方案也已转为工程认证模式,相关的专业课程更应该改革教学大纲和教学模式。计算机类专业的核心课程程序设计类课程需要改革传统的填鸭式的教学模式。

一、程序设计类课程教学现状

(一)存在问题

经过多方调研分析高校程序设计类型课程的教学现状,存在关键问题如下:

1.教学过程中主要以教授基础知识语法为主,大部分情况是理论课讲语法知识,上机实验课调程序验证语法知识。教学案例也仅仅是针对某个具体的语法点知识点进行设计直接编码,由于课时关系,教师经常会忽略掉需求分析、数据结构、算法的设计过程,在教学过程中用大量时间分析教师已经事先编好的代码,上机时也多是验证教师给定的程序,不需要学生动脑思考,以至于学生对程序类课程缺乏了学习动力和学习热情。

2.由于课堂上教师讲授大多是采用填鸭式的方法教授学生理论知识,案例是为了教授语法而设计,并不来源于现实生活,并且学生多是验证给定的程序,导致学生缺乏自己解决现实问题的能力。学生学习的理论知识总归是要用来处理现实中的问题,但是由于教师的教学模式及对学生的惰性,使得大部分学生对于现实生活中的问题缺乏分析解决的思路和方法。学生即使掌握了高级语言的各种语法知识,但是由于缺乏思路和方法,并不能真正用来处理问题指导实践,不能把现实问题很好地用计算机的方式实现。当代大部分学生往往存在着“一听就会,一做就废”的眼高手低的现象。

3.大部分课程仍然采用笔试的形式,主要考核语言的语法知识,部分高校也一直停留在培养学生的应试能力上,甚至有些高校教师为了凸现自己的教学水平和教学质量,在教学和考核时都会选择较为浅显的语法知识,忽视了学生的分析问题设计程序的能力的培养,部分程序设计类教材在编撰的教学内容上也存在此类问题。这些都会影响对学生程序设计能力的培养,有些教材和教师在教学中虽然略有贯穿软件工程的思想,但是重点往往仍然是语法知识,而不是解决问题的方法和思路。

4.考核方式和考核内容不合理。程序设计类课程现行的考核方式大多仍是闭卷笔试,虽然也有平时考勤、课堂表现、作业情况、上机情况,实验报告等内容,但这些考核内容所占比例太低,对总评成绩影响不大。该考核体系不能考核学生的情感因素、团队协作能力、创新精神等非智力因素,评价内容欠科学,对于学生的综合能力水平没有很好地进行评估,评估结果不利于学生了解自身解决实际问题的真实能力。

(二)产生原因

1.教师教学能力和教学水平参差不齐,部分程序设计类教师不是软件工程专业出身,甚至从大学学生毕业即直接从事高校教学工作,缺乏真实项目经验,并且自身对软件工程体系缺乏系统的认知,不具备将软件工程思想贯穿到自己课堂教学的能力。

2.以商丘工学院为例,信息与电子工程学院各个本科专业都开设有程序设计课程,教学计划中大部分课时理论+上机一共64 学时,有的是48 学时,学时太少,而程序设计类课程内容较多,教师为了完成教学内容,每节课不得不加快进度,很少给学生留出自主分析思考讨论的时间,往往采用“满堂灌”的方式,把教学大纲中的教学内容都灌输给学生。而我校学生自主学习能动性普遍较差,教师所讲知识很难消化吸收,再加上没有时间给学生上习题课、答疑课、讨论课,影响教学效果。

3.传统的教学模式和方法不适用于编程语言的教学。程序设计类课程是实践性比较强的课程,学生学习该类课程的终极目的是能够把现实社会中的问题用计算机来解决,因此在课程教授中应该把教学重点放在实践上,放在分析现实问题解决现实问题上,放在培养学生将理论知识应用到现实世界的能力上,而不是应试能力上。

因此,为解决上述问题,改善教学质量和提高教学效果,程序设计类课程的教学模式及教学内容需要进行改革,应该用把软件工程的思想贯穿于教学过程中。

二、CDIO 工程教育模式

(一)CDIO 模式主要内容

近年来,CDIO 工程教育模式是国际上工程教育改革的最新有效成果。CDIO 代表构思(Conceive)、设计(Design)、实现(Implement)、运行(Operate),是“做中学”和“基于项目的教育和学习”的集中概括和抽象表达。它以产品研发到产品运行的生命周期为载体,意指将工程教育与工程实践相结合,在产品的构思、研发、应用到再改进的全生命周期中,提升学生的实践动手能力、锻炼吃苦耐劳的精神、提高团队合作与社会认知水平,为以后的工作和生活积累宝贵的经验[1]。

(二)国内使用现状

国内高等工科教育的任务是培养与国际接轨的专业工程师,然而我国工科的教育实践中如上分析还存在很多问题,如重理论轻实践、重视知识学习而轻视开拓创新的培养等问题。在中国工程教育发生大变革和迈向国际化的背景下,为了凝聚各方共识和汇聚各方力量,搭建工程教育交流和研讨的平台,我国已成立“CDIO 工程教育联盟”[2]。目前,该联盟中已有100 余所高校,联盟高校运用CDIO 工程教育模式进行教学试点,已经取得了良好的成效,培养出的学生符合社会与企业的需求,得当多方的认可。基于CDIO 的工程教学模式比较适合注重培养应用型人才的高校,当前我国很多高校开始尝试基于CDIO 工程教育模式进行教学改革研究和实践。

目前,有很多基于程序设计类课程的特点提出一些教学改革建议,比如周本海在“基于程序设计课程的创新教学模式研究”中提出的项目驱动式教学方法在培养学生自主研究、团队协作及创新能力上是一个非常有效的教学方法[3]。也有人相继提出在教学过程中采用基于CDIO 模式的教学方法,但由于我校开展基于CDIO 工程教育模式研究的时间较短,对此方法尚缺少完善的理论和方案支持。我们以项目方式对CDIO 模式开展研究和实践,将深入研究项目的规划、项目的实施、项目之间的联系等内容。分析我院程序设计类课程教学的现状,做到切实培养学生的学习兴趣,促进应用型人才的培养。

三、基于CDIO 模式的教学模式设计

(一)制定符合CDIO 工程教育理念的人才培养方案

以软件工程专业为例,在制定人才培养方案时,应该综合考虑各门课程的先后关系,软件工程导论课程应该放在C#语言、面向对象程序编程等课程的后面,让学生先有软件工程的理论知识,在上程序设计类课程时就可以用工程的思想指导软件开发。

(二)制定符合CDIO 工程教育理念的课程大纲

1.明确程序设计类课程教学目标。CDIO 工程教育模式主要是为了培养学生的综合素质和实践能力,因此,在制定大纲时,要基于此目标进行设计。运用该模式进行教学,学生边做边学,不仅能学习到编程语言的语法应用等基础知识和基本技能,还能提升学生的分析调研能力、应用实践能力和创新意识。

2.设计综合实训项目作为实践教学内容。在进行实训项目设计时,不能仅限于分散无关联的小问题的验证,要设计出贯穿整个教学过程的综合型实训项目,让学生对同一个项目学习C(构思)—D(设计)—I(实现)—O(运行)的工程过程,从而增加学生的项目经验。

(三)以实际软件工程项目生命周期组织教学过程

在编写教案设计教学过程时,充分考虑采用软件工程思想指导的软件项目开发的各个阶段的任务特征,结合构思、设计、实现、运行的工程过程,作者以C#语言程序设计课程的教学进行改革试点采用此方法进行了教学设计并得以成功实施。

在设计C#语言程序设计课程的课程设计时,选用了《C#.NET 程序设计项目化教程》这本教材,该教材以典型的项目出发,采取课内外项目并行的模式,系统地介绍了C#语言的常用技术和方法。为贯彻“项目驱动、案例教学、理论实践一体化”的教学理念,每个项目内容都有情境导入、项目任务、基础知识点任务、重难点、任务实现、小结和拓展等环节。对应知识点任务,教师提前在学习通或者智慧树平台或微信群及QQ 群发布相关学习视频,由学生提前预习,以便在课堂上跟得上教师讲的项目任务。另外,教师会精心设计结合职业岗位工作场景的工程项目任务,由学生分组在实训课来完成。每个实训任务结合多个C#知识点,相对较复杂,主要为了提高学生的软件系统需求分析、系统设计、软件开发等能力。

结合应用程序开发的生命周期以及CDIO 模式,每个工程任务分为构思、设计、实现、运行四个阶段实施。首先,由教师指导学生分解出工程项目的各个阶段的子任务,并指导学生按工程项目开发的过程先进行需求分析,然后设计程序所用的数据结构和算法,进而编码调试实现,最后进行测试与运行。该过程以小组分工合作的方式来完成各个阶段的任务,即能让学生们将所学理论知识更好地运用到实践项目中,又能锻炼学生的团队合作能力,让学生获取更多的项目参与经验。

(四)教学实施采用以学生为主体学生深度参与的教学方法

程序设计类课程是应用性实践性较强的课程,教师在选择教学方法时应该选择能够让学生深度参与的项目驱动法、案例法、讨论法、翻转课堂等方法,并且课堂要增加与学生多方位的互动,确实做到以学生为主体进行教学,避免“填鸭式”的被动教育。

(五)构建过程评价与学习效果反馈机制

在程序设计类课程施教过程中,现行的评价体系大多仍然以期末考试为主,虽然也结合了平时的作业、考勤、实验课现场表现、实验报告等内容,但这些内容在总体成绩中占成分太少,以商丘工学院的程序设计类课程为例,教学大纲中课程考核均为平时成绩10%、实验成绩20%,而期末考试成绩为70%,虽然期末考试均已改革为上机考试,但是仅评完成两个小时的一个小题目并不能真实考核出学生的真正水平。基于CDIO 模式的过程教学,在考核时应该关注学习的过程,而非一次偶然的结果。在本次课程教学改革中,笔者以所带的“C#语言程序设计”课程为例,在课程教学过程中,按照教学进度及工程项目的任务完成情况,适时地分段进行考核评价,并及时将评价结果反馈给学生,让学生了解自己的学习情况,有利于学生把握好任务进度并及时调整学习方法等,同时也能调动学生的学习热情和学习兴趣。期间,任课教师要定期与小组长进行见面会,由小组长反馈各小组的学习情况并给老师提出建议,这样能让教师及时了解学生的学习进展,及时合理微调教学进度及调整教学方法。最后,在学期末,要对学生的学习情况进行综合评价,由于学生分组完成在进行总评时要结合小组成员的内部成员打分情况,尽量做到公正公平合理。课程的综合评价时间最好提前到学期结课前,在学期初安排教学授课计划时要留出少量课时用于给学生反馈评价,教师基于学生的学业综合考核结果为学生们的发展给出进一步的指导和学习建议,为学生指明进一步学习的方向和方法,以达到课程教学效果的长效化。

结语

在程序设计类课程教学实践中,通过基于CDIO 模式的教学模式教学,学生能够把理论知识应用到实际项目中,有利于培养学生的知识应用能力、理论联系实际的能力和创新能力,达到学校培养应用型人才的目标。因为同一工程项目每个阶段的任务在功能上具有一定的连贯性和完整性,并且子任务之间也存在着相辅相成的逻辑关系。因此,工程项目任务的完成能够让学生在逐步深入逐渐完善的过程中,让学生体会到一步步成功的喜悦,让学生一步步拥有越来越多的成就感,能够提高学生的编程兴趣,增加学生的学习动力。项目是按照程序设计的生命周期进行划分任务,因此,学生全程参与了工程项目开发的所有环节,熟悉工程项目开发的整个过程,积累了软件开发的相关经验。基于CDIO 工程教育模式的项目驱动教学让学生边做项目边学习,能够提高学生的实操能力和解决实际问题的能力,增加了学生的社会责任感和团队协作能力,为以后的工作和生活积累宝贵的经验。改善了教学质量,对于学校提高应用型创新人才培养质量具有重要意义,体现了学校应用型人才培养的定位。

猜你喜欢
程序设计教学模式工程
群文阅读教学模式探讨
基于Visual Studio Code的C语言程序设计实践教学探索
计算机教育(2020年5期)2020-07-24 08:52:56
从细节入手,谈PLC程序设计技巧
电子制作(2019年9期)2019-05-30 09:42:04
高职高专院校C语言程序设计教学改革探索
子午工程
太空探索(2016年6期)2016-07-10 12:09:06
“一精三多”教学模式的探索与实践
“导航杯”实践教学模式的做法与成效
学习月刊(2015年18期)2015-07-09 05:41:22
工程
PLC梯形图程序设计技巧及应用
工程