APP下载

将创客教育融入C 语言教学中的实践探讨

2020-05-20王凤兰

数字通信世界 2020年4期
关键词:入门工作坊程序设计

王凤兰,漆 珣

(汕头职业技术学院,汕头 515078)

C 语言一直以来都是大多数高校普遍开设的一门程序设计入门语言,不仅仅是计算机专业,其他的理工科专业,甚至是诸如经济、心理学等其它专业也会开设该课程。

随着现代电子技术、信息技术、互联网技术、人工智能技术的快速发展,C 语言的应用领域也达到了空前扩展,除了系统软件、应用软件、数值计算、游戏开发,还可用于服务器端开发、网络底层和网络底层务器端等,图形处理、嵌入式开发、人工智能等领域。对于高职院校的学生来说,C 语言作为他们接触到的第一门程序设计语言,且是在对诸如计算机基本硬件组织结构,工作流程、内存的组织方式、软硬件的关系等这些有助于理解编程的知识知之甚少的情况下,学习C 语言却存在着很大的困难。

所以,不断探索适合高职院校学生的学习《C 语言程序设计》这门课程的教学方法,提高学生的学习动力和学习效果显得尤为重要!

1 C 语言教学改革的必要性

1.1 高职院校学生的学情分析

大多数高职院校的学生知识基础薄弱,逻辑推理能力较弱,学习上自我控制力也较弱,遇到学习困难,容易退缩。所以《C语言程序设计》的一线任课老师常常见到学生刚刚学编程的时候,热情高涨,信心很足,可过了一段时间就心灰意冷,甚至干脆放弃了。所以,找到一种能够让他们快速入门,马上体验到效果的教学方式显着尤为重要。其实老师们一直都在孜孜不断的做着这些探索,慕课、微课,翻转课堂,游戏代入等等,取得了非常大的成效,但还是在学生们对编程入门前难以逃脱复杂的逻辑推理,冥思苦想的过程,显得不尽人意。而连小学生都可以容易上手的智能电子设计,机器人编程、嵌入式编程等创客技术为高职院校的学生们轻松进入C 语言世界带来了曙光。

1.2 新的改革机遇

随着电子、信息、人工智能、网络技术的发展,各种嵌入式可编程控制芯片,电子元器件变得方便易得,使得创客技术蓬勃发展起来,创客教育也变得越发普及红火。因为C 语言具有面向硬件的特性,这些可编程的器件大多采用C 语言进行编程。配合他们提供的用C 语言创建的API 函数库,往往很少的几行代码,就可以得到一个触手可及的具有实际功能电子作品,如超声波测距、电子屏显示、具有不同功能的智能小车,这会大大激发起学生们的学习兴趣,增强他们客服学习困难的决心。

2 在《C 语言程序设计》教学中引入创客教育

2.1 引入创客教育的意义

2.1.1 激发学生的学习兴趣,轻松入门C 语言编程

我们知道,学习某些新的知识,技术,有一个入门的过程,在入门前会觉得很难,一旦入门,便渐入佳境。而这个入门过程却需要大量时间精力的投入,由量变到质变。且学习有一个顿悟的过程,通过吸引力极大的创客教育导入C 语言的学习,吸引学生将课上学习延续到课下,由刚开始简单的几行代码的程序搭建,慢慢让学生体会到程序是什么,能干什么,到熟悉C 语言的基本结构,C 语言的基本语法、主要控制语句,再到编程入门。

2.1.2 引导学生更早进行有关职业的思考

创客教育使学生体会到了“学以致用”,激发他们把自己的一些创新想法变成现实的欲望,自然会激发他们学习的积极主动性。随着创客技术的发展,创客领域的扩展,也产生了很大的人才需求。如现在中小学的创客教育师资就比较紧缺。特别热爱创客的学生们可能就会考虑选择这一领域职业,从而激励他们为了达成目标加倍努力。

