APP下载

跨学科、智能化的创客类校本课程开发

2014-06-11蒋莘谢作如

中国信息技术教育 2014年11期
关键词:开源编程创客

蒋莘+谢作如

编者按:随着社会的发展、各类教育改革的逐渐推进,学科间的融合已成为大势所趋。跨学科、智能化的创客类校本课程应如何开发?

● 创客课程方向分析

创客类的课程应该涵盖哪些方向?目前并没有很明确的定义。虽然创客们的作品种类复杂,包罗万象。但是,我们从创客们研究的方向还是大致可以看出一些特征。

1.跨学科

创客的研究方向,基本上都打破了学科的界限,如生物艺术的作品,不仅和生物、艺术相关,更是结合了电子、控制、网络等。其实,学科本来就是人为划定的,在生活应用中,往往都需要用综合的学科知识去解决一些具体问题。这也是最近STEM、STEAM、STEM+教育思潮如此受人关注的原因。

2.智能化

创客们喜欢玩新技术,智能控制技术当然是最受欢迎的。互动媒体、机器人、物联网、可穿戴设备,无论哪一种,看起来都挺酷。Arduino把单片机开发技术降到了最低,因而成为了创客们的神器。

3.软硬结合

很少看到哪位创客的作品是纯粹的软件,或者纯粹的硬件。智能化的特点,几乎体现了创客们软硬兼施的技术高度。在他们的眼里,电子技术和编程技术本来就是密不可分的基本技术。

● 创客课程校本化可能

因为在当前的国家课程设置中,并没有划出综合类的课程,综合实践活动仅仅定位在活动,而难以实施创客类课程。更为遗憾的是,高中技术课程标准中,把信息技术和通用技术分为不同的课程,导致了智能化、软硬结合的课程找不到对应的位置。因此,要开展创客类课程,只能通过校本课程的形式开展了。

校本课程是与国家课程、地方课程相对应的,以学校为本位的,由学校自行确定开发的课程。作为国家课程的补充,信息技术校本课程开发大致可以分为两种思路:①在技术广度方面进行拓展。这类课程主要培养学生的学科兴趣和学科素养,了解和体验学科知识在生产生活中的应用以及国内外前沿性的最新应用,树立推动信息技术未来发展的共同愿景。②在技术深度方面进行挖掘。这类课程主要通过项目或者专题的形式,引导学生对某一领域开展深入探究与实践,体验运用信息技术解决实际问题的方法和过程,培养学生的技术素养和综合能力。

创客类课程一般以第二种方式开发,但是考虑到2004年出台的高中信息技术课标已经严重滞后,与当前的技术发展脱节。所以很多课程会结合两种开发思路的特点,既有广度的拓展,又有深度的挖掘,如物联网技术、互动媒体技术、智能家居技术、手机编程和3D打印等。那么,创客类校本课程的开发可以选择哪些技术平台?下面对一些技术平台进行介绍,通过这些技术平台,我们能够看到开源软件和开源硬件推动下的信息技术教学,正在从逻辑世界(程序语言)走向电子世界(可编程集成电路),最终通过3D打印等原型或产品的设计构建工具,走向改变世界的原子世界。

1.逻辑世界:图形化语言到代码语言

(1)Scratch类

Scratch是一款由麻省理工学院 (MIT) 设计开发的面向儿童的简易编程工具。Scratch虽然采用积木堆砌的形式编写程序,但是功能十分强大,支持数组、事件驱动、多线程编程,具备了面向对象的程序语言的基本特点。难得的是,Scratch提供了外部传感器和乐高WEDO系列马达、传感器的接口,只要拖拽指令块图标,就可以制作出各种有趣的互动作品。Scratch2.0加入了摄像头识别和自定义模块功能,还支持第三方的插件,功能更加强大。对青少年来说,用Scratch开发各种创客作品,是非常好的选择。

Scratch是一款开源软件,在推广过程中衍生了好多款修改版本,如S4A、Labplus等。S4A是Scratch for Arduino的缩写,主要提供对Arduino和Andriod的支持:采用Arduino作为传感器和执行器的控制平台,提供了6组模拟输入和2组数字输入接口,以及舵机输出和数字输出接口;提供了基于HTTP协议的远程传感器功能和安卓手机的配套程序,可以组网互动,也可以和智能手机进行互动。Labplus则是国内教育企业盛思使用的Scratch的修改版,可以支持直流马达输出,能以更低的成本和技术门槛让学生体验软硬件互动。

(2)App Inventor

App Inventor的中文意思是“应用程序发明家”,是谷歌公司Google Lab项目中的一部分,称为“Google AppInventor”。Google App Inventor是谷歌公司致力于完全在线的可视化编程而打造的一项Arduino手机应用程序开发工具。当时,该项目的负责人Hal Abelson是麻省理工学院(Massachusetts Institute of Technology,MIT)的一位计算机科学教授。2012年,麻省理工学院(MIT)正式接手谷歌公司的App Inventor项目,将其更名为“MIT App Inventor”,并继续进行研发且对公众开放使用。目前,MIT App Inventor的第二版本支持应用程序在手机和平板上的开发。因为编程门槛低,世界各地有很多教师开发了基于App Inventor的手机编程课程。

(3)Processing

Processing是由美国麻省理工学院媒体实验室(MIT Media Lab)美学与运算小组(Aesthetics Computation Group)的Casey Reas与Ben Fry创立的一款专为设计师和艺术家使用的编程语言。Processing在电子艺术的环境下介绍程序语言,并将电子艺术的概念介绍给程序设计师。通过它无需太高深的编程技术,便可以实现梦幻般的视觉展示及媒体交互作品。同时,Processing也可结合Arduino等相关硬件,制作出令人惊艳的互动作品。

