智能硬件在职教师资C语言教学中的应用

2022-05-30 10:48唐智勇
计算机应用文摘·触控 2022年18期
关键词:C语言

唐智勇

关键词:职教师资;C语言;智能硬件

1引言

中职教育是现代职业教育体系的重要基础,也是培养高层次技术技能人才的重要储备。中职院校教师缺编严重,“双师型”教师严重缺乏[1]。因此,在职业技术师范教育中,为中职院校培养的师资(以下简称“职教师资”),不仅是关注学生的理论素养的提升,并且更要注重实际技能、解决问题能力和批判性思维能力的培养。

C编程语言(C programming language,以下简称C语言)功能强大、用途广泛,特别是在物联网及新一代移动通信领域成为广泛使用的开发语言。因此,在电子信息类专业职教师资培养中的,“C语言程序设计”是一门十分基础而重要的基础必修课程。但是,在传统的教学与实验条件下,理论、实验与实际应用脱节,只注重数学算法设计的教学,忽略了C语言在底层硬件和系统开发中的实际应用,不适应后疫情时代(Post-Epidemic Era)的混合式教学模式,所培养的学生难以构建实际技能,培养解决问题的能力和批判性思维,难以满足“双师型”教师的实际需要。

根据国务院2017年印发的《新一代人工智能发展规划》[2],利用智能技术加速推动人才培养模式、教学方法的改革具有重要的意义。本文聚焦于电子信息类专业的职教师资C语言教学中存在的问题:引入智能硬件,探讨将其应用在教学改革中的实践过程。

2存在的问题

2.1C语言的发展与变化

C语言自诞生至今已经50年了,尽管历史悠久,但在很多的“流行编程语言”调查中,C语言仍然是最常用的编程语言之一。例如,在TIBOBE指数中,C语言常年高居排行榜前两位,更是在2008年、2017年和2019年获得TIBOBE年度语言(Language of the Year)的桂冠。

随着工作站的发展、个人计算机的出现和暴发,C语言逐渐成为程序设计的标准语言之一。从C语言发展的历史可以看到,C语言一开始就是为替代直接使用计算机指令进行程序设计的计算机语言,是为直接控制硬件而开发的。因此,它结合了低级语言速度快的特点以及高级语言开发方便的特点:擅长用来编写操作系统、驱动程序和开发嵌入式系统。因此,C语言具备的执行速度快、可以直接访问内存、模块化设计易于扩展、占用内存少的特点,在物联网和新一代移动通信领域的开发中仍然是最广泛使用的开发语言,大多数物联网设备都使用C语言进行开发。Eclipse基金会发布的《2021

IoT&Edge

DeveloperSurvey Report》指出,C语言以25%的市场份额高居内存与资源受限设备开发语言排行榜榜首。

2.2职教师资C语言教学中的困境

2.2.1教学与实际应用脫节

由于C语言的历史悠久,所以C语言在我国各型各类院校都有很长的教学历史,职教师资培养的相关专业也是如此。由于早期国内对C语言的教学研究不深人,导致国内一些经典的C语言程序设计教科书、程序设计案例以数学算法为主,着重在某些C语言本身或者编译器的早期缺陷带来的副作用的理解,反而忽略了C语言在软件设计领域的实际应用方法,同时忽略了C语言的具备的执行速度快、可以直接访问内存、模块化设计易于扩展、占用内存少等特点的教学,导致学生在学习时难度大,容易丧失学习学习兴趣和主动探究的热情:学生学完这门课程后发现,时下应用层软件几乎没有使用C语言进行开发,导致他们容易丧失学习C语言的信心,认为C语言已没有用武之地。

2.2.2教学未能反映C语言的发展趋势

C语言自诞生之日起就一直是操作系统、驱动程序和编译器等关键性软件的标准编程语言。C语言能够长期在“流行编程语言”排行榜霸榜的原因就在于不断发展、跟上时代变革。随着时代的发展,特别是物联网的兴起,实时系统和智能物联设备方兴未艾,C语言更是应用得最为广泛的开发语言。但是,传统C语言教学与实验仅是应用C语言进行应用软件和信息系统开发的教学,很少涉及操作系统地实现方法、直接控制硬件的原理和方法,很难反映当前发展的趋势,严重脱离时代的发展。

2.2.3教学不能适应后疫情时代的教学变革

目前,C语言程序设计教学仍然是理论教学与实验分离,实验、课程设计也主要是在机房的计算机上完成。后疫情时代,在混合式教学模式下,需要学生远程、独立地完成课程内容学习,原创、创新地完成实验与课程设计,强调沟通、交流、合作和批判性思维地培养,传统教学方式很难应对。

3智能硬件的发展与特征

3.1智能硬件的特征

智能硬件是以平台性底层软硬件为基础,以智能传感互联、人机交互、新型显示及大数据处理等新一代信息技术为特征,以新设计、新材料、新工艺硬件为载体的新型智能终端产品及服务。智能硬件在产品形态上通常以软件实现智能应用,通过应用连接智能硬件;通过硬件接口与传感器、互联网等相连,生产各种智能设备,是物联网应用场景中不可或缺的终端硬件。因此,智能硬件可以帮助C语言将开发与实际应用串联起来,在电子信息类职教师资培养中大有作为。

3.2智能硬件在工程教育中的发展

在工程教育实践中,智能硬件产品层出不穷,无论产品形态和名称如何变化,都可以将工程教育中智能硬件归为“开源通用”与“闭源专用”两大类。

