冉彦中 曹婧华 杨可扬 唐明祥
摘 要:根据新工科环境下对人才实践性和创新性的培养需求,分析了《C语言程序设计》的课程特点和改革现状,建立了教学体系框架模型,提出了基于PBL的教学模式,在教学实施中将Arduino设计引入到C语言的教学中,旨在更好的理解C语言的思维和结构,更好的将理论与实践结合,培养学生的创新意识。
关键词:新工科;C语言;PBL;Arduino
中图分类号:G642.0文献标识码:A
doi:10.14031/j.cnki.njwx.2019.11.077
Teaching Reform of C Programming Based on PBL Method
Ran Yanzhong1,Cao Jinghua1,Yang Keyang1,Tang Mingxiang2
(1.Center for Computer Fundamental Education,Jilin University,Changchun 130062, China;
2. College of plant Sience,Jilin University,Changchun 130062, China)
Absrtact:According to the demand of New Engineering for talents cultivating of practicality and innovation, firstly this paper analyzed the characteristics and reform of “C language programming”, then a teaching frame system model was established and the teaching model based on PBL is proposed, finally using Arduino to implement C language teaching. It aims to better understand the thinking and structure of C language, better combine theory and practice, and cultivate students 'innovative consciousness.
Key words: new engineering; C language programming; PBL; Arduino
0 引言
2017年教育部发布《关于开展新工科研究与实践的通知》,相对于传统的工科人才,未来新兴产业和新经济需要的是实践能力强、创新能力强的“新工科”人才[1-3]。作为计算机基础教学重点科目之一的《C语言程序设计》也要理论联系实际,实现教学观念的根本性改变。
1 《C语言程序设计》教学改革现状
C语言在解决问题的思维方式和流程上所具有的基础性优势不可替代,这门课程脉络清晰,主要面向非计算机专业,作为教学的C语言因为其面向过程的编写方式和运行结果的控制台显示特性,在教学过程中缺少互动与实践,长期以来仅用来解决数学问题。目前国内程序设计语言教学正在尝试各种改革[4-9],目的在于使教学内容更吸引人、更适应市场的需求。
西南交通大学围绕提升本科教学质量,开始了从以“教”为中心到以“学”为中心的转变。新的教学模式就是要让学生为主体,学生自己主动思考问题、解决问题,依靠自己的实践来验证所学理论,在学习的过程中提升自己的能力。以清华大学为代表的一流高校提出了MOOC的教学新模式[10-13],但是这种模式在共享优等教学资源的前提下,实际上存在弊端,一是筛选适合自己的教学内容需要大量的时间,二是远程教学缺乏面对面的互动,不易集中学生注意力。对此,多所大学寻求改革,主要探索的是教学方法上的改革,比如启发式教学、案例式教学,或者将教学内容的顺序做了调整,也有教师尝试了C语言在4G网络和物联网中的应用,但大多以理论为主缺少实例。
2 《C语言程序设计》教学框架及教学实践分析
基于工科的定位,结合课程现有的发展现状和实际的需求,提出C语言教学体系模型[14]如图1所示。探讨教学方法、教学内容和教学实践是以“教什么”和“怎么教”为核心展开的思考。教学内容上既要体现C语言的逻辑思维又要与实践紧密结合;教学方法上要引领学生主动思考,以学生为主体,不再就C语言论C语言。C语言的教学改革,不仅是教学方法和教学模式上的改革,更需要将教学方法和实现平台融合、实现创新性和实践性的统一。没有创新就没有发展这不仅是对学生的要求,更是科技和社会进步对教师提出的严峻任务,教师要与时俱进,不断地更新自己的观念和知识储备,用新的教学模式和教学内容去装点课堂。充分发挥学生的积极性和主动性提高创新能力,培养学生自主思考的习惯,使学生成为课堂的主体,教师成为学生的引导者。
本文提倡在新工科的发展的环境下,采用PBL(Problem-Based Learning)以问题为主导的教学方式,强调以学生为中心,极大程度的调动学生学习的积极性。讲授的内容不再停留在控制结构和数据模型的语法层面上,应在以下两个方面具有可扩展性,一是要注重以“逻辑思维”为主线的思考问题的方式,二是要将程序设计理论结合具体的实践,使理论具有应用空间。
C语言的教学实践工具比较有效的就是Arduino,近年来课题组积极寻求C语言改革的方法,2015年关注到Arduino电路板,它是一块嵌入式的电路板,提供多种传感器接口,硬件和软件都有开源免费资源可用,各个专业普遍适用,可以针对不同的专业设计相应的案例。通过教学应用认为Arduino是“以问题为中心”的教学方法得以实现的有效平台。利用它与C语言得天独厚的浑然一体优势,将程序的运行结果用Arduino的多种传感器输出。可以使结果显示生动有趣,挖掘学生的创造潜能。学生可通过多种平台进行编程,不再局限在机房、笔记本上,也可以把自己的程序挪到手机终端,这将极大限度的激发学生探索问题和解决问题的兴趣,也使程序運行结果更为直观和贴近现实,还可以进一步指导学生用C语言在Arduino上制造出自己的作品,把“理论传授+专业实践”的传统教学模式,转变为“提出问题+课堂探讨+兴趣小组”的新模式。PBL模式下的C语言Arduino教学实践模型如图2所示。将Arduino引入C语言教学通过一系列的循序渐进的Arduino制作案例,提出问题,引导学生分析问题,用C语言思维指导实践,在实践中更好地理解C语言的结构,理论与实践相互促进。
3 使用案例设计举例
粮库使用电动振动筛筛选粮食,振动期间产生的大量灰尘有害于身体健康,而控制振动筛的开关安装在振动筛机体上,必须近距离操作,导致工作人员吸入大量灰尘。本案例开发手机APP以及振动筛下面的控制装置取代原有的手工零距离按钮,实现手机远距离控制振动筛开关。振动筛自动开关系统组成如图3所示。
手机终端APP如图4所示,语音控制部分代码如图5所示。
单片机控制继电器用到选择结构的知识点:
int incomingByte; // 串口数据存储
void setup() {
Serial.begin(9600);
pinMode(7, OUTPUT);
}
void loop() {
if (Serial.available() > 0) {
incomingByte = Serial.read();
if (incomingByte == 'H')
{
digitalWrite(7, HIGH); //开继电器
}
if (incomingByte == 'L')
{
digitalWrite(7, LOW);//关继电器}
分支语句的H、L通过下面系列操作得到:读单片机串口,由蓝牙模块输入,蓝牙模块和手机终端的蓝牙形成局域网,语音输入开、关通过云平台识别为文本开关,手机APP将开、关转为H、L发送给单片机。此案例简单有趣,引发学生的思考,拓展学生视野,具有创新和实践价值。
参考文献:
[1]沈建新,陆勇.“新工科”理念下的地方本科高校校本课程开发[J].盐城师范学院学报 (人文社会科学版),2017(4):116.
[2]杨晓燕,梁丰,王仁芳,等.新工科教育中计算机应用型人才培养实践探索[J].计算机教育,2018(5):56.
[3]孙安媛,孙德林,徐舒.“互联网+”背景下新工科信息化创新创业多样化探索[J].江西通信科技,2008(1):35.
[4]周世平,童向荣,卢云宏.程序设计基础课程改革方案探讨[J].计算机教育,2015(3):84.
[5]阳小华,刘志明,李华新.大学计算机课程教学研究综述:基于近十年中文核心期刊与CSSCI期刊文献的分析[J].高等理科教育,2015(4):119.
[6]于莉莉, 张磊, 李晶. 学科交融、通专结合的程序类课程改革研究 [J]. 黑龙江教育学院学报 ,2018,37(6):40.
[7]吕程.新工科背景下的机械专业 C 语言课程改革 [J]. 科技创新导报,2018(4):249.
[8]张书月.基于计算思维能力培养的 C 语言程序设计课程改革探究 [J]. 科技经济导刊,2018,26(25):141.
[9]韦剑, 刘方, 周丹. 基于翻转课堂的独立学院《C 语言程序设计》课程教学改革研究 [J]. 教育现代化,2017,4(45):101.
[10]教育部高教司.“新工科”建设复旦共识[J].高等工程教育研究,2017,24(1):10.
[11]教育部高教司.新工科建设指南(“北京指南”)[J].高等工程教育研究,2017,24(4):20.
[12]赵广辉.面向新工科的Python程序设计交叉融合案例教学[J].计算机教育,2017(4):23.
[13]朱月秀.基于ACM竞赛的C++程序设计课程教学改革[J].漳州师范学院学报(自然科学版),2012(1):96.
[14]孔繁森. 实践教学体系的框架模型研究[J]. 高等工程教育研究2017(5):135.
(03)
基金项目:基于Arduino的C语言程序设计PBL教学模式探索,项目编号:2017XYB069
作者简介:冉彥中(1969-),男,重庆万州人,硕士,高级工程师,研究方向:人工智能应用,E-mail:1458485640@qq.com。
通讯作者:唐明祥(1968-),男,四川宜宾人,硕士,教授级高级工程师,研究方向:农业机械:E-mail:279222513@qq.com。