跳至內容

Course:115-1/物件導向程式設計

出自江振維的課程知識庫
115 學年度第 1 學期 · 物件導向程式設計
物件導向程式設計 (Object-Oriented Programming)
對象科技藝術大二 · 零程式基礎可修授課教師江振維上課每週四 · 9/10–12/24 共 16 次專案模式一人一物種 · 期末公開展演

課程概述 Course Overview

整門課就是一個專案:「後未來動物園」。人類消失之後,地球會長出怎樣的生物?牠還是碳基生物嗎?靠什麼存活?每位學生培育自己的物種,從世界觀研究、物種設定,一路做到透過程式讓牠活起來,會動、會繁衍、成群、對觀眾有反應,學期末全班的物種聚合成一座動物園公開展演,你以該物種首席研究員的身分導覽,並回答關於牠的任何問題。

課程以里程碑 M0 到 M6 為主軸,搭配每週四上課的 16 週進度表,讓你知道每次上課做什麼、每一站何時截止。每次上課三小時,作品主要在課外推進,課堂時間拿來討論與解決問題,每週都有課前準備(看、讀、寫、帶),老師的講解看大家帶來的問題再補充。零考試、不考程式,評量看三件事:你怎麼思考牠的生命、做得多完整、最後呈現出什麼。方法論主軸是 AI 素養與研究先行工作流:動手前先讓你的 AI 深度研究、比較做法與工具、查證來源,AI 是機率性的,會一本正經地錯,驗證永遠是你的工作。

里程碑 Milestones

里程碑順序固定,下表是本學期的週次、全班同步的站點與各站截止時間。「上課前」指當天 15:30 上課開始之前。

里程碑 主題 交付 站點 週次 截止
M0 裝備 建好自己的 AI 工作流,並親眼看過 AI 出錯 m0-outfit 四件套(會呼吸的圓、AI 出錯截圖、反思與揭露)+AGENTS.md 三條自己的規則 — 第 1–2 週(9/10、9/17) 先不收,什麼時候收另行公告
M1 世界 沒有人類之後的地球,世界觀研究 10/1 世界分享(約三分鐘,形式不限,重點是自己的想法;完整的世界觀研究報告選做) 世界分享與確認 第 3–4 週(9/24、10/1) 10/1 上課分享
M2 物種 牠是什麼、憑什麼在你的世界活下來 物種設定書+會動的雛形+物種簡報(三分鐘) 物種簡報與檢核 第 5–6 週(10/8、10/15) 10/15 上課前
M3 個體 讓牠活起來,行為對得上設定書 活的個體(可執行)+發表簡報(三分鐘) 物種發表會(期中) 第 7–10 週(10/22–11/12) 11/12 上課前
M4 族群 演化與變異,一隻到一群,族群才是生態 族群生態 — 第 11–12 週(11/19、11/26) 12/3 上課前
M5 棲地 給族群一個世界,觀眾透過鏡頭走進來 可互動的棲地展示 — 第 13–14 週(12/3、12/10) 12/17 上課前
M6 開園 後未來動物園公開展演與導覽 公開網址+導覽簡報(三分鐘) 開園 第 15–16 週(12/17、12/24) 12/24 開園前交作品與導覽簡報,反思與 AI 揭露當天 23:59 前補齊

每站一個資料夾,名稱照這七個:m0-outfit、m1-world、m2-species、m3-creature、m4-population、m5-habitat、m6-zoo。每站交付都是四件套:可執行的程式碼、截圖或影片、一百至兩百字反思(自己寫)、AI 揭露欄,反思與揭露欄寫在該站資料夾的 README.md,課前準備與物種日誌寫在該站的 notes.md。報告站(M2、M3、M6)另加簡報 PDF,放進該站資料夾一起交上去;M1 世界分享形式不限,簡報、草圖、筆記、照片都可以。

每週進度 Weekly Schedule

每週的課前準備、課堂上討論的事與下次上課前要推進到哪,完整內容見課程主頁「週進度」。學期內的停課日(中秋節 9/25、教師節 9/28、國慶日補假 10/9、光復節補假 10/26、全校運動大會 11/11)都不在週四,16 次上課照常進行。期末考週本課不考試,開園展演排在 12/24 那堂課。

週 日期 里程碑 主題
1 9/10 M0 開學:認識後未來動物園
2 9/17 M0 裝好工作環境,開始想你的世界
3 9/24 M1 世界研究:第一次完整跑研究迴圈(每個人跟老師個別討論簡報材料)
4 10/1 M1 報告站 世界分享與確認
5 10/8 M2 從世界推出你的物種
6 10/15 M2 報告站 物種簡報與檢核
7 10/22 M3 先設計,再寫碼
8 10/29 M3 讓行為對上設定書
9 11/5 M3 長出天性,準備發表
10 11/12 M3 報告站 物種發表會(期中)
11 11/19 M4 成群、變異、生與死
12 11/26 M4 演化與群體行為
13 12/3 M5 造景,接上感官
14 12/10 M5 觀眾是誰
15 12/17 M6 開園準備與彩排
16 12/24 M6 報告站 後未來動物園開園

