地方院校符合工程认证要求的课程设计与实践研究
——以《C程序设计》课程为例

2019-03-27 02:53董永涛
关键词:C程序设计程序设计知识点

杨 曼,高 飞,赵 波,董永涛

(云南民族大学 电气与信息工程学院,云南 昆明 650500)

2016年6月2日,我国成为国际本科工程学位互认协议《华盛顿协议》的正式会员[1],这标志着我国高等教育将以工程教育为导向,对我国高等教育质量的提高发挥着极大的督促作用.在我国高等教育中,地方高等院校是主体力量,作者根据教育部发布《全国高等学校名单》截止2017年5月数据统计,我国普通高等院校共计2631所,教育部直属普通高等院校76所,民办高等院校735所,其他地方所属高等院校院校地方院校共计1820所,地方所属高等院校占69%.地方院校以服务区域经济和促进社会发展为目标,承担着为地方培养高素质人才的重要任务[2].但地方高等院校与“985工程”院校和“211工程”院校相比存在着学生基础较差、教师能力欠缺、实验实训条件不足等问题.

工程教育的根本理念是“以学生为中心”[3-4],强调学生的学习成果,聚焦于学生通过学习具备什么能力,毕业生应该满足怎样的毕业要求,工程认证标准对学生的毕业要求共计12条,作者在长期的教学工作中发现地方院校学生最欠缺工程认证毕业要求中的研究能力、个人和团队能力以及沟通能力,3方面能力在工程认证中具体描述如下.

1) 研究 能够基于科学原理并采用科学方法对复杂工程问题进行研究,包括设计实验、分析与解释数据、并通过信息综合得到合理有效的结论.

2) 个人和团队 能够在多学科背景下的团队中承担个体、团队成员以及负责人的角色.

3) 沟通 能够就复杂工程问题与业界同行及社会公众进行有效沟通和交流,包括撰写报告和设计文稿、陈述发言、清晰表达或回应指令.并具备一定的国际视野,能够在跨文化背景下进行沟通和交流.

地方高等院校工程化建设任重而道远,课程建设是高等教育的重要组成部分,而《C程序设计》是工程教育体系的一门重要基础课程,因此研究符合工程认证要求的地方院校《C程序设计》课程教学设计有重要意义.笔者课题组以智能汽车竞赛项目作为工程抓点,抽取核心内容,结合《C程序设计》知识点进行教学设计,通过用本课程设计进行教学,实现对上述3种能力的提高.

1 教学改革方案设计

1.1 《C程序设计》教学现状

《C程序设计》课程是工科专业的一门专业基础课程,该课程对实践性要求特别高,不但要求学生掌握书本上的概念,更要求学生动手编程,调试和运行程序[5~8],为后续专业课程学习和设计打下基础.目前本科高等院校《C程序设计》的教学现状为[9]:

1) “重理论,轻实践”,授课老师用大量课堂时间在课堂上用“满堂灌”的方法教授C程序语法和细节,实践训练较少,学生能听懂但自己不会做.导致学生学习兴趣不高,教学效果不佳;

2) 实验内容固定,课程与本专业的知识脱节.目前《C程序设计》课程主要是按照拟定教材上课,教材上内容固定,很难与学生所学专业结合,不利于学生创新能力的培养,学生在学习的过程中感觉与专业无关,学习情绪不高.

1.2 教学内容设计

1.2.1 智能汽车竞赛

智能汽车竞赛为加强大学生实践、创新能力和团队精神的培养,促进高等教育教学改革,由教育部高等学校自动化专业教学指导分委员会主办全国大学生智能汽车竞赛.智能汽车竞赛的指导思想是“立足培养、重在参与、鼓励探索、追求卓越”,鼓励在校本科生积极参与,追求卓越,重点培养学生的实践能力、团队合作和创新精神[10].

智能汽车系统设计包括3个部分:赛车总体机械结构、硬件电路系统和软件控制系统.软件控制系统是汽车的灵魂,以摄像头组智能汽车软件控制为例,一般包括图像采集、图像处理、赛道识别和自动控制4个部分组[11-12],智能汽车软件功能细化图如图1所示.

