「程式设计与应用」课后心得
撰文/电影系 秦依雯
图1 、作品名称:阿卜WAKE UP。
扫QR Code看影片
110-2学期,我选修了通识课「程式设计与应用」课程。在这之前对于程式设计的认识几乎可以说是接近零,唯有那少许的认识是来自于一位身为程式设计师的室友。虽然不太清楚具体的工作流程长什么样子,不过经常看到他从接案、写程式,然后就在发现问题和解决问题间度过了漫长的时光。当时在一旁看到这些看似乱码的英文字母和数字行列的自己,心想我这辈子应该不可能和这些外星语搭上什么关系。这正是通识课程的魅力,让同学在求学期间不断探索与学习自己不相关的领域,甚至从中得到某种启发和突破。在选课期间,听闻同学推荐了此课程,想象着如果自己可以接触和认识未知的领域好像也是个不错的体验,便一头栽进了这个程式设计的世界。而没想到的是,对程式完全不了解的自己,竟在这无心插柳的状况下,得到了出乎预料的收获,而对于程式设计的兴趣和好奇也随着课程的发展开始萌芽。
还记得第一堂课便简单介绍了程式的基础知识。讲师(小智教练)分享了历年学长姐的创意期末作品,有的是一些可爱的动画游戏,也有一些有趣的互动装置,而这些背后都是由编写程式得到的效果。当下感到惊奇,原来程式设计可以做到的事情其实很多元,完完全全颠复了我一开始对于程式设计的错误想像。程式给人带来一种复杂且难懂的感觉,它由许多英文字母、符号、数字组成。当这些都被放在一起的时候,放眼望去可能像是一堆无法理解的外星语。但仔细从第一行、第一个字慢慢开始理解,厘清其中的原理及操作,便可慢慢理解其中的奥秘。而每一行、每一字都互相影响,息息相关。画家和画纸之间需要颜料和绘画工具,演奏家和乐器之间也需要演奏技巧,而程式设计师与电脑之间则需要运算思维,将人的想法转换成电脑可以理解的语言,而这人与电脑之间的联系则是需执行程式设计。随着科技的进步与发达,程式早已大范围融入我们的生活。像是遥控器、游戏、手机等电子产品,不知不觉中早已成为了我们不可或缺的必需品。对于程式有更多了解,也可说是加深了自己对于生活环境的认识。
在这堂课程当中,有趣的是,除了学习到程式相关专业知识以外,自己在自主学习能力,表达能力,创意及逻辑思考都有所提升,而这或许也和上课方式有所关联。这堂课的特别之处是课程以「线上」且「异步」的授课方式进行。每当到了上课时间,同学便会收到当周的教学影片,并进行自主学习。而一开始我以为以线上方式进行只是为了对付疫情(虽然一方面是这样没错),不过最主要的是这堂课,也只有以线上方式进行才最为完整,最好学习与消化。原因是程式设计课程不像一般文史课一样,只要在实体课程上听过讲师讲解一遍便得以吸收。程式设计更需要花非常长时间的重复复习,追根究底的把每个基础和逻辑都好好理解与熟悉。基础越扎实在往后就拥有更多的心力专注在创作上,及更多想法得以实现。也因此,线上的课程影片一直不断地被重播复习。难度更高的更不用说是次数,光是当周的观看累积时数有的都长达8小时以上,还不包括不在线的练习。如果是实体课程的话,可能一个走神就错过了很多细节,也就跟丢在茫茫的程式世界里。当然线上课程的好处在于可以随时回放且复习外,也间接培养了自主学习与时间管理的能力,如何在短时间内安排学习时间,复习,并且准时缴交作业。
除了自主学习以外,这堂课有一个特别的交作业方式,就是每一周的作业都要录制成影片缴交,内容包含自我介绍,讲解/介绍作业的内容,及发问。而从一开始性格极为内向,拥有摄影机恐惧的自己,录制一个自我介绍影片都要重拍三十几次以上,在接近期末的时候,相机一打开,自我介绍与讲解都已经很轻易的就可以脱口而出,一气呵成。这个进步只有在经过长时间的练习才可看到。虽然对一般人来说是很简单的事,可是对我来说,表达自己一直是一个人生中很大的课题。学着说出自己心里的想法和理念,厘清自己的逻辑,表达自己的观点和看法作为讨论。而自我表达能力在往后不管是职场生活,或者其他课程的提案,报告,甚至是人际关系上都有所帮助。这种交作业方式也很清楚地看得出来自己是不是真正明白作业的内容,如果是脑袋卡着说不出半点解释,我也就只好再重新复习直到明白为止。
「程式设计与应用」这堂课程最主要的两大学习界面是简易版的「scratch」和进阶版的「p5.js」。对于一个零基础的初学者来说程式好像一个很恐怖且很难懂的领域,正巧这堂课就是专为零基础的学员所设计,所以搭配了「scratch」这个积木式且上手程度绝对是国小生都没问题的编写程式平台。界面的风格上也是非常可爱且充满色彩,在学习的过程就会变得格外轻松及有趣。而在熟悉「scratch」之后,再转换学习「p5.js」以一行一行英文字母编写的程式语言便更容易理解了。两者搭配交互学习,而在期末制作的时候只需要二择一来编写程式,这样下来也减少了许多学习压力。这堂课的教学方向更趋向于新媒体艺术创作及互动装置,所以除了学习程式以外,想象力及创意能力也在这里有所发挥。在期末的时候小智教练给了每个人一个叫做「makey makey」的小型电路板及鳄鱼夹,要我们利用这些东西,在完全没有任何的限制下创作出自己想要的创意装置,并且自己动手编写程式。
在期末创意提案之前,我和小智教练讨论了自己对于期末专题创作的想法。还记得那时候抱着天马行空的想象,向小智教练诉说自己将会制作出一部技术层面上相对困难实现的特殊游戏。小智教练希望可以把重心放在创作上,制作出相对有温度、具互动性的独特装置,它可以是很简单的却很生动或有趣的。而非将长时间花在处理复杂的游戏操作程式上,到最后可能连成品都赶不出来。因此,我的简易版期末互动装置《阿卜WAKE UP》就此诞生。在制作上真的非常简单轻松,不过却也得到了很多很好的回馈。我的期末专题是与一根萝卜互动的装置。它是一根感性又有脾气的萝卜,而每当它触碰指定物品形成回路的时候就会说出一些带有情绪的话语。于是我设定了三个机关,第一是和刀子的触碰,第二是OK绷的触碰,第三是和水的触碰。由于萝卜、刀子和水本来就可以导电并且触发电路板,所以我只在OK绷上加工,在中间贴上宿舍仅有可导电的巧克力铝箔包装纸作为导体,所有物品就可以和萝卜形成完整的回路并且触发电板发出声音。当然这背后最重要的就是程式设计,透过编写程式指定哪个物件触碰萝卜时会发出哪个指定音档。这简单的互动装置就此完成。
在上完一个学期的程式设计课程之后,仿佛在自己的世界开启了另一扇门。在某次参加校外的影像设计工作坊时,意外听到讲师提起了一个可开发跨平台电动游戏的游戏引擎「Unity」,而操作这个软件的背后也需要拥有程式设计的基础知识。仿佛半年前还声称自己应该不会和程式扯上任何关系的自己又开始和程式产生联系。在往后参加一些新媒体艺术展览时,看着那些装置不禁都会开始好奇,这个程式是怎么被执行的想法。因为接触了程式设计之后,很意外的也开始慢慢对新媒体艺术感到兴趣。在往后也开始想选修一些新媒体艺术相关领域课程,尝试去探索那些和程式设计拥有链接的事物。
「程式设计与应用」OCW平台课程连结