APP下载

基于CDIO的项目驱动教学模式在《C#程序设计》课程实践环节的应用

2022-08-17李丽华魏树权江珊珊周华清

牡丹江教育学院学报 2022年6期
关键词:程序设计驱动实验

李丽华 魏树权 江珊珊 杨 湧 周华清

(1东华理工大学信息工程学院,南昌 330013;2东华理工大学长江学院,江西 抚州 344000)

一、引言

CDIO工程教育模式是近年来国际工程教育改革的最新成果[1]。至2015年,已有上百所世界著名大学加入了CDIO组织,采用CDIO工程教育理念和教学大纲,取得了良好效果,按CDIO模式培养的学生深受社会与企业欢迎[2]。

2016年1月,我国成立了“全国CDIO工程教育联盟”。2017年至2020年,CDIO工程教育联盟每年召开年会。探讨凝聚优势资源、加快合作互补,创新人才培养模式,提高工程教育质量的思路和方法,为满足国家战略发展需要提供强大的新兴工程科技人才支撑[3]。

为适应新形势下对应用型、技能型人才的需求,加强学生的实践能力培养[4]。我们确立了在《C#程序设计》这门课程中,把课程实验和学生课后主动学习这两个环节结合起来,探讨通过切实可行的项目导向教学方式,整合成为一个持续于《C#程序设计》课程的整个教学时间跨度的实践教学过程。

二、课程情况与改革思路

(一)将CDIO理念与项目驱动教学过程进行过程转换

依据CDIO原理,可以把它与软件项目过程建立关联[5]:

1.构思-C:软件项目的商业目标、技术战略、客户需求、功能架构、项目计划、性能规划;

2.设计-D:软件项目的需求确认、需求定位、系统分析、界面要求、模型开发、风险预估、设计确认;

3.实现-I:软件项目的编码实现、单元测试、功能调整与改进、系统集成、系统测试、用户版本发布;

4.运行-O:软件项目的客户使用、系统改进、系统维护、系统升级、系统退休。

将CDIO理念与项目驱动式教学方法有机结合,同时结合《C#程序设计》的实践教学的教学目标,为《C#程序设计》的实践教学教学过程注入工程教学理念。

(二)课程基本情况

《C#程序设计》是我校网络工程专业开设的一门面向对象程序设计的专业课,学生已经具备了《C语言》《Java语言》《数据结构》等课程传授的程序设计基础,具备了更进一步学习软件项目设计与开发的专业基础知识。

网络工程专业的学生,普遍存在学习基础较差,自我约束力不强,分析解决问题的能力及动手能力较弱等问题。为了加强学生实践技能性的培养,突出实践教学与知识应用能力相互促进,我们探索一种将CDIO理念与项目驱动式教学方法有机结合,从学生课后主动学习和课程实验两方面进行改革的方案,并应用到《C#程序设计》课程的实践教学环节。期望能够提高学生学习的主动性,使得培养出来的学生更具社会性,能满足企业发展的需要,让学生能够成为实践动手能力强技能型的人才[6]。

将课后主动学习、课程实验这两个环节相结合,增加切实可行的项目导向教学,能够使C#语言的完整教学过程的持续时间内具有持续的、活泼的、实践的、团队的特征。心理学认为:人的认知过程是有阶段性的,常常是由表及里,由浅至深,由感性而理性,由量变到质变的过程。也就是说,人的认知过程是渐进的,具有连续性,而不是短时间内一步完成。将课后主动学习与课程实验相结合以后,CDIO结合项目驱动教学能够使得课程的教学过程不再是间断过程,而成为一个连续的学习过程,不再由于缺少实践,而导致学生学完就忘,成为一个持续于《C#程序设计》课程教学的整个教学时间跨度的实践过程[7]。

(三)基于CDIO项目驱动模式的实践教学

CDIO理念将构思、设计、实现和运行有机组合,而《C#程序设计》的教学实践环节可以以I和O为主体。在课程实验教学过程中,设置一定数量的项目驱动的启发式实验,在实验教学过程中,依据实验教学目标,从学生的C#语言理论知识基础出发,采用积极、主动的教学方法,设计启发式实验项目,积极引导学生,使学生能够从被动地学习到团队式思考完成实验,既巩固了课程知识的C、D部分,又得心应手地解决了实验问题,顺利完成I、O部分。很好的达到实验教学的教学目的。

学生课后主动学习是学好所有实践类课程的关键点,实践类课程要求在学习过程中,必须动手实践,而且实践工作多多益善。这就要求对课后主动学习环节进行精心设计,合理安排,用心实施。和普通的项目驱动教学模式有所不同的是,课后主动学习过程可以设置为完全项目导向的学生自主学习模式,学生课后可以自主组织为小型的团队,独立完成一个项目的C、D、I、O四个过程。在这个过程中,团队成员不可避免会碰到疑难问题,一方面可以个人独自寻求解决方法,另一方面可以较为方便地寻求团队支援,最后还可以利用QQ、微信等实时通讯工具,向老师提出疑问和难点,从而解决问题。这样可以在课程的实践环节构建出一个学生的学习闭环。

项目驱动模式下的课程实验和学生课后主动学习环节,可以对课程的实践教学过程,起到很好的促进作用,在提升学生对课程基础知识掌握程度的同时,也对课程相关的应用扩展知识部分进行了学习和探索,这种教学框架如图1所示。

图1 基于CDIO的项目驱动实践环节教学框架

CDIO模式支持学生在学习过程中的主动学习和综合实践,项目驱动教学模式则可以为学习与学会并进行具体应用之间架起桥梁。