2.电子世界:软硬件联合编程endprint

当创客类课程进入电子世界之后,软件环境和可编程硬件被完美结合起来,如Arduino既是一个开源硬件的名字,也是这款开源硬件编程的语言的名字,软件和硬件的界限通过编程语言变得模糊起来,软硬件联合编程教学成为了创客类校本课程开发的新方向。

(1)Arduino

Arduino是一个基于开放源码的软硬体平台,具有类似Java、C语言的开发环境。因源码开放和价格低廉,Arduino目前广泛地应用于欧美等国家和地区的电子设计及互动艺术设计领域,得到了Make magazine等出版物和Instructable等网站的认可和推荐。Arduino被称为“科技艺术”,作为一种新“玩具”,甚至新的艺术载体,吸引了各个领域的人们加入到Arduino的神奇世界里来。国内外已经有人开发了多款基于图形化界面的Arduino编程环境或者插件,如Modkit、Ardublock等,为Arduino的推广普及作出了积极的贡献。

(2)pcDuino

pcDuino是PC和Arduino的结合体。pcDuino使用A20处理器,运行速度达到1GHz,自带1G的BDRAM和2GB的Flash,支持Ubuntu和Android,接上鼠标键盘和显示器就是一台迷你PC,尺寸有手掌大小,重量相当于半个鸡蛋。pcDuino最大的优势是兼容Arduino,借助Arduino丰富的扩展板卡和传感器资源,pcDuino就成了一台能直接控制各类电子元件的计算机,在互动媒体方面,应用空间很大。pcDuino还能运行修改版的Scratch,学生通过Scratch就能控制传感器、马达等外部设备。利用pcDuino做一个基于WiFi的远程控制机器人是很轻松的事情。pcDuino上面可以支持Scratch依据测控板的信息输入做出马达、LED输出,因此使用pcDuino可以和Scratch测控板整合起来,构成一个完整的、可移动的机器人控制环境。

(3)Microduino

Microduino的尺寸比Arduino更小,相当于一个大的方形纽扣,由北京的一位大学实验室教师最先开发。和Arduino的故事类似,迅速集结了一批开发者,帮助其添加功能。其尺寸上的优势使得它堆叠的效果和产品级别的电路板的功能及尺寸毫无区别,加之成本优势,使得很多产品没有必要生产定制的电路板。依据其设计的校本课程可以直接称为电子产品制造而不是电子产品原型设计。

3.原子世界:从扫描、设计到打印

(1)Kinect和Leap Motion

Kinect是微软开发的3D体感摄影机,具备即时动态捕捉、影像辨识、麦克风输入和语音辨识等功能。微软的宣传标语说:“你的身体就是控制器”。Kinect的出现不仅带来了一种新的游戏操控体验,由之引发的让机器“读懂人”的交互方式,也正引领人机交互技术的新一轮变革。Leap Motion是一款体积仅一包口香糖大小的体感控制器。通过USB连接计算机后,它会创造出一个4立方英尺的工作空间。在这个空间里,10根手指的动作都会被即时追踪,误差在0.01毫米以内,最大频率是每秒钟290帧,精确度相当于Kinect的200倍。这样的精准程度足够保证用户顺利完成如pinch-to-zoom或控制3D渲染物体等操作。当Leap Motion首次亮相之时,外界认为它承载了一个新颖而独特的计算机用户体验——通过挥舞手指或拳头来和计算机进行交互。和Kinect一样,Leap Motion也提供了SDK,可以二次开发。

利用Kinect和Leap Motion,可以开发手势识别、体感控制之类的课程,但是不用担心其开发语言是否过于复杂。早有人写好了Kinect for Scratch和Leap Motion for Scratch的第三方插件。用Scratch就能研究手势识别、体感控制之类的课程了。使用Kinect可以制作3D扫描仪,直接输出物品的3D模型,可以用SketchUp做进一步的加工,最后用3D打印机输出出来。

(2)SketchUp

SketchUp是一款三维建筑设计方案创作的优秀工具,但是因为其支持导出STL文件,成为3D设计的最好选择之一。比起Solidworks、UG等专业级工具来说,数十兆大小的SketchUp在普通配置的计算机中可以流畅运行。目前,SketchUp常常用于通用技术课的三视图绘制。而如果要求不高,小学生用SketchUp画出一些小零件并用3D打印机打印出来,并不是一件难度很高的事。

(3)3D打印机

3D打印机一度成为创客的代名词,目前3D打印的课程集中在3D建模课的模型实现、数学课当中复杂几何关系的建构、设计课中产品原型的设计和产品制造。3D打印的耗材和3D打印机都处于充分的市场竞争的状态,这有利于降低成本、提升品质。因此,3D打印的课程如果和软硬件编程结合起来,将是最优秀最有价值的创客类课程。

罗列了这么多技术平台,其实还仅仅是当前各类适用于创客类课程技术的九牛一毛。随着创客运动在世界各地的迅猛发展,将会有更多的技术平台不断涌现。但是,对有意开发跨学科、智能化的创客类校本课程的教师来说,倒没有必要在平台选择上过于纠结。只要你能把握开源、低门槛、支持软硬件这几个关键词,一切皆为可能。endprint

猜你喜欢

开源编程创客
校园武术“学、练、赛”一体化实践探索
玩游戏学编程,Blockly Games上手玩
纺织机上诞生的编程
五毛钱能买多少头牛
2019(第十四届)开源中国开源世界
2019开源杰出贡献奖
编程屋完成数百元万天使轮融资
校园创客交流平台的设计与实现
学编程,先画画
创客,你是什么段位?