“开源通用”类的智能硬件由于其硬件平台的电路、PCB等技术文档都发布在开源社区,使得这类智能硬件平台保持了较低的价格。另一方面,硬件平台的代码库以及智能应用开发的详细设计与实现代码都公布在相关的社区,任何人都可以进行修改并应用到实际工程实践中:完成后,又把实践的经验和细节回馈到社区,帮助更多人学习和实践。基于此,形成了一个良性互动、不断发展的生态系统。

关于“闭源专用”类的智能硬件,由技术人员使用专用经费开发的智能硬件的软硬件平台:在有限的范围内小规模的使用,不公开硬件和代码的细节。虽然这类智能硬件在工程教育实践中进行了很多有益的探索,但是始终无法形成可持续发展的社区生态。

4教学改革的方法

针对职教师资C语言教学中的困境,以及智能硬件的发展与特征分析,职教师资电子信息类专业C语言的智能硬件教学改革,需要改变单纯以数学算法设计为载体的教学和单纯以应用软件及信息系统设计为目的的认知主义教学模式。

4.1以项目式教学理论设计教学过程

职教师资C语言教学改革的探索是广西职业教育教学改革研究项目:基于智能硬件的职教师资培养模式探索——以电子信息工程专业为例,是课程体系中的重要组成部分。根据项目式学习原理将C语言的理论知识,根据扩展性、连续性、可达成性、相关性和可分解性的原则,设计一系列的根据难度梯度递进的学习项目。同时,设计合理的评价量规,根据学生的成长过程,对学生的项目式学习过程进行形成性评价。

4.2选择适宜的智能硬件平台

在电子类职教师资培养过程中,智能硬件不仅服务于C语言程序设计的教学,也应作为以C语言为基础的一系列专业课程的硬件教学平台。因此,在众多的智能硬件平台中,根据上文提出的项目式学习构建原则,选择了德州仪器(TI,Texas Instruments)公司开源的Energia智能硬件平台(包含MSP-EXP430G2开发板),如图1所示。在C语言教学课程中,可以使用这个平台进行C语言学习:在后续的单片机课程中同样可以使用这个智能硬件平台,使用C语言进行下一阶段的教学。

4.3口袋实验室助力混合式教学

Energia智能硬件平台可以作为口袋实验平台,在尺寸小巧的PCB上集成了德州仪器的多款模拟和数字器件,以提供声、光、电相结合的实验,集学习性与趣味性于一体。所有实验均可脱离实验室仪器来完成,不仅在宿舍、家里可以远程、独立地学习智能硬件平台的所有外设,还可以学习如何用C语言控制外设的知识和物联网应用的设计方法。在后疫情时代,面对远程教学需求,学生可以自主学习理论知识,并可以利用手中的口袋实验平台,进行教学设计;当可以开展线下教学的时候,学生可以利用口袋实验平台展示项目学习成果,并通过交流和讨论来相互学习,完成形成性评价。

5教学实践

下文以C语言的For循环的项目式教学实践为例,阐述了智能硬件应用于课程教学的方法。

5.1主题

“The Knight Rider”——酷炫车载LED灯设计。

5.2导言

“The Knight Rider”,以纪念20世纪80年代的一部电视剧,其中大卫·哈塞尔霍夫有一台名为KITT的人工智能机器驾驶他的庞蒂亚克轿车。该车配备了大量各种尺寸的LED灯,可产生炫目的效果。特别的是,它有一个可以在一条线上来回扫描的显示器。请大家来复刻KITT的LED显示吧!

5.3任务设计

作为一位创客,要利用Energia智能硬件平台复刻KITT的LED显示,制作这样一套LED显示原型,并编写相关的代码。调试成功后,向大家做一个2分钟的项目展示。

5.4学习过程

学生以小组的形式共同参与、合理分工,以保证任务顺利完成。教师重点关注学生对C语言中For循环的掌握,并适当留意学生对硬件器件的合理选用,注意学生是否正确设计并连接电路:关注学生对集成开发环境的使用。根据学生学习的具体情况,随时提供学习支架:For循环的微课视频、器件选型方法指导、电路参考设计等。提示学生合理使用循环结构完成项目开發。

5.5评价方式

跟据项目完成情况、全过程跟踪目标达成情况、团队合作及作品展示情况形成综合性评价,侧重For循环结构掌握情况评价,积极纳入诸如器件选型、电路设计的合理性以及项目反思和代码迭代等诸多指标的考查。

6结论

在职教师资C语言教学中应用智能硬件,以探索创新性与实用性的项目为目的,通过项目式学习的方式,使得C语言的学习能够符合时代发展的变革,让学生深刻领会C语言执行速度快、可以直接访问内存、模块化设计易于扩展、占用内存少等特点。同时,应用智能硬件,构建口袋实验室,使得后疫情时代的远程教学与混合式教学成为可能。基于此,对于培养电子信息领域内的高水平职教师资具有重要意义。

猜你喜欢
C语言
基于Visual Studio Code的C语言程序设计实践教学探索
51单片机C语言入门方法
基于C语言的计算机软件编程
C语言程序设计课程教学与学科专业相结合的探索
《C语言程序设计》翻转课堂教学改革要点
浅谈基于C语言的计算机软件程序设计
高职高专院校C语言程序设计教学改革探索
基于C语言的学生成绩管理系统的设计与实现
基于C语言的常用排序算法比较研究
论子函数在C语言数据格式输出中的应用