三、教学改革内容

(一)项目驱动模式下课后主动学习的教学改革

将学生课后主动学习和课程实验相结合,增加切实可行的项目导向教学,使整个实践教学过程具有持续的、活泼的、实践的、团队的特征。设置设计应用型项目,这些项目和课程的实验环节体现的知识点相结合。然后让学生自主选择一个项目,在课程开设的整个学期进行自主设计和开发,同时将这个自主学习过程中的问题和意见反馈给教师。项目驱动模式下课后主动学习教学改革的核心思想,是要把学生的课后时间利用到课程学习过程中,让学生课后自主学习、课程实验之间能够相互影响、相互促进。

项目组在2017级网络工程专业学生中进行了项目化教学的探索性实施,具体包括教师设计应用型项目、学生选择设计项目、学生自主学习反馈三个步骤。

首先是应用型项目的设计,首先收集最近几届学生的毕业设计选题,每届学生中,均有部分学生的毕业设计根据就业企业的项目进行选题,相对而言,这部分题目更贴近企业需要;然后联系已毕业正工作在C#开发岗位的同学,了解学校学习的C#语言技术与他们实际应用需要的C#技术之间的差距,了解企业技术应用需求的技术内容,以及他们当前的实际工作相关项目。收集到这些课题项目以后,再考虑一些对于学生课后自主学习来说的实际因素:项目不能过于困难,也不能过度复杂,要能够反映软件的开发理论,要能够提升学生的实际动手能力。所以,需要把这些项目进行了项目分解,取其合适部分,组合其相关部分,或者提取一个功能,或者提取一个模块,完成项目的设计。

然后让学生自主选择项目。学生选择自主学习项目后,自动构成项目团队。

第三个步骤中,需要学生对项目的实施情况进行教学改革反馈。学生在课后完成项目的过程中,教师在线上全程提供理论支持和技术支持,同时,教师每周线下检查学生的项目进展并布置下周任务,根据学生的完成情况进行答疑解惑,指明方向。期间,要求学生记录个人疑难和问题并形成文档材料提交反馈。在整个《C#程序设计》的教学实施过程中,每月收集整理一次学生的问题反馈。

在教学改革实施过程中,学生以小组为单位,完成项目的需求分析、系统设计、系统开发、系统测试和运行维护的项目开发过程,学生项目小组合作完成,考核评分进入学生平时成绩。这个过程时间跨度有一个学期,在教学过程中能够培养学生的C#项目的开发能力、团队沟通能力和团队合作能力。

在对学生作品的评价过程中,我们发现,学生接触并学会了单纯课堂教学学不到的很多知识,比如各种第三方控件:CefSharp,WebView2、Bunifu_UI等,软件界面布局设计技术、代码标准化编码、软件工程过程等。课后主动学习过程如图2所示。

实践证明,学生这种以团队形式参与项目驱动模式的课后自主学习,对学生的学习过程起到了极大的促进作用,同时,对教学改进也起到了积极的效果。

图2 学生课后主动学习过程图示

(二)项目驱动模式下实验教学的教学改革

基于提升学生学习兴趣、加强学生动手能力的目的,以项目驱动为导向,对实验项目进行了重新设计,整体上将实验项目设计为四种型式:基础型实验、进阶型实验、趣味型实验、难度型实验,难度型实验是选做实验,主要目的是提供给有余力的学生课后进行学习和设计。其中,设计趣味型实验和难度型实验,这两种实验以小型项目为基础,增加学生学习兴趣,促使学生主动学习。而对难度型实验(如:简单聊天程序Chat设计),则提供源程序,供学生参考学习、改进,构建成一个相互促进项目驱动式的实验教学整体。重新设计以后的实验教学内容,增添了项目驱动的部分实验,能够对学生课后自主学习起到很好的支撑作用。

四、对教学的反馈与改进

对学生在参与项目驱动模式课后自主学习过程中提交的反馈材料,设计了“学习分析系统”辅助教学软件对反馈材料进行处理,执行了知识点筛选、关键字匹配、数据统计分析及数据聚类分析,将学情状况以图形方式展示,如图3所示。

图3 学习分析系统

教师可以依据教学改革实施过程中的具体情况,结合学习分析系统展示的学生学习疑问和知识难点,进行教学方案的调整和改进。例如,从图3中,对学生的疑难知识点可以一目了然,“事件”这个知识点及其相关的知识部分,是学生学习的难点。所以,对这个知识部分,在后续的教学过程中,重新设计了多个教学案例进行细致而深入的多次讲解。

显然,在参与教学改革的过程里,学生学到了新知识,提升了个人能力,同时也促进了教师的教学改进,这样就达成了教学改革的整体目标。

五、结语

本文通过对CDIO与项目驱动教学模式的具体研究,改进了《C#程序设计》的实践教学环节,使其合理而高效,并进行了具体实施,取得了良好的效果。本文提出的这种教学改革模式,对于语言程序设计类课程的教学改革,具有通用性和可借鉴性,能够为培养应用实践型工程人才、实现人才培养与企业需求的“无缝衔接”提供支持。

猜你喜欢

程序设计驱动实验
记一次有趣的实验
数据驱动世界。你得懂它 精读
基于OBE的Java程序设计个性化教学研究
项目化教学在Python程序设计课程中的应用
C++程序设计课程教学改革研究
基于模糊PI控制的驱动防滑仿真系统分析
医学专业“Python程序设计”课程教学改革总结与思考
深入实施创新驱动发展战略
声波实验
关于植物的小实验