這題我會

文章

高一升高二暑假自學程式入門:6 週路線圖

高一升高二的暑假是 8-9 週的黃金時段,剛好夠你從零開始學會寫程式。這篇文章給你一份具體的 6 週學習路線,搭配時間配置、推薦資源、實作專案,並回答「自學能不能直接去考 APCS」的疑問。

如果你是高一升高二的學生,正在思考「這個暑假該不該開始學程式」,這篇文章是寫給你的。

我們不會跟你說「3 天學會 Python」這種騙小孩的話。學會寫程式真的需要時間,但也沒有想像中那麼難——6 週認真投入,足夠讓你從零基礎到能寫出有意義的小專案

如果你已經想清楚要走資工路線,可以順便看 APCS 個人申請組是什麼資工系的電腦該怎麼選

為什麼是「6 週」?

8 週的暑假扣掉 2 週的休息、家庭活動、模擬考準備,真正能專注學習的有 6 週。每天投入 2-3 小時,總時數約 80-120 小時

業界共識是「從零到能寫小專案需要 100 小時左右」。所以這個 6 週路線是貼著現實設計的,不是 fantasy。

一、語言怎麼選?

Python 還是 C++?

PythonC++
入門難度⭐⭐ 低⭐⭐⭐⭐ 高
適合自學✅ 是⚠️ 容易卡死
對 APCS 加分🟡 觀念題 ok,實作題 OK 但不是主流✅ 主流選擇
工作 / 業界廣度✅ 廣(AI、後端、自動化)🟡 偏系統 / 嵌入式
成就感速度快(10 行能做事)慢(要 50 行才能做事)

我們的建議:先學 Python。即使你最後想拼 APCS、想拼資工系,入門用 Python 最不容易放棄。等你掌握了「程式邏輯」(變數、迴圈、條件、函式),再切到 C++ 處理「指標、記憶體」等系統概念,會輕鬆 10 倍。

Python 還是 JavaScript?

如果你 100% 確定只想做網頁 / app,可以直接學 JavaScript。但 90% 高中生入門推薦 Python,因為:

  • 語法更接近「自然語言」
  • 出錯時錯誤訊息比較好懂
  • 寫資料分析、AI、爬蟲都很順
  • 學完 Python 再學 JavaScript 只要 1-2 週,反過來則需要 3-4 週

二、6 週路線圖

Week 1:環境設定 + Python 基礎語法

目標:能在自己的電腦上寫出 print("Hello World"),並理解變數、運算

每天 2-3 小時

任務清單:

  • Day 1:裝 Python 3.12 + VS Code + Git
  • Day 2:學會用 terminal 跑 .py 檔案
  • Day 3:變數、字串、數字、基本運算
  • Day 4:input() 跟 print(),寫一個簡單計算機
  • Day 5:if / elif / else
  • Day 6:for / while 迴圈
  • Day 7:複習 + 寫一個「猜數字遊戲」

推薦資源:

Week 2:list / dict / 函式

目標:能處理資料集,會自己定義函式

任務:

  • Day 1:list(陣列)操作 — append, pop, slice, sort
  • Day 2:dict(字典)— key/value, 巢狀結構
  • Day 3:tuple, set, string method
  • Day 4:def 函式 — 參數、回傳值
  • Day 5:函式進階 — 預設參數、*args, **kwargs
  • Day 6:scope 跟 global
  • Day 7:寫一個「成績計算器」(輸入 5 科分數,輸出平均、最高、最低)

Week 3:檔案 + 例外處理 + 第一個小專案

目標:能讀寫檔案,能 handle 錯誤

任務:

  • Day 1:open() 讀檔
  • Day 2:寫檔
  • Day 3:CSV 處理(用 csv module)
  • Day 4:try / except / finally
  • Day 5:os, pathlib
  • Day 6-7:第一個小專案:寫一個「待辦事項管理器」,能新增、刪除、儲存到檔案

Week 4:物件導向(OOP)+ 模組

目標:能用 class 組織程式碼,懂得用 import

任務:

  • Day 1:class 是什麼
  • Day 2:屬性跟方法
  • Day 3:init, self
  • Day 4:繼承
  • Day 5:import / from / 自己寫 module
  • Day 6-7:重寫第一個專案,這次用 OOP 設計

OOP 是新手最容易搞混的概念。不要強迫自己一次理解——先寫能 work 的程式,OOP 觀念會慢慢自己浮現。

Week 5:第一個「真的有用」的專案

目標:能用學到的東西做一個解決自己問題的工具

選一個你會用到的:

