Course:115-1/物件導向程式設計
外觀
115 學年度第 1 學期 · 物件導向程式設計
物件導向程式設計 (Object-Oriented Programming)
課程概述 Course Overview
整門課就是一個專案:「後未來動物園」。人類消失之後,地球會長出怎樣的生物?牠還是碳基生物嗎?靠什麼存活?每位學生培育自己的物種,從世界觀研究、物種設定,一路做到透過程式讓牠活起來,會動、會繁衍、成群、對觀眾有反應,學期末全班的物種聚合成一座動物園公開展演,你以該物種首席研究員的身分導覽,並回答關於牠的任何問題。
課程以里程碑 M0 到 M6 組織,沒有週進度表,完成里程碑就是完成專案;零考試、不考程式,評量看三件事:你怎麼思考牠的生命、做得多完整、最後呈現出什麼。方法論主軸是 AI 素養與研究先行工作流:動手前先讓你的 AI 深度研究、比較做法與工具、查證來源,AI 是機率性的,會一本正經地錯,驗證永遠是你的工作。
里程碑 Milestones
課程以里程碑組織,不以週次切分:進度以里程碑為準,可以超前,落後以 studio time 一對一救援。下表的參考時段依清大 115 學年度行事曆換算(開學 9/7、16 週學期),讓你隨時知道自己走到哪,其中確認、檢核、發表會、開園是全班同步的站點,其餘時段都是參考節奏。
| 里程碑 | 主題 | 交付 | 閘門 | 參考時段 |
|---|---|---|---|---|
| M0 裝備 | 建好自己的 AI 工作流,並親眼看過 AI 出錯 | 出錯實驗紀錄+工作流初版 | — | 第 1–2 週(9/7–9/18) |
| M1 世界 | 沒有人類之後的地球,世界觀研究 | 世界觀研究報告+世界簡報(三分鐘) | 確認 | 第 2–4 週,10/2 前完成確認 |
| M2 物種 | 牠是什麼、憑什麼在你的世界活下來 | 物種設定書+會動的雛形+物種簡報(三分鐘) | 當場檢核 | 第 5–6 週(10/5–10/16) |
| M3 個體 | 讓牠活起來,行為對得上設定書 | 活的個體(可執行)+發表簡報(三分鐘) | 物種發表會(期中) | 第 7–10 週,發表會約第 10 週(11/9–11/13) |
| M4 族群 | 演化與變異,一隻到一群,族群才是生態 | 族群生態 | — | 第 11–12 週(11/16–11/27) |
| M5 棲地 | 給族群一個世界,觀眾透過鏡頭走進來 | 可互動的棲地展示 | — | 第 13–14 週(11/30–12/11) |
| M6 開園 | 後未來動物園公開展演,導覽與答辯 | 公開網址+導覽簡報(三分鐘) | 開園 | 第 15–16 週,開園於期末考週(12/21–12/24,本課零考試,以展演取代) |
每站交付都是四件套:可執行的程式碼、截圖或影片、一百至兩百字反思(自己寫)、AI 揭露欄;報告站(M1、M2、M3、M6)另加簡報檔,放進該站資料夾一起 push。
資源取得位置 Resources
所有教材與工具的取得管道整理如下,開學前先辦帳號類(GitHub 學生驗證最花時間,最先辦)。
| 資源 | 位置 | 怎麼取得與用途 |
|---|---|---|
| 課程主頁(完整手冊) | course.interaction.tw/oop | 課程唯一完整手冊:里程碑逐站步驟與完成清單、演算法圖鑑(19 個造物演算法,附可複製的 AI 起手式)、感測互動七工具、案例庫、AI 公約、開課準備,全部在這一頁 |
| 後未來動物園(作業牆) | course.interaction.tw/oop/gallery | 全班物種的聚合園區,M6 把物種名、一句話介紹、作品網址交給老師即入住 |
| 作品集 template | github.com/chenweichiang/oop-portfolio-template | 按「Use this template」開出自己的作品集 repo,一人一個整學期用同一個;Codespaces 雲端開發環境、Claude Code 登入 SOP 與排錯全在 README,學校還原電腦也不受影響 |
| p5.js 網頁編輯器 | editor.p5js.org | 免費,用 GitHub 帳號直接登入,草稿存雲端,任何電腦打開都在,全程的畫布 |
| GitHub 學生驗證 | github.com/education | 免費,用學校信箱與學生證申請,審核需要數天到數週,開學第一週就辦;驗證後 Codespaces 額度升級為每月 180 core-hours |
| Claude Pro | claude.ai | 工作流主力,自行訂閱約 US$20/月,M0 建工作流就要用,建議開學前兩三週內完成,學期訂三四個月即可;經濟上不方便的同學改用免費保底方案,直接找老師 |
| Gemini 免費層 | gemini.google.com | 免費保底,個人 Google 帳號即可,額度足以完成所有專案要求 |
| Nature of Code | natureofcode.com | 演算法圖鑑的主參照書,免費線上閱讀 |
| ml5.js 官方文件 | ml5js.org | M5 感測互動(臉、手、身體偵測)的官方文件,瀏覽器本機推論,影像不上傳 |
作業繳交與 GitHub
交付一律走 GitHub 作品集 repo,老師從 repo 看你的一切進度,重點四條(完整步驟與圖解見課程主頁「繳交」一節):
- repo 保持公開(public),M0 把 repo 網址交給老師,交一次就好,之後每站老師直接看 repo。
- push 上去才算交付:檔案只放在 Codespace 或自己電腦裡老師看不到,push 後到 repo 網頁親眼看到檔案出現才算數,commit 時間戳就是交付紀錄。
- 不會用終端機沒關係:Codespace 左側 Source Control 按 Commit 再按 Sync Changes,或直接在 repo 網頁 Add file → Upload files 拖檔案上傳,效果相同。
- 簡報一律匯出 PDF 再上傳(GitHub 能直接預覽 PDF,pptx 只能下載),放進該站資料夾、檔名照「站名-簡報.pdf」(例如 m1-world/m1-簡報.pdf);網頁上傳單檔上限 25MB,超過就把簡報裡的影片抽出來另外放。
AI 公約
四條,全文與細則見課程主頁:
- 研究先行:動手前先讓你的 AI 深度研究,開源、穩定、熱門者優先,合成答案只當路標,關鍵事實回原始出處確認。
- 驗證是你的工作:AI 給的每段程式碼、每個事實,跑過、查過才算數。
- 完整揭露:每份交付註明工具、日期、prompt 摘要、採用範圍,誠實揭露永遠不是問題。
- 把牠說完整:最後你要能說出牠活在怎樣的世界、為什麼長成這樣、你做了哪些選擇,以及牠呈現出什麼樣子。