Week 16 課程教材 - 0611 改為排序效能實驗室(timeit 分階段專題) - #1074
Merged
Merged
Conversation
- 新增 0611-sort-lab.md:四階段專題(timeit 飾詞 → bubble/quick/merge 排序評估 → 加速實驗(Cython/演算法優化)→ matplotlib 實驗圖表) - 新增 0611-sort-starter/:test_timing.py、test_sorts.py 紅燈骨架 - 每階段強制 test:(紅)→ feat:(綠)commit,共八個,納入作業成績 - 移除舊 0611-starter(進位計數);0611-solo-drill.md 保留為備用教案, 改為自行建立工作目錄 - 更新 week-16 README 與 in_class/README 的 6/11 連結與時程(6/17 前補完) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
本 PR 將 Week 16 的 6/11 課堂內容由「進位計數獨立演練」調整為四階段專題「排序效能實驗室」,並同步更新課程文件連結與 starter 材料,讓學生能以 TDD 流程完成 @timeit、排序實作、效能量測、加速與視覺化。
Changes:
- 更新 Week 16 與 in_class README:6/11 改為「排序效能實驗室」,並加入 Stage 3–4 的課後補交與 6/17 截止說明。
- 新增 6/11 專題教案
0611-sort-lab.md與新的 starter0611-sort-starter/(Stage 1/2 測試紅燈骨架)。 - 移除舊的
0611-starter/(進位計數 starter),並將0611-solo-drill.md調整為不提供 starter、保留為備用自練教案。
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| weeks/week-16/README.md | 更新 6/11 課堂主題與評分/時程資訊,反映排序效能專題安排 |
| weeks/week-16/in_class/README.md | 更新 6/11 連結與課堂流程描述,並標示舊教案為備用 |
| weeks/week-16/in_class/0611-starter/test_carry_counter.py | 移除舊進位計數測試骨架(舊 starter 一部分) |
| weeks/week-16/in_class/0611-starter/README.md | 移除舊進位計數 starter 說明文件 |
| weeks/week-16/in_class/0611-sort-starter/test_timing.py | 新增 Stage 1 @timeit 測試紅燈骨架 |
| weeks/week-16/in_class/0611-sort-starter/test_sorts.py | 新增 Stage 2 三種排序共用測試紅燈骨架(subTest 設計提示) |
| weeks/week-16/in_class/0611-sort-starter/README.md | 新增新專題 starter 使用方式與規格速查 |
| weeks/week-16/in_class/0611-sort-lab.md | 新增 6/11 四階段專題完整教案(產出、時程、評分與規格) |
| weeks/week-16/in_class/0611-solo-drill.md | 將備用教案改為「不提供 starter、從空目錄建立」的指引 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| > 本週兩題均進入期末考 **B 區候選池(不公開)**。 | ||
| > B 區範圍是 6/3 ~ 6/18 的週三、週四課堂題——**缺這兩堂,B 區就少一半。** | ||
| > 6/10 題目進入期末考 **B 區候選池(不公開)**;6/11 專題的 timeit 與排序屬 in-class 範圍。 | ||
| > B 區範圍是 6/3 ~ 6/18 的週三、週四課堂題——**缺課,B 區就少一塊。** |
| ## starter 檔 | ||
| ## 工作目錄 | ||
|
|
||
| 本教案不提供 starter,自己建立(這也是考場上的第一步): |
Comment on lines
+97
to
+98
| 從空的 `test_carry_counter.py` 開始:先補 ≥3 個 test case(含 edge case 與例外案例)、 | ||
| 跑紅燈、commit,再建立 `carry_counter.py`。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
內容
把 6/11 課堂從「進位計數獨立演練」改為四階段專題「排序效能實驗室」:
@timeit計時飾詞(last_elapsed/records)@timeit進行 benchmark(固定 seed、重複取平均、輸出results.json)sorted()列為 baseline,Cython 化或演算法優化擇一,加速版須通過同一組正確性測試流程要求
test:(紅燈)→feat:(綠燈)兩個 commit,共八個,git log --reverse可稽核檔案異動
0611-sort-lab.md、0611-sort-starter/(test_timing.py / test_sorts.py 紅燈骨架,已驗證全紅)0611-starter/(進位計數);0611-solo-drill.md保留為備用教案🤖 Generated with Claude Code