選項 A:自動整理桌面檔案 寫一個 Python script 掃描你的桌面,按照副檔名(.jpg, .pdf, .txt)自動分類到不同資料夾。

選項 B:英文單字背誦小工具 從 CSV 讀單字,隨機出題,記錄答對/答錯次數,下次優先出錯的。

選項 C:天氣查詢 CLI 工具Open-Meteo API(免費無需 key),輸入城市名查當天天氣。

選項 D:Discord bot 自動回覆 用 discord.py 寫一個簡單的 bot,能回覆「!hi」「!天氣」之類的指令。

任何一個都行,重點是做完整的 from scratch project。你會在過程中遇到無數 bug,這就是學習。

Week 6:演算法 + APCS 觀念入門

目標:理解時間複雜度,會解 LeetCode Easy 題目

任務:

  • Day 1:時間複雜度 O(n) 是什麼
  • Day 2:排序演算法 — bubble, selection, insertion
  • Day 3:搜尋 — linear, binary
  • Day 4:解 LeetCode Easy 題(從「Two Sum」開始)
  • Day 5:解 LeetCode Easy 題
  • Day 6:APCS 模擬題(觀念題 + 簡單實作)
  • Day 7:總複習 + 寫一篇「我這 6 週學了什麼」的筆記

APCS 入門資源:

三、學習方法 tips

1. 不要「看完教學再開始寫」

「教學不夠完整」是新手最大的迷思。邊看邊寫才會真的學進去。看 30 分鐘教學就應該寫 30 分鐘程式碼。

2. 錯誤訊息是好朋友

看到 IndexError: list index out of range 不要慌——讀懂錯誤訊息是 50% 的程式設計能力。Google 錯誤訊息永遠是第一步。

3. 善用 AI 但不要直接抄答案

2026 年的學生已經有 ChatGPT、Claude、Copilot 可用。用法重要

  • ✅ 「我寫這段程式為什麼會出 IndexError?解釋給我聽」
  • ✅ 「這個 algorithm 用 Python 怎麼實作?解釋每一行」
  • ❌ 「直接幫我寫一個 OOO 的程式」(這樣你學不到)

把 AI 當「永遠不會煩的家教」,請它解釋而不是請它代寫。

4. 每週寫一篇 dev log

記錄這週學了什麼、卡在哪、怎麼解決。3 個月後回頭看會很有成就感,也是面試時最好的素材。

5. 找一個 study buddy

跟同學或社群朋友一起學。卡關時可以互相 debug,更不容易放棄。

四、6 週後你應該會什麼?

如果照這份路線走完,你應該能:

  • ✅ 用 Python 寫出 200-500 行的小程式
  • ✅ 看懂別人的 Python 程式碼(基本結構)
  • ✅ 知道怎麼用 Google 跟 Stack Overflow 解 bug
  • ✅ 用 git commit / push 把程式碼放上 GitHub
  • ✅ 解 LeetCode Easy 等級的題目
  • ✅ 知道下一步該學什麼(資料結構?網頁?爬蟲?)

注意:你還不會 OOP 設計大型系統、不會多執行緒、不會深度學習。這些是大學階段才會深入。

五、6 週後該繼續學什麼?

依興趣方向選:

想做 Web 開發 → JavaScript + HTML/CSS → React → Next.js 想做 Mobile App → Swift(iOS) 或 Kotlin(Android)或 React Native 想做 AI / 資料科學 → numpy → pandas → scikit-learn → PyTorch 想拼 APCS / 競賽 → C++ → 演算法 → 資料結構 → 競賽題

如果你不確定,繼續寫小專案。每個專案都會逼你學一點新東西,慢慢就找到方向。

結論

自學程式」不是天才的特權。需要的是規律的時間投入 + 不放棄遇到 bug 的耐心

6 週認真學完之後,你會比同學早一年知道「程式設計」是什麼。等到大學選系,你已經有 informed decision 的本錢——你會知道自己真的喜歡 vs 想像中喜歡

最後一個提醒:不要追求完美。第一個專案永遠很醜,第二個會好一點,第十個你回頭看第一個會覺得好笑。先完成,再完美


資料來源

  1. Python 官方教學
  2. Codecademy — Learn Python 3
  3. Coursera — Python for Everybody
  4. APCS 官方平台
  5. Zerojudge — APCS 歷屆題
  6. LeetCode — Top 100 Liked Questions
  7. VS Code Python 教學
  8. Open-Meteo API — 免費天氣 API
  9. discord.py 文件
  10. Stack Overflow Developer Survey 2025
嗨!我是糯米,陪你一起閱讀!🍌
Nomie Mascot