初始化:单片机是智能小车的重要组成部分,要使单片机能正常工作,必须先对其进行初始化.主要是PPL初始化、PWM模块初始化、ECT模块初始化、I/O口初始化、A/D初始化.

图像采集:图像采集对于智能小车来说是非常重要的模块,它是智能车的“眼睛”,是智能小车唯一能感知外部信息的传感器模块,所有赛道信息都只能由图像采集模块感知的,是小车稳定、准确、快速行驶的前提条件.

图像处理:图像采集来的图像信息不能直接用来控制智能车,需要将图像去噪,去除干扰,运用二值优化算法提出赛道黑线后,才能用来控制智能车行驶.

赛道识别:要让小车快速的行驶,需要提前判断路况,识别赛道类型,才能保证小车有效的行驶.在智能车竞赛中主要包括直行道、左右单弯道、S弯道等.

自动控制:根据识别的赛道信息对小车进行自动控制,自动控制包括电机转向控制和直流电机控制调节速度,电机转向控制算法一般采用PID算法,直流电机控制算法一般采用二维模糊算法和PID算法.

起始线检测:起始线能否准确的检测到,并转化为停车标志,是智能车跑完一圈后能否平稳停下来的关键.判断起始线的方法常有数黑点法、三段黑线法等.

1.2.2 智能汽车与《C程序设计》结合

作者通过对智能汽车软件部分模块的研究,结合《C程序设计》的课程特点和学习该门课程需掌握的知识点,通过多年的教学经验,从智能汽车软件部分中提取了以下5个问题进行教学,提取问题和课程知识点对应如表1所示.

表1 智能汽车提取问题和课程知识点对应表

初始化是任何C程序设计必须的部分,特别是对智能汽车的软件设计,智能汽车的主要控制部件是单片机,对单片机的初始化是智能汽车正常工作的基础,初始化涵盖的C程序知识点主要有数据类型、变量定义及初始化;二值化是在图像采集处理中用灰度变换来研究灰度图像的一种常用方法,二值优化算法涵盖的C程序知识点主要有算法、数组和指针;直行道识别和起始线识别是智能汽车赛道识别类型中的一种,涵盖的C程序知识点主要有算法、顺序结构、选择结构和循环结构;PID算法是在工程实际中应用最为广泛的调节器控制算法,在智能汽车竞赛中主要用于舵机的控制和电动机的控制,PID算法涵盖的C程序知识点主要有算法、循环结构和选择结构.通过对上述问题的学习可以达到巩固C程序相关知识点,并对C程序灵活应用的目的.

在《C程序设计》课程中引入了智能汽车软件设计的内容,将理工科专业知识与C程序设计知识相结合,改变了传统教学中仅仅以教材内容为限制,使学生在学习基础课程的同时深化了专业知识,提高了学生对实际问题中较复杂的问题进行处理的能力,培养了学生的研究能力.

1.3 教学方法改革设计与实践

由于高校招生生源的原因,地方院校学生的知识储备能力、自身素质和认知水平上都与重点高校的学生有差距,主要表现在以下学生自主学习能力差、课堂参与度底和缺乏足够的自学时间[13].因此在《C程序设计》教学方法中主要采取了传统的教学方式.但该门课程是实践性和逻辑性很强的一门课程,所以除了传统教学方式外,还采用了基于项目教学方法[14]和问题教学方法[15]结合的教学方法、分组教学方法和翻转课堂教学方法[16].

项目和问题教学方法相结合的教学方法:对于地方院校的学生,完全采用基于项目教学,学生的能力达不到;单纯采用问题教学,没有载体,难以满足工程认证的要求.本文采用基于智能汽车竞赛项目作为载体,提出核心内容作为问题,结合课程知识点进行教学,具体结合点参见表1.通过项目和问题结合的教学方法,让学生研究智能汽车软件设计中专业实际中较复杂的工程问题,提高学生解决这些问题的实际能力,学生的研究能力得到了培养.

