「程式設計與應用」課後心得
撰文/電影系 秦依雯
圖1 、作品名稱:阿蔔WAKE UP。
掃QR Code看影片
110-2學期,我選修了通識課「程式設計與應用」課程。在這之前對於程式設計的認識幾乎可以說是接近零,唯有那少許的認識是來自於一位身為程式設計師的室友。雖然不太清楚具體的工作流程長什麼樣子,不過經常看到他從接案、寫程式,然後就在發現問題和解決問題間度過了漫長的時光。當時在一旁看到這些看似亂碼的英文字母和數字行列的自己,心想我這輩子應該不可能和這些外星語搭上什麼關係。這正是通識課程的魅力,讓同學在求學期間不斷探索與學習自己不相關的領域,甚至從中得到某種啟發和突破。在選課期間,聽聞同學推薦了此課程,想象著如果自己可以接觸和認識未知的領域好像也是個不錯的體驗,便一頭栽進了這個程式設計的世界。而沒想到的是,對程式完全不了解的自己,竟在這無心插柳的狀況下,得到了出乎預料的收穫,而對於程式設計的興趣和好奇也隨著課程的發展開始萌芽。
還記得第一堂課便簡單介紹了程式的基礎知識。講師(小智教練)分享了歷年學長姐的創意期末作品,有的是一些可愛的動畫遊戲,也有一些有趣的互動裝置,而這些背後都是由編寫程式得到的效果。當下感到驚奇,原來程式設計可以做到的事情其實很多元,完完全全顛覆了我一開始對於程式設計的錯誤想像。程式給人帶來一種複雜且難懂的感覺,它由許多英文字母、符號、數字組成。當這些都被放在一起的時候,放眼望去可能像是一堆無法理解的外星語。但仔細從第一行、第一個字慢慢開始理解,釐清其中的原理及操作,便可慢慢理解其中的奧秘。而每一行、每一字都互相影響,息息相關。畫家和畫紙之間需要顏料和繪畫工具,演奏家和樂器之間也需要演奏技巧,而程式設計師與電腦之間則需要運算思維,將人的想法轉換成電腦可以理解的語言,而這人與電腦之間的聯繫則是需執行程式設計。隨著科技的進步與發達,程式早已大範圍融入我們的生活。像是遙控器、遊戲、手機等電子產品,不知不覺中早已成為了我們不可或缺的必需品。對於程式有更多了解,也可說是加深了自己對於生活環境的認識。
在這堂課程當中,有趣的是,除了學習到程式相關專業知識以外,自己在自主學習能力,表達能力,創意及邏輯思考都有所提升,而這或許也和上課方式有所關聯。這堂課的特別之處是課程以「線上」且「非同步」的授課方式進行。每當到了上課時間,同學便會收到當週的教學影片,並進行自主學習。而一開始我以為以線上方式進行只是為了對付疫情(雖然一方面是這樣沒錯),不過最主要的是這堂課,也只有以線上方式進行才最為完整,最好學習與消化。原因是程式設計課程不像一般文史課一樣,只要在實體課程上聽過講師講解一遍便得以吸收。程式設計更需要花非常長時間的重複複習,追根究底的把每個基礎和邏輯都好好理解與熟悉。基礎越扎實在往後就擁有更多的心力專注在創作上,及更多想法得以實現。也因此,線上的課程影片一直不斷地被重播複習。難度更高的更不用說是次數,光是當週的觀看累積時數有的都長達8小時以上,還不包括不在線的練習。如果是實體課程的話,可能一個走神就錯過了很多細節,也就跟丟在茫茫的程式世界裡。當然線上課程的好處在於可以隨時回放且複習外,也間接培養了自主學習與時間管理的能力,如何在短時間內安排學習時間,複習,並且準時繳交作業。
除了自主學習以外,這堂課有一個特別的交作業方式,就是每一週的作業都要錄製成影片繳交,內容包含自我介紹,講解/介紹作業的內容,及發問。而從一開始性格極為內向,擁有攝影機恐懼的自己,錄製一個自我介紹影片都要重拍三十幾次以上,在接近期末的時候,相機一打開,自我介紹與講解都已經很輕易的就可以脫口而出,一氣呵成。這個進步只有在經過長時間的練習才可看到。雖然對一般人來說是很簡單的事,可是對我來說,表達自己一直是一個人生中很大的課題。學著說出自己心裡的想法和理念,釐清自己的邏輯,表達自己的觀點和看法作為討論。而自我表達能力在往後不管是職場生活,或者其他課程的提案,報告,甚至是人際關係上都有所幫助。這種交作業方式也很清楚地看得出來自己是不是真正明白作業的內容,如果是腦袋卡著說不出半點解釋,我也就只好再重新複習直到明白為止。
「程式設計與應用」這堂課程最主要的兩大學習界面是簡易版的「scratch」和進階版的「p5.js」。對於一個零基礎的初學者來說程式好像一個很恐怖且很難懂的領域,正巧這堂課就是專為零基礎的學員所設計,所以搭配了「scratch」這個積木式且上手程度絕對是國小生都沒問題的編寫程式平台。界面的風格上也是非常可愛且充滿色彩,在學習的過程就會變得格外輕鬆及有趣。而在熟悉「scratch」之後,再轉換學習「p5.js」以一行一行英文字母編寫的程式語言便更容易理解了。兩者搭配交互學習,而在期末製作的時候只需要二擇一來編寫程式,這樣下來也減少了許多學習壓力。這堂課的教學方向更趨向於新媒體藝術創作及互動裝置,所以除了學習程式以外,想象力及創意能力也在這裡有所發揮。在期末的時候小智教練給了每個人一個叫做「makey makey」的小型電路板及鱷魚夾,要我們利用這些東西,在完全沒有任何的限制下創作出自己想要的創意裝置,並且自己動手編寫程式。
在期末創意提案之前,我和小智教練討論了自己對於期末專題創作的想法。還記得那時候抱著天馬行空的想象,向小智教練訴說自己將會製作出一部技術層面上相對困難實現的特殊遊戲。小智教練希望可以把重心放在創作上,製作出相對有溫度、具互動性的獨特裝置,它可以是很簡單的卻很生動或有趣的。而非將長時間花在處理複雜的遊戲操作程式上,到最後可能連成品都趕不出來。因此,我的簡易版期末互動裝置《阿蔔WAKE UP》就此誕生。在製作上真的非常簡單輕鬆,不過卻也得到了很多很好的回饋。我的期末專題是與一根蘿蔔互動的裝置。它是一根感性又有脾氣的蘿蔔,而每當它觸碰指定物品形成迴路的時候就會說出一些帶有情緒的話語。於是我設定了三個機關,第一是和刀子的觸碰,第二是OK繃的觸碰,第三是和水的觸碰。由於蘿蔔、刀子和水本來就可以導電並且觸發電路板,所以我只在OK繃上加工,在中間貼上宿舍僅有可導電的巧克力鋁箔包裝紙作為導體,所有物品就可以和蘿蔔形成完整的迴路並且觸發電板發出聲音。當然這背後最重要的就是程式設計,透過編寫程式指定哪個物件觸碰蘿蔔時會發出哪個指定音檔。這簡單的互動裝置就此完成。
在上完一個學期的程式設計課程之後,仿佛在自己的世界開啟了另一扇門。在某次參加校外的影像設計工作坊時,意外聽到講師提起了一個可開發跨平台電動遊戲的遊戲引擎「Unity」,而操作這個軟體的背後也需要擁有程式設計的基礎知識。仿佛半年前還聲稱自己應該不會和程式扯上任何關係的自己又開始和程式產生聯繫。在往後參加一些新媒體藝術展覽時,看著那些裝置不禁都會開始好奇,這個程式是怎麼被執行的想法。因為接觸了程式設計之後,很意外的也開始慢慢對新媒體藝術感到興趣。在往後也開始想選修一些新媒體藝術相關領域課程,嘗試去探索那些和程式設計擁有鏈接的事物。
「程式設計與應用」OCW平台課程連結