前言:本站为你精心整理了基于 CDIO的C语言实验教学设计范文,希望能为你的创作提供参考价值,我们的客服老师可以帮助你提供个性化的参考范文,欢迎咨询。
摘要:将CDIO工程教育模式,应用于我校电子信息类专业的C语言实验教学中。通过“多层次、全过程”的教学设计,将课程教学与对学生工程实践能力的培养相结合。对问卷调查结果的数据分析表明,这种教学设计更有助于学生主动学习能力、团队协作能力和创新实践能力的培养。
关键词:CDIO;C语言;多层次;全过程;教学设计
C语言因其用途广泛、功能强大、使用灵活等诸多优点,成为大多数高等学校工程类专业计算机类课程的入门课程[1]。该课程旨在培养学生的计算思维能力,提高分析问题和解决问题的能力,让学生具备编制程序的初步能力,为面向对象程序设计、单片机设计等后继课程打下良好基础。CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Oper-ate),它强调以产品研发到运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习[2]。
1实验教学总体设计思路
在该门课程的教学过程中,我们采用的是项目式教学。这种教学形式可以将知识点分解在每个项目中,便于学生认知和理解,学生在完成项目的过程中,就可以掌握所包含的知识点[3]。课前,教师将基础理论部分整理录制成视频,上传至线上课程资源平台,学生按提示完成预习任务。课中,基础理论部分不再重复讲解,教师只对重点、难点部分做强化讲解,同时结合VisualStudio软件做演示;接着是学生在教师的指导下操作,同时用截屏的方式记录运行结果;最后教师根据学生完成情况进行总结及任务的布置。课后,学生完成实验记录的整理和实验报告的撰写。存在的不足表现在以下方面,整个教学过程是在教师的主导下完成的,没有让学生成为教学的主体,学生主动学习热情不高;教学过程缺乏创新,教学方法较为单一,不利于培养学生的团队协作能力;考核方式较为传统,缺乏对学生创新思维的度量,对教学质量的保障度不够。依据CDIO方法和理念,把对学生主动学习的能力培养融入到验证型项目、团队之间协作的能力的培养融入到综合型项目、创新实践能力的培养融入到设计型项目和考核环节的技能测试中,这种贯穿基础知识讲授、综合应用能力训练和实践创新思维激发的“多层次”、从授课到考核“全过程”的教学设计,有助于学生工程知识的获取、现代工具的掌握和终生学习能力的培养。教学设计框图如图1所示。本文将以循环程序设计作为案例,具体介绍如何利用基于cdio理念的教学设计培养学生的主动学习能力,同时给出团队协作能力和创新思维能力培养的一般性教学过程。
2循环程序设计教学设计
C语言课程在第二学期开设,学生还没有完全适应大学学习节奏,此时需要耐心引导学生在学习中逐步走向主体地位。要培养学生主动学习能力,选择合适的题目很关键[4],既要难易适中,又要解决方案灵活多样。如何编程实现求表达式1-2+3-4+5…-100的值,就是一个不错的案例。
2.1构思
首先引导学生构思,即思考解决问题的方法和步骤。在此之前学生已经学了如何编程求解表达式1+2+3+4+5….+100的值,这里只需考虑符号的变化即可。一般有这么几种方法:①分别求解奇数项和偶数项之和,然后二者相减;②与选择结构程序设计结合,若判断出当前项为奇数项则加,为偶数项则减;③设置符号位flag并置其初始值为1,在加每一项时额外乘以符号位,每加完一项flag变号一次。
2.2设计
接着进入设计阶段,设计阶段主要任务是用模型精确地描述构思,以便于在实现阶段,把构思转换成C语言程序[5]。换句话说,在构思阶段算法可以是以格式要求不那么严格的形式出现,比如自然语言;设计阶段则需要用更加严瑾的模型来表述,比如流程图,可以选择结构化流程图或N-S流程图。以解决方法1为例,图2给出N-S流程图的设计和细化过程:
2.3实现
在实现阶段,用C语言来对设计模型加以实现,即代码的编写。循环结构可用while、do...while或者for语句实现。在本题中已知循环结束条件,故不采用for语句,又因为是当型循环,所以宜采用while语句。
2.4运作
最后到了运作阶段,这个阶段包括代码的编译、调试、运行等操作,教师更多地是要传授方法,而不能遇到问题直接给予解决。比如教会学生使用调试工具,利用错误提示信息定位出错误所在位置;再比如如果发现运行结果和预期结果没有任何关联,则可能是没有为变量设置初始化值导致的。把这个任务看成是一个工程项目的话,还应考虑其维护、升级和改进。通过增加展示和探讨环节,帮助学生拓宽解题思路,解锁解题方法,对自己的作品有一个客观的评判,并加以改进。
3利用综合型实验项目培养团队协作能力
“函数的使用”,该项目综合了除指针和自定义数据类型之外的所有的知识点。主要目的是让学生学会函数定义、函数调用、函数声明等形式,尤其是要掌握数组元素及数组名作为参数进行函数调用时,参数间的虚实结合的过程。考虑到本项目所涉及新知识点较多、较杂、较难,在编排项目内容的时候,更多的是结合前面已经学过的经典算法和功能,在本项目中改为函数调用的形式来完成,比如冒泡排序、判断素数等。这样安排起到温故知新的效果,也符合循序渐进、迭代向前的学习规律。让学生每两人组队,分工合作,基于CDIO流程来完成本项目。其中构思、设计阶段要求学生独立完成,教师只在实现阶段给予必要的指导和帮助。最后的运作阶段,队伍之间两两随机组成互评小组,对项目完成情况进行测评打分。学生在交流、配合和讨论的过程中,既能更深入地理解函数调用过程,对自己的学习效果,也能有一个客观的评价和认识,还为实践环节的团队协作奠定了基础。
4串联相关实践环节激发学生创新思维
C语言做为专业必修课程,与工程实践活动联系密切,贯穿课程设计、毕业设计、计算机设计大赛、大学生创新创业训练计划等多个实践环节,为创新型人才培养提供重要支持。通过增加“技能测试”考核环节的形式,激发学生的创新思维。该环节为开放式自主选题,学生在学期内,任何以C语言为主题的实践成果均可以作为该环节的支撑材料。考虑完成此环节的实际需求,让学生组成4~6人的团队,以项目组的形式,完成从问题的提出到解决方案的构思、设计、实现和运作的全流程[6]。这种方式不仅能激励学生将C语言应用于实践环节,同时能让学生在应用过程中,发现对知识掌握的不足,从而促进C语言及其相关课程的学习。在完善本课程考核体系的同时,也让同学们真切感受到C语言的应用场景,更加坚定学好这门课程的信心和决心。5结束语通过以上“多层次全过程”的教学设计,将CDIO工程教育理念融入C语言实验教学及考核全过程,形成“目标-措施-评价”的闭环体系,相互反馈。学期结束时,对学生发放自我评价问卷,分别从自主学习能力、团队协作能力、将C语言应用于实践环节的能力三个方面做调查。并对2020级和2021级同一专业两个班级学生做对比,其中2020级学生采用传统的教学模式,2021级学生采用CDIO工程教育模式,数据如表1所示:基于SPSS软件的一般线性模型分析显示,两个班级的数据在三个方面的显著值均小于0.05,表明这种基于CDIO工程教育理念的教学设计,更有助于学生自主学习能力、团队协作能力和实践能力的培养。
参考文献
[1]谭浩强.C程序设计[M].5版.北京:清华大学出版社,2017
[2]张白,吴国强,韦海成,等.CDIO模式在C语言教学中的应用研究[J].中国教育技术装备,2017(22):98-99,102
[3]梁锐,余波.项目驱动模式下的基于C语言和单片机的工程实践教改设计[J].现代计算机,2020(7):92-94
[4]刘梅.C语言程序设计课程实验项目的设计和教师角色的定位[J].福建电脑,2015,31(8):136-137,32
[5]李素萍.基于CDIO的数据结构课程教学设计———以简单选择排序为例[J].电子元器件与信息技术,2021,5(6):153-154
[6]龚宁静,冷静.项目组模式在C语言教学中运用的探讨[J].科教导刊(上旬刊),2018(7):112-114
作者:井田 王宜结 单位:淮南师范学院电子工程学院