提問者:理查
受訪者:徐逸祥副教授
前言:在教育部持續推動程式教育的當下,為了摸清楚程式設計課程在空間相關科系的學程中,能夠扮演什麼角色,眼底城事陸續聯絡幾位在大學中任教的老師,希望談談程式設計課程如何幫助學生提升主修領域的專業素養(延伸閱讀前導文:大學空間相關科系的程式設計與運算思維)。
非資訊類組的大學科系,大多首選 Python 作為學生的入門程式語言。在都市規劃科系的學生,可說是地理資訊軟體 ArcGIS 或 QGIS 的重度使用者,這兩套軟體帶有許多 Python 函式庫,也讓使用者能透過程式碼介面操作 GIS 分析。若以適當方式傳授 Python 技能,應是有助於學生們在核心實習課程的表現。這次訪談邀請到逢甲大學都市計畫與空間資訊學系的徐逸祥副教授。徐教授在系上開設「智慧物聯網與城市發展」和「空間大數據與環境模擬專論」課程,結合 Python 程式語言與生成式 AI 工具,讓學生練習操作影像辨識、資料蒐集與清理、迴歸分析等工具。這篇訪談將聊聊在都資系中,這樣的程式設計課程,如何幫助學生操作日益增多的地理圖資與都市環境資料。
Q1.首先想請教,「智慧物聯網與城市發展」和「空間大數據與環境模擬專論」兩門課程在系上的修課地圖中,各自扮演什麼角色?
例如「智慧物聯網與城市發展」的選修課程,有和資工系的老師合開,讓學生透過生成式 AI 輔助撰寫人臉辨識、物件辨識、空品感測器資料蒐集與清理等。「空間大數據與環境模擬專論」則是碩一的選修課程,也有類似的做法,讓大家透過程式語言操作機器學習做迴歸分析,預測未來的氣溫等環境因子變遷趨勢。
Q2.「智慧物聯網與城市發展」和「空間大數據與環境模擬專論」兩門課程的授課內容,能如何幫助都資系的核心課程「都市計畫與空間資訊實習」、「環境規劃與設計專論」?或是廣泛以 Python 工具的應用來說,它能如何幫助其他核心課程?
因為現在 GIS 的軟體也可以用 Python 開發,所以學生大多知道可以大量或批次做一些重複性的動作,以增加處理資料的效率。我想增加資料處理的效率,也是學習程式設計一個很重要的目的。例如目前系上有和國土測繪中心簽署合作協議,因此圖資可以透過 API 介接的方式取得,然而要將圖資拼湊成一張很完整的土地使用分區圖,需要重複、逐筆地將地籍資料讀取、存檔,再合併,此時程式設計就派得上用場。我們透過提供之前學長姐已經寫好的程式碼,讓他們先透過修改部分程式碼來完成任務,用土地使用分區來討論土地使用計畫與現況有差異的地方,做為設計範圍的選取參考。
另一個例子是微型感測器感測歷年溫度、濕度、空氣品質的資料,可以讓我們掌握研究範圍的環境變遷概況,但這樣的原始資料並不是圖資,而是只有記錄測站代號、座標和測量到的數值。因此我們讓學生先透過 ArcGIS 軟體產生核心的 Python 程式碼後,再藉由生成式 AI 引導,將其變成為可產生具時間序列的溫度、濕度、空氣品質分布地圖,讓學生能應用在大學部「都市計畫與空間資訊實習」、碩士班「環境規劃與設計專論」等規劃實作課程中,做為研究範圍和基地設計範圍選取的依據。