分组教学方法:对班级同学进行分组,每组选一名小组长,组内成员进行分工合作,最终完成团队工作.通过分组教学方法,让学生构建团队,让团队中每个成员都承担自己的责任,团队成员为达成共同的目标而努力,培养了学生的个人和团队以及沟通能力.

翻转课堂式教学方法:是指学生在课后完成知识的学习,而课堂变成了老师学生之间和学生与学生之间互动的场所,包括答疑解惑、知识的运用等,从而达到更好的教育效果.本课程要求上课班级同学在课后进行智能汽车知识点的学习,撰写PPT,并在课程结束前进行PPT汇报工作,汇报完成后老师进行点评.通过翻转课堂教学,让学生准备如何解决智能汽车软件设计中专业问题的PPT,并进行讲解,对学生的学习兴趣有了很大的提高,并培养了学生研究、个人和团队、沟通能力.

2 教学改革方案评价与实践

传统的考核评价主要通过平时作业、考勤和期末考试作业作为考核评价标准,《C程序设计》课程设计引入了智能小车软件提取的问题进行教学,考核评价包括课堂表现、课后作业、期末成绩、分工任务完成情况、PPT质量和汇报情况、期末考试成绩,具体表2所示.

表2 考核项及其占比

课堂表现和课后作业是学生在学习过程中态度的重要体现,分别占比5%和5%;分工任务的完成情况是学生的研究能力和团队能力的体现,占比10%;PPT质量和PPT的汇报个人能力和沟通能力的体现,占比10%;期末考试是学生整个学期的学习成效的体现,占比60%,上述几项构成了该门课程的评价体系.

文中的《C程序设计》课程设计在某大学电气信息工程学院进行了实践,上课班级共有32名同学,12周结束后将32名同学分成了4组,每组8名同学,对课程设计中的4个问题进行了C程序实现,并向同学们演示了学院参赛智能汽车竞赛设计的智能汽车.

通过一学期按照本文中的《C程序设计》课程设计的学习,要求上课班级同学自学智能汽车竞赛软件中的问题,并实行班内分组,组内分工,完成智能汽车竞赛软件中的问题用C程序实现,实验调试,撰写PPT并在课堂上进行汇报,提高了工程认证中毕业要求需具备的研究、个人和团队以及沟通的能力.教学设计与能力对应如图2所示.

3 结语

本文针对地方院校特点和工程认证毕业要求,提出了符合工程认证毕业能力要求中研究、个人和团队以及沟通三项能力的《C程序设计》课程教学设计.本课程设计以智能汽车竞赛软件作为依托,抽取核心内容,结合《C程序设计》课程知识点进行教学内容设计,在教学方法上采用了传统教学方法、基于项目和问题教学结合教学方法、分组教学方法以及翻转课堂教学方法,并在某大学电气信息工程学院进行了实践,取得了良好的效果,相较于采用传统教学方案的学生,从考评成绩上来看,学生在基础知识得分、程序设计得分等各项成绩都有较明显提高.课题组还对学生进行问卷调查,根据问卷结果,学生在研究、个人和团队以及沟通3项能力上都有较大提升.

通过该课程改革方案教学,该大学电气信息工程学院从2015年参赛以来,获国家二等奖1项,西部赛区二等奖2项,三等奖3项.鉴于取得的良好成绩,根据教务部高等学校自动化专业教学指导委员会工作安排,该大学承办了第十二届全国大学生智能汽车竞赛西部赛区比赛.

智能汽车竞赛中,硬件包含了模拟电子电路、数字电子电路、单片机等知识,软件可以用C程序、matlab、Java、python等实现,这些课程都是工科专业的重要基础课程,在未来的教学中可以将本文中《C程序设计》课程设计方法进行推广教学,使更多的课程符合工程认证的要求.

猜你喜欢
C程序设计程序设计知识点
一张图知识点
一张图知识点
第四页 知识点 歼轰-7A
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
高职高专院校C语言程序设计教学改革探索
C程序设计趣味教学初探
C程序设计课堂趣味性教学初探
接轨全国等级考试,探讨高校C语言课程教学改革
关于G20 的知识点