APP下载

基于Arduino平台对技工院校学生编程思维培养的探索

2019-02-14朱胜昔

数字通信世界 2019年10期
关键词:技工编程智能化

朱胜昔

(娄底技师学院,娄底 417000)

2019年5月,华为创始人任正非在接受采访时说:“未来20年人类社会一定会发生巨大变革,未来很多职位将会全线被机器人所替代,现在可以去华为手机的生产线看一看,生产一部手机只需要20秒,这是前所未有的。”并在采访中提到“这个社会最终走向人工智能”。

如今华为的手机生产线已经证明了这一点,全自动化不需要大量工人。在华为东莞的一个生产基地,一条120米的生产线,从六年前的上百名工人发展到今天只有17名工人,而且这17名工人能实现更高效率、更稳定质量的生产。

可见人工智能时代到来的步伐已是势不可挡,在这个新的时代里,对技工人才的需求已经发生了很大的改变。大量传统的手工操作岗位纷纷被智能化系统所取代,取而代之的是各种智能化系统的控制岗位。在这些岗位中,要求的不再是大量的体力与重复劳动,而转变为如何更好的与智能化系统打交道,让智能化系统更高效率、更稳定的完成生产需求。

针对于智能化系统的岗位,主要有开发智能化系统以及与智能化系统协同工作两类。这两类岗位在技术层面上有一个共性就是“编程”。所谓编程,实际上就是和机器沟通的语言。不论是开发智能化系统还是操控智能化系统,你都得使用机器能够理解的语言和它进行沟通。

因此做为技工人才摇篮的技工院校,对于人才的培养趋势也在逐步的适应时代的变化。PLC、单片机、机器人等与编程相关专业技术逐渐普及起来,然而我们在实际的教学过程中,发现我们的学生对于编程课程的学习难度比较大。究其根源,发现其症结在于现状下的技工院校生源质量,在使用常规的培养方法时,由于学生的基础差等特性,使得学生无法建立起一个良好的编程思维。编程思维无法建立,相关课程自然也就难以掌握。那么如何才能让学生建立起编程思维?下面我们从编程思维的本质、学生的特性以及培养方式的探索几个方面来进行探讨。

1 编程思维是什么

一个程序的编写过程可为四个步骤:分析问题,设计算法,编写代码,调试运行。

通过寻找问题中存在的规律,将其转化为解决问题的思路,进而建立解决问题的数学模型。再通过一些经典的算法规则,将问题中涉及的数据映射到数据结构上,将数学模型的求解过程转化为具体步骤,从而得到解决问题的算法。然后将算法使用编程语言表达出来。

在整个过程中,算法的转化、代码的编写均有迹可寻,在数学模型建立的基础上,依据已有的规律,可以按部就班的实现。唯有分析问题,寻找规律、建立模型的方法只可意会,难以言传,需要通过进行大量实际问题的分析训练,慢慢积累,方可将形成良好的编程思维。

故编程思维的核心,不是编程语言,也不是语法。而是如何分析问题、从中发现规律,从而找到解决问题的方法,建立解决问题的模型,并将其映射到数据结构和算法上,然后再根据算法实现程序的编写。

实际情况表明,我们的学生对于编程语言、语法的掌握,难度并不是很大。通过记忆和简单习题的练习,是可以较好的掌握。但是当需要将这些知识点综合起来,去解决一个具体问题时,往往就束手无策了。

因此编程思维的培养,不应该单纯建立在大量指令、语法的灌输上,而是需要通过针对一系列由简单到复杂的实际或仿实际问题的分析训练,让学生逐步掌握问题的分析方法、解题模型的构建方法以及数据结构和算法的设计方法。当掌握了良好的编程思维后,再来学习晦涩的各种编程语言、课程,自然就会水到渠成。

2 技工院校学生的特点

编程思维的训练依靠的是大量问题的分析训练,而单纯使用习题的方式进行抽象思维训练,对于我们的学生而言,无疑是枯燥、乏味的,久而久之将直接使其丧失学习的动力。因此必须将问题的分析训练转化为具体的成果,然而这个转化过程中又必须依靠算法转化、编写代码以及其他相关知识点的支撑,才能得以实现。由于社会长久以来的思想固化,造成优质生源纷纷挤到学历教育这个独木桥上,留下来接受职业教育的大多都是当前应试教育的牺牲品。他们通常都具备以下几个特点。

(1)基础薄弱,主要体现在数学基础和英语基础的薄弱上。虽然编程所用的程序语言有多种多样,但实际上,机器所能理解的语言只有一种—二进制代码。因此不管任何问题,最终都需要转化为数学的方法进行解决,即建立数学模型。而我们的学生数学基础大多较差,尚不论各种函数的求解,有的甚至连简单的分数加减都容易算错。至于英语,由于计算机的发展始于欧美,且英语的字符数量少,有利于字符的编码等因素。使得C语言、汇编语言等绝大多数编程语言使用的都是英语作为助记符、关键字等。从而使得我们的学生在学习编程时,单就一个记忆各种英文助记符、关键字就足以让他们望而却步了。

