Skip to content

關於 APCS

什麼是 APCS?

**APCS(Advanced Placement Computer Science,大學程式設計先修檢測)**是由國立臺灣師範大學資訊工程學系主辦的程式設計能力檢測。這項檢測旨在評量學生的程式設計能力,為大學端提供一個客觀的參考指標,同時也讓學生能夠了解自己的程式設計能力水平。

為什麼要考 APCS?

🎓 升學優勢

  • 特殊選才管道:許多頂尖大學資訊相關科系提供 APCS 組的特殊選才管道
  • 甄選入學加分:在個人申請與繁星推薦中,APCS 成績可作為重要的備審資料
  • 展現專業能力:證明你具備程式設計的實際能力,而非僅有理論知識

💼 職涯發展

  • 能力證明:APCS 成績是程式設計能力的客觀證明
  • 企業認可:部分企業在招募時參考 APCS 成績
  • 自我檢視:了解自己的程式設計能力,規劃學習方向

考試形式與內容

APCS 檢測分為兩個項目:

📝 程式識讀(觀念題)

時間:75 分鐘
題數:20 題選擇題
題型

  • 程式碼追蹤(Code Tracing)
  • 演算法與資料結構概念
  • 時間複雜度分析
  • 程式設計基本概念

計分方式:每題 5 分,滿分 100 分

重要更新:自 114 學年度起,程式識讀新增 Python 題本,考生可選擇 C/C++ 或 Python 題本作答。

💻 程式設計實作

時間:150 分鐘(2.5 小時)
題數:4 題實作題
評分方式:採用線上評測系統(Online Judge),每題根據通過的測資數量給分

題目特性

  • 第 1 題:基礎題,著重於正確理解題意與基本邏輯
  • 第 2 題:中等難度,需要使用適當的資料結構
  • 第 3 題:進階題,需要設計有效率的演算法
  • 第 4 題:挑戰題,考驗高階演算法能力與優化技巧

支援語言:C、C++、Java、Python

級分對照表

APCS 實作題採用 5 級分制,各級分對應的能力指標如下:

級分能力描述建議學習內容
1 級分能理解問題並撰寫基本程式碼基礎語法、簡單的輸入輸出
2 級分能使用基本資料結構解決問題陣列、字串、基本迴圈與條件判斷
3 級分能使用函式與進階資料結構函式、二維陣列、前綴和、差分陣列
4 級分能運用關鍵演算法與資料結構堆疊、佇列、遞迴、排序、二分搜尋
5 級分能設計並實作複雜演算法圖論、動態規劃、貪心法、分治法

本課程對應

本網站的「APCS Python 摩天大樓」課程完全對應上述級分系統:

  • 模組一:對應 1-2 級分
  • 模組二:對應 3 級分
  • 模組三:對應 4 級分
  • 模組四:對應 5 級分

報名資訊

📅 考試梯次

APCS 每年舉辦 3 次檢測:

  • 第一梯次:1 月
  • 第二梯次:6 月
  • 第三梯次:10 月

💰 報名費用

  • 單項報名(僅考程式識讀或實作):約 NT$ 400-500
  • 雙項報名(程式識讀 + 實作):約 NT$ 700-900

🔗 官方連結

評量架構

程式識讀評量項目

  1. 變數與資料型態
  2. 運算子與運算式
  3. 輸入與輸出
  4. 選擇結構
  5. 重複結構
  6. 陣列
  7. 函式
  8. 遞迴
  9. 排序與搜尋
  10. 資料結構(堆疊、佇列、樹)
  11. 演算法複雜度分析

程式設計實作評量項目

  • 基礎程式設計能力(1-2 級分)

    • 變數、資料型態、運算子
    • 條件判斷與迴圈
    • 一維陣列操作
  • 進階資料處理能力(3 級分)

    • 字串處理
    • 二維陣列與矩陣
    • 函式與模組化
  • 演算法設計能力(4 級分)

    • 堆疊與佇列
    • 遞迴與回溯
    • 排序與二分搜尋
  • 高階演算法能力(5 級分)

    • 圖論演算法(DFS、BFS)
    • 動態規劃
    • 貪心演算法
    • 分治法

備考策略

📚 學習建議

  1. 紮實基礎:從模組一開始,確保對基礎語法與控制流程有深刻理解
  2. 性能意識:從一開始就培養高效能編程習慣,尤其是 I/O 處理
  3. 系統練習:按照模組順序逐步學習,不要跳過任何單元
  4. 實戰演練:完成每個單元的推薦習題,累積實戰經驗
  5. 定時測驗:模擬考試環境,訓練在時間壓力下解題的能力

⚡ Python 使用者特別注意

選擇 Python 作為考試語言的優勢:

  • ✅ 語法簡潔易讀,開發速度快
  • ✅ 豐富的內建資料結構(list、dict、set)
  • ✅ 強大的標準函式庫

需要注意的挑戰:

  • ⚠️ 執行速度相對較慢
  • ⚠️ 必須使用高效的 I/O 方法(sys.stdin
  • ⚠️ 注意遞迴深度限制

Python 性能優化

本課程從模組一開始就強調性能優化,確保你用 Python 寫出的程式碼能夠通過嚴格的時間限制。關鍵在於:

  1. 使用 sys.stdin.readline() 而非 input()
  2. 使用 collections.deque 實作佇列
  3. 了解各種資料結構的時間複雜度
  4. 選擇正確的演算法

下一步

準備好開始你的 APCS 學習之旅了嗎?

Released under the MIT License.