眼底城事

eyes on place



大學空間相關科系的程式設計與運算思維

文:理查

幾年前筆者曾寫下「巨量資料來臨,我們是否準備好用它作出更好的空間規劃?」一文,認為「程式設計仍非城市規劃設計專業養成的必要內容」。事過境遷,十二年國教的 108 課綱將程式設計列入中學課程,大專院校的程式教育似乎也開始有了進展。教育部自 107 年啟動「推動大學程式設計教學計畫」至 111 年舉辦成果發表會,計畫旨在培育非資訊科系大學生也能具備運算思維與基礎程式設計能力,在教育部新聞稿中宣稱已有超過 60% 大學生修過程式設計課程。但是到了教室現場,對於空間相關科系(包含建築、都市計畫、地景建築、景觀、地理學系等)的學生們,怎麼從主修專業養成的過程中來看待程式設計課程。又課程教師能夠怎麼安排課程內容,幫助學生的的專業素養?

教育部程式教育政策將「運算思維」與「軟體工程」分列(圖片來源:貓都學得會的運算思維

在教育部的程式教育政策中,開始將「運算思維」與「軟體工程」分列。「軟體工程」是指編寫程式碼的技能,除了編寫以外,還要依需求熟悉 C++、Java、Python、PHP、R 等擅長不同領域的程式語言。「運算思維」則是近年才被普遍提及的概念,原初由周以真教授提出。維基百科這樣解釋:「運算思維」是一種面對問題的思考方式,特別是能夠將問題本身和問題的解法以電腦能理解和執行的方式來描述。「貓都學得會的運算思維」線上課程則淺白地解釋,如果碰到問題時,能夠發現到它哪個部分適合或哪個部分不適合用電腦來解決,那麼你就具備運算思維了。

相較於過去大眾對於「程式設計」的印象以「軟體工程」為大宗,「運算思維」被分開談論,有助於解構程式設計這件事在非資訊科系學生眼裡的想像。「運算思維」其實在空間相關科系的專業養成中,要想熟練地運用幾樣工具,包含地理資訊系統(GIS)、建築資訊模型(BIM)、參數化設計(如 Grasshopper)等,都需要讓大腦以運算思維方式運轉,思索待解的議題。

「運算思維」又可以分為四個部分:抽象化、演算法、拆解、轉化(圖片來源:貓都學得會的運算思維

另一個相關的題目,生成式人工智慧的技術恰巧來到突破點。除空間設計領域獲得幫助,在程式設計領域自身也產生轉變,軟體工程(編寫程式碼)可以透過 vibe coding 工具進行。因此,編寫程式碼仍然是運用程式幫助生活或專業的必備能力嗎?線上編寫平台 Replit 的執行長阿姆賈德·馬薩德(Amjad Masad)認為,人們不該再將全數心力鑽研在學習程式設計,而是應該學習如何思考與分解問題、學習如何清晰地溝通。筆者在此認為,馬薩德所指的,似乎就是「運算思維」。

回到主題,程式教育,或是運算思維教育,在空間相關科系的教室現場狀況如何?似乎還沒有見到足夠量的公開討論。本月首先從教師角度摸索,在基礎的程式或運算思維課程,以及在專業上的進階應用課程,現在的情況如何。我們透過關係,聯繫到幾位在大學中傳授程式設計或進階應用課程的教師,進行非同步文字訪談,討論這個疑問:程式設計課程對於空間相關科系的學生而言,能夠如何幫助自身的專業素養?

未來若時機洽當,也希望再接洽更多老師討論想法,並從學生角度、業界角度切入,探討程式技能或運算思維究竟對空間相關科系學生或從業人員的重要性為何,若有想法也歡迎到眼底城事網站文章下方,或臉書貼文下方留言討論。

頁首圖片使用 Gemini 生成,提示詞:in the computer classroom, teacher teaching python, students from urban planning major thinking about how to use coding in their design project assignment

我叫理查,我住地球,熊很可愛。


發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *