課程革新-從程式設計到AI思維帶領非資工學生邁向AI實作新世代
執行單位:資訊工程學系
上上下下左右左右BA是上世紀Konami. Inc所創造的電玩密技之一,很大程度上減少了玩家摸索系統的學習成本,不需要經過無數的試錯學習就能快速的體驗到遊戲內涵的娛樂感。而近年所流行的生成式AI如同一種廣泛應用的密技一般,透過模仿過去人類以有的作品與行為模式,大幅縮減各領域先備知識的學習成本,在短時間內自動生產出一個結果,讓使用者享受到AI自動化技術應用在不同領域的紅利。
然而生成式AI目前廣為為人知的錯誤就是「幻覺問題」,所生成的作品有時缺乏邏輯論證與領域知識,僅為了能接續人們所給予的「提示」,滿足人們獲得作品成果的短期成就感,往往會編篡許多似是而非的程式碼內容誤導使用者;這些似是而非的AI產品或自動化工具往往會誤導非資訊工程領域使用者在使用上陷入奇怪的邏輯迴圈,或是根據錯誤的執行答案而做出偏頗的決策。使用者往往會覺得哪裡怪怪但是又不知道該如何修改的窘迫,追根究底與使用者對於程式設計邏輯、語言以及生成式AI特性不熟所造成。
因應教育部十二年國教課程綱要中科技領域的比重提升,東海大學自從108年起先以「邏輯思維與程式設計」的大一通識必修課程銜接新生對於程式語言能力的培養,經過多年順應市場需求以及教學工具的轉變,輾轉調整成「AI思維與程式設計」,考量生成式AI的活躍應用,該課程在113學年度起將被調整為「程式思維與生成式AI」。課程的內容著重於基礎程式邏輯的培養與生成式AI的應用。
生成式AI的推出,在沒有程式語言的背景下,非資訊領域使用者也能快速的生成自動化的AI工具。但如前述的「幻覺問題」,使用者很難核實這些AI工具的具體使用成效,以及該如何讓他做的更好,又會陷入如前述試錯般,學習成本疊加的過程中。一樣都是學習成本,我們該如何降低這些使用成本? 對於非資訊領域的生成式AI使用者而言,是將不熟悉的程式設計知識導入自身的專家經驗,本質上需要檢驗的部分,仍是程式設計邏輯的合理性,自身的專家經驗是否有被誤用。因此該課程自113學年起會大幅調整原有的授課內容,強調了邏輯思考之於程式設計導入不同領域的重要性,並嘗試將這部分課程引入生成式AI的使用。從過去的教學經驗顯示,許多接受特定程式語言課程(如python、Java、Blocky)的非資訊領域使用者,不再接觸的多年後雖然不記得語言的撰寫方式,但對於程式架構以及邏輯仍保有相當程度的理解。因此在原有的程式學習上,我們調整了故有資工領域的教學方式,並非土法煉鋼側重特殊語法的記憶以及各種寫作技巧,而是透過流程圖概念對待解問題的精確描述;這很大程度的考量到非資訊領域使用者在生成應用上可能面對過去完全沒有接觸的程式語言,但這些語言都會遵循資訊領域所認可的程式開發思維;而使用者的工作便是在相同程式設計邏輯下解析應用問題,確保生成式AI不會出現根本性的錯誤,展現自身專家領域知識導入AI技術的一種可行性以及人力成本上的精簡。
因此在113年起的「程式思維與生成式AI」,前半學期(1-8週)將透過流程圖著重教授程式設計的思考邏輯,並將一個應用問題分解步驟化並結合生成式AI產出可執行的程式工具;如下圖即為一個經典案例,如果使用者直接詢問生成式AI,確實可以得到一個可執行的方法,但不保證執行時是否會出現錯誤(例如惡性輸入非數字),在教授理工科系學生時我們必須額外解釋”防呆”和”試錯”的重要性。但對於非資訊領域的學生,所要求的是穩妥可執行的產品,因此將透過運算思維剖析成程式設計的分解步驟,清楚描述應用需求,生成式AI即會產生具有防止惡意輸入的方案。同時,學生在逐行執行時也能理解自己哪一個步驟出了問題需要修改對應的程式碼。

後半學期(9-16週)將透過生活化問題建立生成式AI工具,例如(網路聲量分析工具、金融股票預估工具),讓學生學會如何在自己的專業領域裡面找尋應用AI自動化技術的可能,以及如何使用生成式AI實現。例如在下圖網路聲量分析工具的範例中,學生透過變數的特性發現生成式AI所產生的程式碼是含有錯誤時;在逐行的執行中可以發現變數的異常,需要重新獲取正確的標籤。在與生成式AI的互動修改過程中,學生並不需要重新學習一套完整的新程式語言,但是按照程式邏輯設計依然能夠引導生成式AI所產生新的程式碼,並自行安插在原有的程式架構中,達到自主學習以及開發的目的。