資源取得位置 Resources

所有教材與工具的取得管道整理如下,帳號類先辦(GitHub 學生驗證最花時間,最先辦)。

資源 位置 怎麼取得與用途
課程主頁(完整手冊) course.interaction.tw/oop 課程唯一完整手冊:想你的生物、每週進度與課前準備、里程碑逐站步驟與完成清單、演算法圖鑑(19 個造物演算法,附可複製的 AI 起手式)、感測互動、案例庫(36 個,附官方圖與討論題)、AI 公約、開工準備,全部在同一頁
後未來動物園 course.interaction.tw/oop/gallery 全班物種的聚合園區,M6 把物種名、一句話介紹、作品網址貼到課程 Discord,老師更新名單後即入住
作品集 template github.com/chenweichiang/oop-portfolio-template 按「Use this template」開出自己的作品集 repo(選 Public),一人一個整學期用同一個。課堂公約與你的工作流寫在 AGENTS.md(agy、Codex 自動讀,Claude Code 透過 CLAUDE.md 讀到),四件套格式、第一次試跑與簡報上傳都在 README,也有 Codespaces 雲端備援
GitHub Desktop desktop.github.com 免費,用 GitHub 帳號登入,把作品集 repo 下載到筆電(預設在「文件」裡的 GitHub 資料夾),交付時按 Commit 再按 Push origin,全程不用打 git 指令
agy(Google Antigravity CLI) antigravity.google 上課用的終端機 AI 代理,在作品集 repo 資料夾裡啟動,用個人 Google 帳號登入,免費帳號額度每週重置。Mac 與 Windows 的安裝指令與排錯見課程主頁「開工準備」
Google AI Pro(選配) gemini.google NT$650/月,agy 額度常常不夠再訂,訂了之後額度改成每五小時重置。已經有 Claude Pro 或 ChatGPT 帳號的同學不用再訂,改用 Claude Code 或 Codex,經濟上不方便的同學直接找老師
課程 Discord 「物件導向程式設計」頻道 公告、卡點與交 repo 網址都在這裡,上課前一天把卡點用截圖加一句話貼上來。看不到頻道就在課堂上跟老師或助教說
p5.js 網頁編輯器 editor.p5js.org 免費,用 GitHub 帳號直接登入,草稿存雲端,任何電腦打開都在
GitHub 學生驗證 github.com/education 免費,用學校信箱與學生證申請,審核需要數天到數週,最先辦。驗證後 Codespaces 額度升級為每月 180 core-hours
Nature of Code natureofcode.com 演算法圖鑑的主參照書,免費線上閱讀
ml5.js 官方文件 ml5js.org M5 感測互動(臉、手、身體偵測)的官方文件,瀏覽器本機推論,影像不上傳

作業繳交與 GitHub

交付一律走 GitHub 作品集 repo,老師從 repo 看你的一切進度,重點五條(完整步驟見課程主頁「繳交」一節):

  1. repo 保持公開(public),M0 把 repo 網址貼到課程 Discord 的「物件導向程式設計」頻道,交一次就好,之後每站老師直接看 repo。
  2. 交上去才算交付:檔案只放在自己電腦或 Codespace 裡老師看不到,在 GitHub Desktop 按 Commit 再按 Push origin,到 repo 網頁親眼看到檔案出現才算數,commit 時間戳就是交付紀錄。
  3. 不會用終端機沒關係:GitHub Desktop、Codespace(Source Control 按 Commit 再按 Sync Changes)或 repo 網頁 Add file → Upload files 都可以,交出來的東西一樣。
  4. 照截止時間交:各站截止時間見上方里程碑表,M2 到 M5 都是當天上課前。M1 在 10/1 上課分享自己的世界,形式不限,不收完整的研究報告;M0 先不收,什麼時候收另行公告。
  5. 簡報一律匯出 PDF 再上傳(GitHub 能直接預覽 PDF,pptx 只能下載),放進該站資料夾,檔名用里程碑代號加「-簡報.pdf」(例如 m2-species/m2-簡報.pdf)。網頁上傳單檔上限 25MB,超過就把簡報裡的影片抽出來另外放。

AI 公約

五條,全文與細則見課程主頁,也寫在作品集 template 的 AGENTS.md:

  1. 研究先行:動手前先讓你的 AI 深度研究,開源、穩定、熱門者優先,合成答案只當路標,關鍵事實回原始出處確認。
  2. 驗證是你的工作:AI 給的每段程式碼、每個事實,跑過、查過才算數。
  3. 完整揭露:每份交付註明工具、日期、prompt 摘要、採用範圍,誠實揭露永遠不是問題。
  4. 把牠說完整:最後你要能說出牠活在怎樣的世界、為什麼長成這樣、你做了哪些選擇,以及牠呈現出什麼樣子。
  5. 反思自己寫:反思、設計理由、研究報告的結論要是你自己的想法,AI 只能幫你調整結構與文句。