2.2 引入创客教育的可行性

创客教育的软硬件学习资源众多,方便易得,且上手容易。在本人的《C 语言程序设计》的教学改革中,使用的是价格相对低廉,编程简单,容易上手的Arduino 套件。而中小学的创客教育课中也大多选择Arduino。一套基本的Arduino 套件从几十到几百元不等,学生们可以自发组成工作坊,合买所需的套件,也可以根据需要补充所需的各种元件,不会带来太大经济负担。

其次,Arduino 套件体积小巧,便于携带,使用不受场地限制,方便学生课上课下随时使用。课下,学生工作坊的同学仍旧可以一起工作,一起学习。

3 引入创客教育的实践探索

3.1 用Arduino 引入创客教育

在初次尝试中我们采用的都是比较简单的例子,代码较少,学生很容易记忆和模仿:LED 呼吸灯、LED 交通灯、LED 点阵显示,超声波测距、智能避障、智能循迹,测量环境温度、声音控制等,在此基础上引导学生自己拓展设计,就有学生根据巡线传感器的功能自己实现了智能跟随、走迷宫(其实这些就是当今热门的无人驾驶的基本技术原型);有学生将LED 灯光变色效果加入到智能循迹中,显得更加有趣;有的用声音控制机器人的运动等等。因为课堂时间有限,而这些例子大多是学生们课下以工作坊的方式实现的。

图1

图2

图1 、图2是一个完整的Arduino程序,实现“机器人循迹”运动。这是我们引入的Arduino 例子中代码相对比较复杂的一个例子,这个例子包含预包含命令、变量的定义、调用库函数、if…else语句、函数的实现。学生开始只是模仿着编辑这些代码,为了更好的用Arduino 实现他们的想法,学生们会努力的弄清楚这些代码的含义,使用方法,从而调动起学生学习C 语言的主动性。当在课堂上讲解C 语言的知识的时候,一方面他们有似曾相识的感觉,不会觉得一片茫然,一方面他们是带着问题学习,积极性会大大提高。

3.2 效果分析

在没有引入创客教育前,我们对《C 语言程序设计》学习效果的考核一般采用上机实操考核和笔试(表1中分析的是实操部分的考核)。我们将所学C 语言的知识尽量分解为很小的元知识单位,每一个元知识设计两到三道简单的程序设计题,让学生现场抽取一道限时上机完成。

表1

本文就2017、2018年和2019年(融入了创客教育)实操考核结果进行了对比分析。我们选每年计算机软件专业两个班的数据,对比顺利完成每一知识主题考核的百分比。

由表3.2-1可以看出,通过引入创客教育,学生学习《C 语言程序设计》的各部分知识都有不同程度的提高。

4 结束语

对于高职院校的学生,将创客教育融入《C 语言程序设计》的学习中确实是一种曲径通幽的方法,符合高职院校学生知识基础薄弱,逻辑思维能力较弱,学习热情不足,学习上容易畏难退缩的特点。通过,创客教育一方面可以提高学生的学习积极性,用电子游戏般的吸引力克服了学生的畏难情绪。引入学生工作坊,大家一起工作学习,创设积极的学习氛围,降低学习的难度,提高学习乐趣。当前创客教育、创客技术是比较热门的一个职业选择,让学生早一点接触到创客教育,可以引导学生更早的考虑个人发展,职业规划的问题,从而激发学生更加努力的学习。

猜你喜欢

入门工作坊程序设计
“中日跨境文化研究工作坊”八年记
名侦探入门测试
基于Visual Studio Code的C语言程序设计实践教学探索
罗雪芳名师工作坊:携手共进,聚水成渊
从细节入手,谈PLC程序设计技巧
学习和自己的相处之道 独木舟的入门 CANOE
第二届“新革命史工作坊”会议综述
几何入门,四个“重视”
高职高专院校C语言程序设计教学改革探索
拒子入门