1、-153-程序设计类实验的多元混合式教学研究 陈寿宏1 侯杏娜2 何 锋1 曾丽珍3 胡 聪1 (1.桂林电子科技大学电子工程与自动化学院,广西 桂林 541004;2.桂林电子科技大学建筑与交通工程学院,广西 桂林 541004;3.桂林电子科技大学研究生院,广西 桂林 541004)【摘 要】在工程教育专业认证背景下,以“产出为导向”的 OBE 教育理念越来越受到重视。程序设计类实验教学是培养工科本科生及研究生的编程能力、解决复杂工程问题的重要基础课程。针对现有教学中仍存在实验教学方法较为传统、学生自主编程意识较弱等问题,提出构建课前课后、现场及线上教学过程融入课程思政等多元混合式实验教学
2、研究。实践表明,该研究改进了教学质量,提升了本科生及研究生的程序设计能力、解决实际问题能力及创新能力。【关键词】混合式教学;程序设计;实验教学;创新能力培养【中图分类号】G642 【文献标识码】A 【文章编号】1008-1151(2022)12-0153-04 Research on the Multiple Mixed Teaching in Programming Experiments Abstract:Under the background of engineering education certification,the OBE education concept-of outp
3、ut-oriented has been paid more and more attention.The experimental teaching of programming is an important basic course to cultivate the programming ability of engineering undergraduates and postgraduates and solve complex engineering problems.In view of the problems of traditional experimental teac
4、hing methods and students weak awareness of independent programming in the existing teaching,this paper proposes to build a multi mixed experimental teaching research of integrating the pre class and post class,on-site and Online teaching processes into the ideological and political curriculum.The p
5、ractice shows that the research has improved the teaching quality,enhanced the programming ability,practical problem solving ability and innovation ability of undergraduate and graduate students.Key words:mixed teaching;programming;experimental teaching;cultivation of innovation ability 引言 工程教育专业认证提
6、出OBE教育理念已被各学校推广和运用1,2。程序设计类的实验是培养工科研究生和大学生编程创新、解决复杂工程问题的基础课程3。在专业认证和创新能力培养要求背景下4,如何提升课程的教学质量和效果,进而提升本科生及研究生的创新能力,是需要解决的重要问题5。在自动化类和仪器类专业中,程序设计类相关的课程有 C 语言程序设计、数据结构理论课程及对应的实验课程,还有程序设计训练等课程,涉及的课程学时和门数较多,相互之间的关系也紧密,文章以程序设计类实验教学为例,开展多元混合式研究,以达到提高实验教学质量,满足工程教育认证和提升本科生及研究生创新能力需要。1 程序设计类实验教学现状 程序设计类实验是培养学生
7、使用计算机思维解决复杂工程问题的重要方法6。然而,现有实验教学仍存在着许多问题,未有效达到教学目标。主要有如下两个方面问题。(1)多延用传统的教学方式,导致学生过度依赖课堂讲授,课后缺乏自主能力,编程意识淡薄,无法提高学生的独立自主思考能力。(2)由于学时有限,实验教学一般仅开展针对理论课程讲授的知识点进行验证或进行单一的设计类型实验教学,缺乏综合的类型实验项目6。总第 24 卷 280 期 大 众 科 技 Vol.24 No.12 2022 年 12 月 Popular Science&Technology December 2022 【收稿日期】2022-09-07【基金项目】测控技术与仪
8、器国家级实验教学示范中心(桂林电子科技大学)、广西研究生教育创新计划项目(JGY2022116、JGY2022128);广西高等教育本科教学改革工程项目(2019JGA164);广西高等教育本科教学改革工程项目(2022JGA182);桂林电子科技大学教育教学改革项目(JGA201801)。【作者简介】陈寿宏(1981),男,桂林电子科技大学电子工程与自动化学院高级实验师,博士,研究方向为神经网络与机器学习、集成电路测试。【通信作者】侯杏娜(1982),女,桂林电子科技大学建筑与交通工程学院高级实验师,研究方向为机器学习、电路可靠性测试。-154-2 改革的理念与方案 以 OBE 教育理念为指
9、导思想,为解决程序设计类实验中存在问题,构建课前课后、现场及线上等多元混合式实验教学活动,优化验证性实验项目,设计验证性实验 IPO 图;开展线上拓展性实验项目,满足不同程度的学生对实验的要求;制定综合设计类实验项目。多元混合式教学改革主要方案如图 1 所示。图图 1 多元混合式教学改革方案多元混合式教学改革方案 2.1 设计验证性实验项目设计验证性实验项目 IPO 图图 程序设计类课程通过实验过程使得学生掌握计算机程序设计、运行及程序调试、总结等方面得到锻炼,有利于培养和提高学生的实际动手能力。以仪器类和自动化类的专业基础课程数据结构实验为例,整个课程的实验题目依据知识点类型和范围、困难容易
10、度和工作量大小区分,可分为三种类型实验7。(1)基础型类型7:该类型实验的目的在于巩固理论课堂讲授的基本内容,实验题目设置为对课堂讲授的教材相关的函数、算法等的实现和编程,每道实验题目一般只包含其中一个内容,编程量及难度不大,在实际过程中为必做内容,要求所有人必须在规定时间内单独做完7。(2)提升型类型7:该类型实验的目的在于提升分析实际问题及解决实际问题的素养,设计的实验题目通常为针对实际应用中应用到的数据结构和典型算法的设计与实现,一般每个题目会包含理论教材中多个方面7,该类型的实验题目为自由选择,在实际实验教学过程中鼓励能力较强的同学通过自主选择部分题目并要求在规定时间内单独做完,完成的
11、情况也会在实验成绩中加以体现(加分),提升了学习的自主性、积极性和创新力7。(3)综合类型项目:项目一般涉及理论课程和教材上的多个内容,并且面向实际问题需求,该类题目为可选做的实验内容。完成情况也可在实验成绩中加以体现(加分),可提升学生综合运用理论知识分析解决实际问题的能力7。为了更好了解程序的流程设计、结构框架、处理流程等,项目设计验证性实验 IPO6(输入处理输出)图,要求学生在实验中,需填写算法设计的 IPO,让学生明确期待运行结果等,以此加深学生对程序实现理解,掌握理论知识点内容。以数据结构实验栈的设计型实验为例,同时要求在报告中完成各主要函数的 IPO 图:要求完成进制转换:输入为
12、一个十进制数,将其变换成一个 P 进制数对应的编码字符串。问题要求将某个十进制整数N变换为P进制对应的编码,输出对应的字符串,该实际问题解决方法为:以将十进制 66转换成八进制(P 为 8)为例:(66)10=(102)8 66/8=8 余 2 8/8=1 余 0 1/8=0 余 1 当商为 0 时结束转换,将上述过程得到的余数序列倒序:102 即得到结果。通过观察,该过程可利用数据结构中的栈的LIFO(后进先出)特点,因此可用栈来实现数制转换。2.2 引入线上拓展性实验项目引入线上拓展性实验项目 由于程序设计语言类课程安排在大一上学期,这个阶段的学生自主编程意识较弱,缺乏相当的自主练习,导致
13、后续开设的数据结构实验等课程无从下手。依托在线辅助教学平台,设计开展线上实验项目,不但能充分调动乐意学习的学生的积极性,而且对学习困难同学也能不断练习提升能力。还可以根据教学平台记录学生练习和答疑报告等详细数据功能,根据这些数据对其进行归纳总结和分析,可及时发现存在的问题,从而反应到理论教学中,以便及时调整,提升课程整体教学效果。充分利用好线上平台,可从封闭课堂向开放课堂转变,在课外自由提升能力。2.3 在教学过程中融入课程思政在教学过程中融入课程思政 在实际实验教学中,将思政内容融入到实验教学内容中,融入课程思政、专业思政的内容和环节,把以往纯粹的专业知识传授进行目标价值观强化,以数据结构实
14、验为例,课程思政元素融入到教学内容中如表 1 所示。表表 1 数据结构课程教学内容融入课程思政元素数据结构课程教学内容融入课程思政元素 教学内容 思政元素 第一部分:基本概念知识点 算法和数据结构的概念,算法的描述和算法复杂度分析等概念。科技强国思想:通过介绍数据结构在当今社会的地位,请学生体会到数据结构正在促进了社会进步,树立科技是第一生产力的信念,学好数据结构的知识,报效祖国。第二部分:树的知识点 二叉树(BT)的定义及特点,二叉树(BT)的遍历,二叉查找树(BST),哈夫曼树。第三部分:图的知识点 图的定义,图存储方法,图遍历方法,图对应的最小生成树。科学精神:通过介绍哈夫曼、迪杰斯特拉
15、、克鲁斯卡尔等科学家对数据结构的贡献,使学生体会到不畏困难,勇于探索的科学精神;让学生体会到理工科知识的客观性,树立认真的科学信念。第四部分:排序算法知识点 直接插入排序算法、快速排序算法、选择排序算法、冒泡排序算法、归并排序算法,各种排序算法的比较。科学方法论:通过理解和掌握各种排序算法,掌握提高效率的科学方法。-155-以 C 语言程序设计为例,在教学过程中,根据 C 语言程序设计课程的具体内容增加课程思政、专业思政的内容和环节,把以往纯粹的专业知识传授进行目标价值观强化。在课堂教学中,引导学生思考本门课对自己未来的职业生涯的影响,引导学生认识到人工智能或者工程项目的实践都需要借助计算机完
16、成,而掌握一门编程语言是实现人机交互的第一步,从而增加学生学习的兴趣,学以致用。教学内容和思政元素如表 2 所示:表表 2 C 语言程序设计教学内容融入课程思政元素语言程序设计教学内容融入课程思政元素 教学内容 思政元素 第一部分 C 语言和程序设计知识点 1 C 语言的发展历史和特点,C 语言程序基本结构;2 C 语言程序的运行过程和软件开发环境。德育元素:精益求精,工匠精神。C 语言作为一门基础的程序设计语言,计算机语言要求是严谨的、不能出差错的。要求在程序设计时达到准确、精益求精。不管是友好的人机界面,还是程序自身的容错方面,都体现了把事情做到极致的工匠精神。第二部分 顺序结构程序设计 1 数据类型及其运算;2 C 语言的运算符和表达式;3 C 语言的顺序结构语句;4 C 语言程序的输入输出。增强学生的遵纪守法意识 通过顺序程序设计,讲解计算机执行 C 代码的严格规定,养成严格遵守各种规章制度和标准规则的良好习惯,进一步扩展到增强学生的法律意识和规则意识。第三部分 C 语言的选择结构程序 1 C 语言关系运算符及表达式计算;2 C 语言逻辑运算符及表达式;3 C 语言条件运算符及