[]所包住的文字都是要替換的文字,例如[概念]要替換成你想學習的概念,如光合作用、流體力學或是電車難題等
永遠的測試版 林穎俊的教學記錄
ChatGPT for Education 整理了印度大學生如何使用ChatGPT讀書、學習新技能的方法
以ClaudeCode打造你的第二大腦
晚點再來寫比較詳盡的Step by Step教學
AI素養的第一堂課
這週在資訊課上,我想跟孩子們談談一個重要的問題「為什麼我們不能讓AI幫我們寫作業」
Claude推出了Skill
從數感到程式感,AI世代的程式教育想像
過去我曾帶著我們的孩子嘗試Vibe Coding。孩子會很興奮的展示他的作品說:「老師你來玩玩看,我用ChatGPT做的貪吃蛇遊戲」但是當蛇吃到東西時,分數卻還是0。孩子修改了好幾次卻找不出問題來,最後只能重新生成一個新的貪吃蛇。但卻有小學生可以跟AI協作寫出一個上架Apple Store的App。
因為AI的出現,讓寫程式變的更簡單更容易上手,但從小遊戲到App這中間的孩子要補足的是哪些東西?
我們先從「程式設計(Programming)」開始說起,到底什麼叫做程式設計?以前的我會覺得就程式設計是學程式語言,所以學程式就是要先學程式語法跟邏輯,然後學了半年不知道要幹嘛就放棄了。
但程式設計不僅是撰寫程式碼告訴機械應該如何運行,更像是運用程式碼解決特定問題的具體方式,不僅要撰寫程式碼。更像是要理解問題根據問題設計解決方案後,運用程式碼解決這個問題。
就像手機興起之後,攝影不再是專業攝影師所獨有的能力,甚至連小學生都可以是攝影師,透過手機記錄生活的點滴甚至據此賺錢。
就如同攝影工具的進步讓拍照變的更普及化,但現在程式設計的工具因LLM而有了劇烈的變化。我們可以想見的所謂「程式工程師」這個概念將會比目前坐在電腦前的程式工程師更為不一樣,或許將從開發最新LLM的AI工程師到透過自然語言跟AI對話的普通人,都將會是AI世代的程式工程師。
而在這樣的未來來說,所謂好的程式工程師特質跟所需的能力到底是什麼?哪些能力是是與AI協作的程式工程師依然重要的能力?
Maggie Johnson(google.org)提出了一個概念Code Sense(以下稱做程式感),她覺得這是學生在未來軟體工程領域所需的新技能,將其比喻為數學中的「數感(Numeracy)」。就像因為計算機的發明,讓學生覺得學習抽象的公式跟複雜的運算沒有用,所以開始推動數感。數感通常指的是對數字跟其關係有良好的理解,並可以將這這種理解應用於解決現實生活的問題。
舉例來說一個數感不好的人就算用計算機算半天結果搞錯單位或少按一個0卻沒有感覺。而一個沒有程式感的人可能沒有注意到安全漏洞、程式錯誤卻不知道怎麼修改或者直接把個資暴露在外等。就像小朋友寫了一個可以讓同學投票的網站,結果才發現每個人都可以重複投票,甚至根本沒有紀錄票數的機制。
而CSTA(美國電腦科學教師協會)跟TeachAI也在《2025年AI時代電腦科學教育指引(Guidance on the Future of Computer Science Education in an Age of AI (2025))》將Code Sense(程式感)定義為對計算機程式底層設計、過程及系統關聯性的概念性理解,以及分析、模擬和預測程式行為的心智能力(聽起來很饒口,不知道在說什麼),我自己的解釋是比較像是你要對程式運作有把握,大概知道這段程式碼在做什麼,各部分的函式是如何連在一起,當執行程式的時候,會依序執行哪些步驟,其中的變數怎麼變化,最後會輸出怎麼樣的結果。當要修改某個模組或函式會對程式造成什麼影響,當錯誤發生的時候,可以知道怎麼解決問題及提升程式效率表現等。甚至可以從更高階的角度來看到程式在系統中是如何解決問題考量其適切性。
在這個指引當中也強調就算AI已經可以撰寫程式碼,孩子還是要建立對程式的理解。只是在撰寫程式的過程,不再是從頭到尾親自撰寫,是將思考偏重於如何評估程式碼。所以學習Programming依然重要,因為唯有孩子透過親自撰寫和Debug才有辦法建立對程式碼如何運作的理解。
而這種理解就是所謂的Code Sense,指的是孩子在AI輔助的程式開發中依然以人為主,能夠判斷AI的程式碼是否合理且安全,並具備修改跟編輯程式碼的能力。對於在資訊課程該如何整合AI進行教學,這本指引也給出以下幾個建議:
AI提供回饋:學生輸入他們程式碼及程式碼的說明,並從AI獲得程式設計與寫作的回饋
與AI一起寫程式:用 ChatGPT 或 Copilot,讓他們體驗類似Pair programming程式設計的過程,同時促使他們提升自己的思考能力。
從數學教育學習:
建立多樣的表徵:用AI生成程式碼之後,請AI以小學生也能懂得方式解釋程式碼或利用流程圖說明程式執行過程,並比較不同表徵(representations)及其優缺點。
探索不同的方式:學生可以使用AI創建不同的程式,以解決相同的問題,然後將它們彼此及人類產生的解決方案進行比較。
解釋AI的程式碼:學生可以分析、描述跟解釋AI生成的程式碼
但指引中也提到電腦科學教師對於在教室中使用AI有以下的擔憂:AI將代替學生思考、學生將過度仰賴AI工具跟學生將失去基本技能。這些擔憂可以透過教授基礎的程式設計技能跟對AI的批判性使用來減輕。這樣可以讓學生將AI作為輔助,維持學生問題解決的能力並理解其背後的邏輯。
所以在課堂實踐中,我們應該創造機會讓學生閱讀跟用自己的話解釋程式碼、預測程式的流程、發現並改正錯誤、運用不同的方式讓學生理解程式的概念以幫助學生有效運用AI輔助撰寫程式的方式。
舉例來說可以讓學生體驗類似終極密碼的任務,程式會隨機生成一個數字,學生可以輸入一個數字,程式會判斷學生輸入的數字是否比隨機數字大或小,以此縮小範圍直到猜中為止。首先老師可以帶著學生體驗遊戲進行玩個幾輪之後,當學生已經建立對於遊戲進行的理解之後。可以讓學生試著用中文寫偽代碼(pseudocode)寫下遊戲的大概想法,再用流程圖表達大概的流程。
答案 = 隨機(1..100)
輸出 = "請輸入你想猜測的密碼"
如果 使用者輸入 > 答案:
輸出 = "比答案大"
否則: 輸出 ="比答案小"
老師再以AI生成程式碼,讓學生閱讀程式碼找出可能的錯誤或是可以改進的地方。我還會問孩子「為什麼這裡要用迴圈」「如果我輸入的不是數字是國字的三十六」會怎樣透過這樣的活動讓學生知道AI可以生成程式碼但是還是需要具備Code Sense的人來檢核。也透過這樣的活動讓學生理解他們要具備排序的基本原理跟程式如何進行才能判斷程式的正確性,才能跟AI溝通如何改進。
而Code Sense只是基本,隨著孩子年齡的增長跟能力的進步他們還要發展出Code Taste,不是只是能動,而是更適切解決當下問題的程式。就像會拍照的人很多,攝影大師卻很少。我們不是只要培育出比AI更會寫程式的孩子,而是培養出下一代的AI原住民更能與AI協作,運用AI解決問題的孩子。
中山國小六年級資訊課程規劃
中山國小六年級資訊課程規劃
這學期的資訊課程架構終於比較完整了。我想教的不僅僅是Vibe Coding,更希望在讓孩子透過 AI 工具撰寫程式的過程中,同時培養他們的 AI 素養與解決問題的能力。
之前我曾把AI輔助撰寫程式比喻為爵士即興(Vibe Coding)及撰寫樂譜(PRD),而在真正的爵士樂中,即興是需要對基本和弦有深刻理解後才能巧妙運用。而在這個課程中,真正的「基本和弦」不是程式能力,而是 AI 素養與運用思考框架解決問題的能力。
就像爵士樂手需要理解和弦進行,學生需要學會如何定義問題及運用AI解決問題的能力。 因此整體流程會比以往更繁瑣一些,預計需要約 20 節課來完整實施。因為我不只希望孩子學會「如何用 AI 工具寫程式」,更希望他們能在運用 AI 的過程中,理解什麼時候該用 AI、什麼時候不能用 AI,如何清楚描述問題,如何評估 AI 的輸出內容,並確保自己與 AI 的互動是負責而且透明的。
為了達成這個目標,我選擇導入設計思考的雙鑽石架構來規劃整體教學,期待孩子最後可以設計一個最受中山孩子歡迎的小遊戲。
一、Vibe Coding:快速產出經點遊戲原型
在課程一開始,我會讓孩子用「Vibe Coding」的方式,用最口語化的 Vibe Coding 快速做出一個最簡單、能動的作品,可能是貪吃蛇、賽車、井字遊戲或是俄羅斯方塊等。這個階段的目的,就是讓他們先感受到什麼叫做好玩的遊戲,比較彼此的prompt跟作品。
二、同理階段:理解需求與使用者
接下來,我會引導學生進入設計思考的「同理」階段。他們需要透過 Google 或 AI 去搜尋、比對資料,找出更多的範本,並彼此訪談。由於同學本身就是彼此的使用者,他們要討論:一個「好玩」的遊戲需要哪些要素?什麼設計最能吸引人? (我很期待看到孩子們如何定義「好玩」,以及他們會從彼此身上發現什麼需求。)
三、定義階段:聚焦真正需求
在大量蒐集與討論後,學生會進入「定義」階段。他們需要將前面收集到的想法整理、排序,聚焦於受眾最關心的需求。這時候,他們必須學會放棄一些不必要的元素,專注於能真正創造價值的部分。 這個「斷捨離」的過程可能是最困難的部分之一,我猜孩子們會很捨不得放掉自己喜歡的功能。這也是一個很好的學習機會,理解「少即是多」的設計哲學。
四、發想階段:盡情創造與批判
當目標清楚後,學生就能開始發想各種大膽的點子。他們可以拼命生成、參考案例,並進行彼此交流與討論。什麼叫好的遊戲?哪些創意只對自己有吸引力?哪些創意能打動所有人?
五、打造原型:根據PRD打造原型
這一步,學生需要寫下他們的 PRD。我會提供簡化的模板的方式來引導他們思考。內容包括:作品要解決的問題、需要的功能與技術、受眾是誰、流程大概會是什麼。這是一個讓他們將發散的想法收斂為具體計畫的過程。 當 PRD 完成後,才會引導學生正式運用 AI 來打造第一個原型。
這個課程設計還在持續設計改變中,許多環節需要實際執行後才能知道效果如何,就像我還沒想清楚要讓孩子什麼階段可以用AI,我甚至只有讓孩子在寫程式的時候才能用AI,其他同理、定義跟原型都不行,因為我有點擔心學生在不熟悉的領域很容易會被AI帶著走而失去自己找出答案的成就感。但這個Timing我也還在拿捏,我想會因應每般的狀況不同,視情況中斷教學跟孩子討論為什麼要用 AI?如果不用 AI,我們可以怎麼做?這種即時互動的反思,或許比事先設定的規則更有趣。
但我相信每一次的課程都是動人的即興合奏,期待我跟孩子彼此激盪出的火花。
但我承認還有很多東西想不清楚,歡迎大家提問或補充想法。
-
Anthropic團隊透過Claude Code 改造他們的工作流,讓開發人員跟非技術人員可以處理複雜專案、自動化流程,並跨越過去限制其生產力的技能鴻溝。 他們深入採訪了以下團隊 資料基礎設施 產品開發 安全工程 推論 資料科學與視覺化 產品工程 成長行銷(Growth Mark...
-
作者: 林穎俊 常聽到很多老師不想用LINE,因為LINE的方便性使得老師上班時間延伸到5點下班之後,舉凡孩子的大小事,甚至婆媳之間的事情,家長也想好好跟老師聊一聊。常讓老師覺得為什麼我下班了還要當家長的垃圾桶? 而且相信大家也有聽過同事說過。家長覺得孩子在...
-
自去年開始,我開始嘗試教孩子一門結合 Python 與 AI 的課程。一開始叫做「AI Assisted Python Programming」,但現在或許叫做「Vibe Coding」會是更貼切的名稱。這門課的想法是運用 Python 作為基礎程並結合 AI 作為教學助力,幫助...





