在过去两篇有关现代编程科技演化沿流,以及不同地区在推动编程学习的规划情况介绍,读者可以理解到现代编程教父,西摩·帕柏特(Seymour Papert)及米切尔·雷斯尼克(Mitchel Resnick)等人的初心。主要想利用数学的逻辑特性,以一种图像化表现形式,方便学生通过运算思维,重新建构及表现个人对感兴趣问题的了解、深层概念的探索及应用方案的创见。其实这种理念的本质和艺术学习的宗旨和表现形式高度契合。即是将单一或相关性概念,以一种视觉影像呈现,去传递一种创见性信息。
在电脑美术未盛行初期,已有一些科学家及数学家,尝试将数学关系或方程式,利用电脑语言及视屏展示。1952年美国Ben F. Laposky使用示波器作出一个抽象的图像〈Oscillons〉,被视为电脑艺术的开始。其后不少工程师与艺术家对于透过数学演算、系统概念与程式逻辑的电脑绘图功能、影像介面与互动控制之可能性模式产生极大的兴趣,并进行创作研究与发表,开始叫做「电脑艺术」(Computer Art),亦称为「电脑衍生艺术」(Computer Generated Art)、「数理运算艺术」(Algorithmic Art)等。历史记载的第一个电脑艺术展则是1965年2月Georg Nees于德国斯图加特科技大学画廊(Studiengalerie der Technischen Hochschule Stuttgart)的展览。
较出名以纯数学程式进行电脑艺术创作,要算是一位伊朗数学艺术家Hamid Naderi Yeganeh 哈米德·纳德里·耶加内。而刚获颁诺贝尔物理学奖其中的英国科学家Roger Penrose(彭罗斯),原来还是当过艺术家、哲学家、文学家的数学家。最着名就是他的「不可能图形」理论,也就是说有些图形只会存在于二维世界,而不会客观存在于现实世界中,例如他创建的「彭罗斯三角」和「彭罗斯贴砖」理论。后者是一类「非周期性」贴砖,它们由若干块组成一套,可以严丝合缝地铺满无穷大的平面,而构成的图案又不会重复。这有赖于彭罗斯将传统用二、三、四、六条对称轴的图形构想思路,转向具有五条对称轴的正五边形,靠它来构建自己的无重复图案。这些五、六十年来的编程艺术创作试验,都没有在中小学美术课堂出现过。
早期利用LOGO语言命令,以海龟(Turtle)机器人画出图形的编程模式,以及现在少儿编程广泛应用的Scratch平台,可以说是简化版的数学编程工具。现在很多科技硬件或附加设备都需要用电脑程式驱动,其中涉及不少高级编程语言。在全球都关注编程素养的发展规划形势下,校内、校外的基础教育有需要建立一种编程认知和学习的成长阶梯,当然最现成是套用那种软、硬件扣连的技术操学习模式,特别在内地有比较长时期推动创客教育的背景。
不过在学习服务的互相竞争环境下,也有一些供应商和企业,将课程和教学设计优化,回归如何让学生理解和掌握编程背后的逻辑概念,获得将电脑编程的核心原理和可迁移的思维方式,用来开展更多的研究和解决生活中更为复杂的问题。例如众多的Scratch平台,和某类开放式图形化编程平台,都是鼓励学生自主探究的工具。而不少学习进程都是从图像、动画、游戏的设计入手,所以对美术老师的课程及教学创新可以提供便利,不妨考虑将这些平台作为学生探究艺术编程的墙洞实验,打做独一无二,个性化创作,改变严重落后的形势。
现代美术教育的编程科技转移
前文提及,现代编程学习(Coding)强调基于生活感受,应用图像、代码,以一种运算/换算思维,让计算机去驱动周边配件或遥控应用;从静态到动态,从数学到物理,反覆试错,去解决预设「任务」。这种编程学习的本质和表现形式,转移到现代美术教育的课程和教学创新,可以有很多应用范畴和教材设计。
初阶式编程的Scratch图形化学习当然可以是切入点,让学生认识和掌握不同造型设定、动态设计原理,马上成为一门动画创作美术课。中阶式Python编程,结合大数据内容,又可以创作各式各样的可视化美术图案设计课。目前已有公司利用大数据的相关图像及文字,用编程按特定主题拼合海报。假如编程连上GPS定位系统,追踪某个遥感装置,例如踩动的单车,成为可以生成预设「地图涂鸦」的网络艺术(Web Art)。而目前普遍将编程结合硬件的模式,也可作多种美术创作形式的尝试,例如以科技结合艺术的LED Art正逐渐普及。几年前市面有一种初阶多媒体动感装置,用发光幕墙连系光与声的DIVOOMAuraBox发售,可以配合蓝牙喇叭用预载app去驱动每个有100粒LED灯的小立方,展现变幻灯饰的Multi-media Art。
从创客或STEM教育出发,将编程绑定机械人、机械臂、无人机、3D打印等,可以转移成为素描、绘画、美术设计、光涂鸦、动画、雕塑、多媒体动感装置等等数码艺术学习和创作表现。近日便在「新媒体艺术平台(MANA)」上,看到一个「全球17件不可错过的机械臂创意应用作品」的介绍,可见用编程驱动硬件,已成为科技赋能现代美术创作的普及形式。美术老师也应该思考一些低成本、低技术配置的创新美术教学。和学校的相关科系或老师合作研发,更可以促进跨学科综合学习的成效。
编程艺术创作媒介的开发
编程学习在各地校内、校外教育日趋重视,美术学科不能缺席,美术生写代码也是建构「共通能力」的体现。但老师们要注意,在综合学习的教学规划上,特别是目前的STEM+教育,要改变常见的偏差,避免美术学科只成为当中艺术或创意成分的点缀,必须探求自身独立的学习目标和学科本位的创作表现。
笔者去年开始关注编程教育,便发现一如上述,在学习本质上和美术教育目标高度契合;在表现形式上两者有很大程度的交叉;在技术转移上有相当大的可行性;在教材发展上足够进行学科为本的延伸,所以一直思考建构编程艺术(Coding in Art)这个创新美术教育课程。
关于一项创新课程如何规划、如何拓展?其中的路径和流程在以前的STEM+教育专题文稿,以及本系列4月18日刊出的《科技赋能现代美术教育的路径》一文已有介绍。但无论是以个人形式,或学科团队形式开发,具备变革的意愿,以及尝试的心态都是必须的。一如学校和老师面对STEM+教育的推动,首先要消除对技术和硬件掌握的心理障碍,编程学习这方面更好办。试想想连幼儿都可以入门的Scratch图形化编程,或micro:bit开源硬件,对老师应该不会有技术难度,况且网上已有众多免费平台及学习视频,只差你开歩尝试。应付初小以下学段也毋须太复杂技术,简单的图形建立及动态表现,已可作为很多美术设计的元素/元件。利用供应商现成的硬件及基本驱动说明也很够用,引导学生尝试定格动画创作亦是有趣的教材。若探究绑定美术工具,例如画笔、颜料、LED灯泡,甚至摄像头,已可让学生自主进行多元实验性创作。高小或初中,可以学习Python编程,研习数据运算和可视化表现,以打好创作复杂数码图像的基础。鼓励学生将已掌握的图像设计、硬件驱动和数据编程混搭应用,更可以组合大量的学习内容。利用团队协作学习,针对生活主题进行个性化表达,更是融合编程素养的教学策略。高中教师能引导利用micro:bit、掌控板(mPython)、Arduino、树莓派等开源硬件去创建各种生活应用方案或美术创作当然很好,但重视e世代对科技探究的热情,提供自主研发的动力,为青少年提供研发资源及创意空间,更是现代教师转型的重点。
墙洞实验的启示,在编程艺术课程研发,仍然深具实际意义。