Q3.此處提到利用 Python 介接 API 抓取資料、整理感測器資料,再進行圖資比對或量化分析,這背後的運作原理應是一套演算法,或是「資料處理步驟」。想請教在課堂上是用什麼方式讓學生「讀懂」學長姐留下的程式碼的演算邏輯?或是如何讓學生理解當下正撰寫的程式碼的演算邏輯?
第一階段我們透過讓學生一段一段程式碼執行,看資料或變數有什麼變化。第二階段則嘗試大膽調整部分參數,再看看程式如何變化。第三階段則挑戰自己增加新的處理步驟,或請教生成式 AI 如何優化程式碼。舉例來說,原先學長姐可能是把微型感測器所有資料納入分析,但考量資料可能有異常值的問題,學弟妹可以每年嘗試不同的資料清理方法,看哪一種方式可以保留較可信賴的資料。
Q4.在「撰寫程式時藉由生成式 AI 引導來整理資料」,應該是近幾年發展出來的教學模式?請問能否就這方面作更多的描述(例如:學生的操作過程、使用的軟體、和生成式 AI 對話方向等等,或其他值得提及的特點)?
透過生成式 AI 輔助資料分析和程式開發確實是這幾年發展的教學模式,並且漸漸普及。而教學的方式,其中一個例子是我們要將有測站座標和空氣品質的表格資料,不但要在 QGIS 或 ArcGIS 軟體裡面展示,也可以在網頁上以 OpenStreetMap 為底圖供使用者縮放瀏覽的電子地圖,並且請學生們嘗試用生成式 AI 輔助完成。
很多學生一開始的反應這是直接把完整的問題送給 AI,請 AI 解題。不過通常一個課題很難用單一個提問直接得到解答。我認為一開始重要地是讓學生試著和 AI 聊天,說出任務需求。這時有些人發現,為何他怎麼說,AI 就是不懂,真的很難跟 AI 聊;但又有些人可以很快就跟 AI「混熟」了。接著學生可以再透過分組,交換和 AI 聊天的心得,經過幾次學生之間的分享,大家就會知道該怎麼和 AI 聊天,利用最精準的指令做出想要的東西了。
回到一開始的課題,也許要學會自己先拆解步驟。例如,先抽取出空品資料想分析的區域,接著去掉無效值或極端值,再以空間內插的方式展繪為熱力圖,最後再發布為 HTML 型式的網路地圖。倘若真的無法自己拆解步驟,也可以試著請 AI 先幫忙拆解步驟,再依 AI 的建議逐步完成目標。
Q5.除前述在整理資料及視覺化製圖後,引為研究範圍或設計範圍參考以外,你認為 Python 作為數位工具,是否在「都市計畫與空間資訊實習」課程中,對同學們有其他直接或間接的幫助(例如更細緻尺度的環境分析、更大規模的資料應用、思考方式的轉變等等)?
接續前面提及,學生可以透過 Python 介接內政部國土測繪中心的圖資,而且是最新、之前不易取得的 GIS 圖資,再加上愈來愈豐富的遙測開放資料,以及愈來愈親民的雲端運算平台。藉此能夠分析最新的土地覆蓋變化,環境的時間及空間變化愈來愈能細緻的掌握,不用被動等待別人生產的資料。學生自己就可以動手生產多樣性的資料,也能從多樣的資料交叉分析,獲得之前意想不到的資訊。
值得一提的是,我們會希望學生能逐步體會什麼是 AI 可做、什麼是得靠人類來做。例如對於規劃和設計者來說最有價值的是透過深度訪談和創意思考來了解需求者的想法,這是目前生成式 AI 很難做到的事情。因此未來更大的目標,是希望能融入 CDIO 模式、PBL 問題導向式學習、設計思考等教學方向,從終端使用者的角度來分析課題最核心的需求和痛點,如此才能將資料變成大多數人認為的黃金。

Q6.截至目前的教學經驗中,你認為都資系的學生在學習使用程式設計工具時,所面臨最大的困難或困境是什麼?
大部分都資系的同學對於程式設計是陌生且有點害怕的。在前面提到的「智慧物聯網與城市發展」和「空間大數據與環境模擬專論」兩門課中,我儘量以較簡單的應用案例,再加上有生成式 AI 輔助,因此同學們大多能完成他們的作品。不過沒有做前後測試,所以也不確定他們學完之後有沒有真的就比較不怕程式了。就私下與幾位同學聊過,學生普遍上對於要挑戰更複雜的案例,或是要自行增修更多的程式碼,基本上較缺乏自信。
但有一些曙光出現,雖然學生普遍對寫程式較沒自信,卻有愈來愈多人願意修有教程式的相關課程,或是對很多老師諮詢學習程式的問題,也相信程式撰寫未來會是基本技能之一。未來程式教學的困難和困境,一定會愈來愈能克服。
Q7.就你的觀察,在課堂中使用生成式AI幫助撰寫程式碼的教學方式,和以往逐行敲下程式碼的教學方式比較之下,是否讓學生在學習時更有成就感,不懼怕在未來的實習課程中應用?
生成式AI幫助撰寫程式碼,確實讓學生學習效率增加,對程式的懼怕程度降低。我個人還是很看好後續實習課中的資料分析,一定會愈來愈精采。不過我也明顯感受到,師生都對於時代洪流下不得不接受新的教學方式和學習方法,否則看著很多人都會新的技術,但自己不會,一樣會有新的壓力和挫折感。因此,現階段還不敢說學生學習一定都有成就感,也許更重要的工作是讓學生能學會在快速變化的時代中,調適自己的心態,甚至教師自身也是如此。
另外就我目前的觀察,當同學們知道可以用生成式 AI 寫程式時,會更用於嘗試處理更複雜的資料,這也代表對於自己之前沒有接觸過,或老師還沒有機會交到的東西,他們更可以不用仰賴老師的指導,就先請教生成式 AI,所以整體的資料處理能力是有提升的。也因此在實習課等綜合應用課程在資料彙整的速度有增加。不過我個人當然會期望得更高,因為現在是資料彙整的速度變快,但還沒有到創意發想的速度變快,有時候比較難的還是不同資料之間要勇於嘗試做疊圖和交互分析,來創造出自己有趣的資訊,這才是踩在生成式AI的肩膀上繼續往高階的創意思考前進,也希望學生能夠體會到這一點,讓自己成為生成式 AI 不可取代的人。
徐逸祥副教授現任逢甲大學都市計畫與空間資訊學系並兼任系主任,研究專長主要涵蓋遙感探測、航空攝影測量、地理資訊系統、深度學習結合空間統計於環境模擬。研究主軸為「時空大數據分析」和「環境模擬」,也就是收集各種由儀器或人所貢獻之數據,在找出數據所隱含的時間與空間特徵後,結合環境模擬模式,預測未來各種現象之發展趨勢。研究課題則涵蓋環境監測與規劃、糧食產量推估、防災等,熟悉從衛星影像、無人機影像、空氣盒子、社群網站等取得各種來源之大數據,在釐清各種環境因子之時間及空間關聯性後,跨領域應用在韌性宜居智慧城市、都市熱島、文化園區可行性評估等領域。
發佈留言