py程式設計(三)課程網站
課程資源

資源與下載

各週需要的檔案、模板與參考解答。學生練習包可以直接從下方下載;教師版解答與參考解答不放在網站上,只由授課老師保管。

下載練習包

下載後解壓縮,用 Antigravity 開啟資料夾。每一課的派課室線下練習卡上也有同樣的下載按鈕。

練習包內容下載
專案工具包提案書、時程、週誌、測試紀錄、Demo、回顧(Word 與 Markdown)toolkit.zip
Antigravity 課程套件AGENTS.md、三個 skill、自建 skill 範本antigravity-kit.zip
W1 Vibe Coding 入門grades_ai版.py、scores.csv、測試起始檔、學習單s3-1-1.zip
W2 六步建站法PROJECT 模板與範例、提示詞模板、學習單s3-1-2.zip
W3–5 吃貨評分站foodie.db、schema.sql、seed.sqls3-2-1.zip
W6–8 記帳網站需求說明書、expenses_範例.csvs3-3-1.zip
W10–11 社團報名平台需求說明書(含示範帳號與活動)s3-4-1.zip
W12–13 Next.js 吃貨站Postgres 版 schema、seed、.env.examples3-5-1.zip
W14–15 AI 功能ai.py 起始檔(3 個 TODO)、假客戶端測試、.env.examples3-6-1.zip

練習包由 python tools/build_downloads.py 從 practice/ 自動產生,資料夾名稱含「教師版解答」「參考解答」的內容一律不會打包。修改練習檔後重新執行一次,再建置與推送即可。

模板(每個專案都會用到)

檔案位置(課程資料夾)用途
PROJECT_模板.mdpractice/s3-1-2_六步建站法/空白的專案說明書
PROJECT_範例_吃貨評分站.mdpractice/s3-1-2_六步建站法/寫好的完整範例(第 4 週改名成 PROJECT.md 使用)
提示詞模板.mdpractice/s3-1-2_六步建站法/六個步驟的提示詞與驗收清單
專案工具包(6 份 Word)practice/專案工具包/提案書、時程、週誌、測試紀錄、Demo、回顧
Antigravity 課程套件practice/antigravity-kit/AGENTS.md 課程規則、三個 skill(存檔、推上 GitHub、上線前檢查)、自建 skill 範本。說明見 Git × GitHub × Vercel

各週檔案

週次檔案位置
W1grades_ai版.py、scores.csv、empty.csv、test_grades_起始.py、學習單practice/s3-1-1_VibeCoding入門/
W2學習單、上方三個模板practice/s3-1-2_六步建站法/
W3foodie.db(12 間店、49 則評論)practice/s3-2-1_吃貨評分站/資料/
W4–5schema.sql、seed.sqlpractice/s3-2-1_吃貨評分站/資料/
W6–8需求說明書、expenses_範例.csv(80 筆)practice/s3-3-1_記帳網站/
W10–11需求說明書(含示範帳號與活動)practice/s3-4-1_社團報名平台/

吃貨評分站的店名、地址、暱稱與評論全部是虛構的,店名刻意用 Python 名詞諧音(派森、縮排、布林……),避免變成對真實店家的評價。

教師版參考解答

內容位置驗證狀態
吃貨評分站完整網站(Flask + SQLite)practice/s3-2-1_吃貨評分站/參考解答/foodie/17 項 pytest 測試全過(Flask 3.1)
記帳網站(Flask,SQLite/Postgres 雙資料庫)practice/s3-3-1_記帳網站/參考解答/ledger-web/14 項測試 × 2 種資料庫 = 28 項全過(PostgreSQL 18)
社團活動報名平台(登入、權限、名額)practice/s3-4-1_社團報名平台/參考解答/club-signup/10 項測試 × 2 種資料庫 = 20 項全過
吃貨評分站 Next.js 版practice/s3-5-1_Nextjs吃貨站/參考解答/foodie-next/10 項單元測試全過;瀏覽器實測與 Flask 版答案一致(Next.js 15.5)
吃貨評分站+AI 評論摘要practice/s3-6-1_AI功能/參考解答/foodie-ai/25 項測試全過(以假的 AI 客戶端測試,未實際呼叫 Gemini)
W1 成績程式修正版與測試practice/s3-1-1_VibeCoding入門/教師版解答/測試全過,平均 75.7
cd foodie
python -m venv .venv
.venv\Scripts\activate          # Mac:source .venv/bin/activate
pip install -r requirements.txt pytest
flask --app app init-db
flask --app app run --debug      # 打開 http://127.0.0.1:5000
python -m pytest -q              # 17 passed

延伸閱讀