(2)学习兴趣低,主动性差。我们的许多学生在初中阶段,就已经养成了大量不良习惯,且长期被冠以“学习不好的人”的称号。使得他们丧失了对学习的兴趣,且内心及其自卑,认为自己学不会、不会学。从而陷入学习主动性差,造成学习更加困难的恶性循环。特别是进入技工院校后,初从应试教育的压力中解放,使得本就没有自制力的他们更加的懒散了。在缺乏压力、又拥有大量不良习惯的情况下,兴趣和成就感可能是让他们主动学习的唯一途径了。

(3)思维方式固化。在接触编程之前,思考问题的方法更多是主观的、直接的,采用的是一种模糊思维方式。而机器由于其理解的语言为二进制,因此它的思维方式是纯粹的二值逻辑思维,对条件进行准确的是非判断。即便需要进行多值判断,也会以层次性的二值判断来实现。因此,我们的学生在这个思维方式上往往很难转变。

3 Arduino平台进行编程思维培养的探索

梳理以上的分析可知,培养技工院校学生的编程思维,其方法主要在于由易至难的大量问题的分析训练。然而依靠纯粹的习题来进行抽象的训练,反而会起反作用,让学生丧失学习的动力。而结合各种支撑的知识点,将其转化为具体的成果,又由于生源质量的约束,使得操作起来困难重重。因此,寻求一个基础知识需求低、成果转化简单的开发平台就成了构建技工院校学生编程思维培养体系的主要任务。在对大量软硬件开发平台进行筛选的过程中,我们发现Arduino平台正好满足这些要求。

Arduino平台是什么?它是一款既能通过传感器模块感知外部环境,又能驱动外部设备实现各种操作的开源电子原型平台。由开源硬件——Arduino控制器、开源软件——ArduinoIDE组成,可用于开发各种各样的自动化控制和交互式的电子作品。[1]值得一提的是,这个平台实质上就是一块以ATmega单片机最小系统为核心的控制板,然而它的开发模式具备的以下特点使其成为了培养编程思维的一个很好的选择。

(1)高度模块化设计的外部电路。传统的单片机应用比较繁琐,需要具备一定的电子技术基础才能设计并控制其外部电路。而Arduino的出现,各种遵循其标准设计的“黑盒子”般的外部电路,让使用者只需要将注意力集中在如何控制模块实现功能,而屏蔽了对模块内部电子电路具体的设计和控制,使得对使用者的电子技术基础需求大大降低。

(2)拥有图形化编程工具。Arduino原生的开发语言仍然是C语言,但是它拥有类似Mixly等第三方图形化编程工具的支持。在这些图形化编程工具中,使用者只需要简单的从模块区中将编程模块拖放到工作区内,然后像搭积木一样,将各个编程模块结合起来,从而完成程序的编写,这种编程方式对使用者的英语基础的需求基本为零。而且各种图形化程序还能轻松的转化成C语言代码,给使用者进一步学习C语言提供了强大的助力。

(3)功能强大,产出轻松。虽然Arduino平台使用简便,但其拥有和世界顶级专家设计的嵌入式交互设备相同级别的硬件工作复杂程度。[2]可以用于制作类似电子时钟、智能小车、四轴飞行器等有趣的创意电子产品。让学生能够将所掌握的技能便捷的转化为具体的产品,从而大大的提高其兴趣,增加学习主动性。

基于Arduino平台的这些特点,技工院校对学生编程思维的培养,可以从低年级就开始,通过一系列Arduino平台上的电子作品的开发,让学生在获得成就感的驱动下,养成主动学习的习惯,进而逐步养成良好的编程思维。为后续PLC、单片机、机器人等进阶编程科目打下不可或缺的基础。

4 结束语

在人工智能即将普及的时代里,编程型技工人才的需求将大大增加。如何将质量有限的学生培养出良好的编程思维,使其能够更好的学习和接受各种高级智能化控制技术,是这一段时期内我们需要一直探索的一个课题。Arduino的出现,给这个课题的解决带来了一抹曙光,希望凭借它能切实解决这个难题。

猜你喜欢

技工编程智能化
智能化战争多维透视
从技工到英雄
编程,是一种态度
元征X-431实测:奔驰发动机编程
印刷智能化,下一站……
编程小能手
纺织机上诞生的编程
基于“物联网+”的智能化站所初探
ZPSTUDIO TOOLS与意大利技工共同制作的手工艺品
石油石化演进智能化