營隊遊戲化學習程式教育

程式競賽怎麼準備?台灣國高中生的競賽路徑全圖(2026)

2026-08-28

瀏覽次數:6

本文最後更新:2026 年 8 月

撰文/橘子蘋果程式學苑 編輯團隊

快速回答
台灣國高中生能走的程式競賽,其實是一條有官方銜接關係的路徑,不是一堆散落的比賽。主軸是:校內初賽 → 分區複賽 → 全國決賽(普通型高級中等學校數理及資訊學科能力競賽・資訊科),而決賽拿到一、二等獎的學生,依官方計畫書會被直接推薦進入國際資訊奧林匹亞(IOI)的第一階段選訓營——這是整條路上唯一有明文銜接的關卡。旁邊還有 NPSC(團體賽)、CPE(檢定)、線上練習平台可以累積實戰。至於升學,要嚴格分成三層:只有 IOI 得牌或選訓營結訓才有法源保障的保送;學科能力競賽的複賽/決賽資格可作為部分校系特殊選才的報名門檻;其餘競賽獎項則屬備審資料的多元表現。本文(2026)把整條路徑攤開,並說明什麼樣的孩子適合走。

先分清楚:競賽、檢定、選訓計畫是三種不同的東西

家長最常見的困惑,是把一堆英文縮寫混在一起看——APCS、TOI、CPE、NPSC 聽起來都像比賽,其實性質差很多。先把三類分開,後面的路徑才看得懂:

  • 競賽:有名次、有獎項,比的是相對表現。例如學科能力競賽、NPSC。
  • 檢定:沒有名次,達到標準就通過,衡量的是絕對能力。例如 APCS、CPE。
  • 選訓計畫:不是單場比賽,而是一整套「選拔+訓練」的流程,目的是產生代表隊。例如 TOI。

這個區分很重要,因為三者的準備方式完全不同:檢定可以靠系統性刷題穩定拿分;競賽要在限定時間內贏過其他人;選訓計畫則是長達數月的持續訓練。想同時應付,就得有一套年度規劃,而不是遇到什麼考什麼。

台灣國高中生能參加哪些程式競賽?

先把名稱講對——這件事比想像中重要,因為網路上的縮寫常常被寫錯,查錯名稱就會查到錯的資訊

名稱 性質與賽制 重點
普通型高級中等學校數理及資訊學科能力競賽(資訊科) 個人賽,決賽為程式設計實地測試,限 C/C++ 最高階、也是路徑主軸。須經校內初賽→分區複賽選送,無法個人直接報名決賽
TOI 選訓計畫 → IOI 個人賽;選訓流程長達數月 初選在 3 月。TOI 是選訓計畫,最終參加的國際賽事才是 IOI
NPSC(網際網路程式設計全國大賽) 團體賽,ICPC 制(比解題數與耗時) 臺大主辦,分國小/國中/高中職組,約 10 月報名,需指導老師帶隊
CPE(大學程式能力檢定) 檢定,線上 7 題、只計對錯 一年 4 場,高中生可報考,適合當作階段性實力檢核
青年程式設計競賽(選拔參加國際 ISSC) 選拔賽,選送代表隊參加國際賽 教育部指導,國內主辦單位每年不同,須依當年度公告確認
Codeforces、AtCoder 國際線上練習平台,全年開放 平時累積解題量的主力場地,不受報名時程限制

另外,APCS 嚴格說是檢定而不是競賽,但它是多數學生實際的主戰場,也是選手訓練最直接的成果指標;它與國際認證的差別,我們有專文:〈APCS vs ITS 完整比較〉,準備方法則見〈APCS 攻略〉。

要提醒一個實際的坑:查競賽資訊時務必連到當年度官方承辦學校的網站。網路上有一些名稱相近的模擬賽網站,其中不乏學生社團自辦、且自己聲明「僅供模擬練習、不具公信力」的站——把它誤認成官方賽事,時程和規則都會查錯。

一條有官方依據的路徑:從學科能力競賽到選訓營

這是整篇最值得知道的一段,而且市面上幾乎沒有文章寫出來。

多數介紹文把各個競賽當成互不相干的點在列,但官方文件裡其實明訂了銜接關係。依 114 學年度該項競賽的官方計畫書(教育部國教署函頒),資訊科獲一等獎、二等獎的學生,由承辦學校推薦參加國際資訊奧林匹亞競賽第一階段選訓營及複選114 學年度競賽實施計畫)。

換句話說,學科能力競賽的決賽前段班,就是 TOI 選訓體系的官方前哨站。這條路長這樣:

階段 大約時間 要做到什麼
① 校內初賽 10 月中前 先讓學校知道有這個孩子——這一關常因為沒人報名而錯過
② 分區複賽 11 月中前 取得複賽資格本身就有升學上的意義(見下一段)
③ 全國決賽 12 月底前 程式設計實地測試,名額有限;一、二等獎可獲推薦進選訓營
④ TOI 初選與選訓營 隔年 3 月起 分階段選訓,逐步淘汰至代表隊
⑤ IOI 國際賽 8 月 每國僅 4 名中學生代表出賽

看得出來,這條路的入口在每年 10 月的校內初賽,而不是等到高三才開始準備。更完整的選訓流程與時程,可參考官方頁面(TOI 選訓計畫官網)。

競賽對升學到底有沒有幫助?三個層級要分清楚

這一段必須講得很精確,因為坊間最常見的誤導,就是把三種完全不同的東西混講成「參加競賽都能加分」

第一層:保送(最強,但門檻極高)。依教育部《高級中等學校學生參加國際數理學科奧林匹亞競賽保送升學實施要點》,資訊奧林匹亞競賽被明列在適用範圍內,得獎者可以名額外加方式保送相關學院各學系(教育部法規原文)。但務必看清楚適用對象:這是給真正打進選訓、代表台灣參加 IOI 的極少數學生——全國一年只有 4 個國手名額。參加程式競賽不等於有保送資格。

第二層:特殊選才的報名資格(門檻低很多,實際用得到)。這一層很多家長不知道。以清華大學資訊工程學系的特殊選才招生為例,簡章明訂的報名條件之一,是「曾參加高級中學數理及資訊學科能力競賽(資訊科)複賽或決賽」或「曾獲得複賽或決賽資格」清大特殊選才招生簡章)。注意:是「資格」,不需要得獎。這代表只要孩子有走到複賽這一步,就打開了一扇門。但要說清楚——這是清大資工一個系的規定,不是全國通用政策,其他校系標準各異,仍須逐一查當年度簡章。

第三層:備審資料的多元表現。NPSC、CPE、國際選拔賽等獎項,目前查無正式的加分或採計依據,它們的價值在於作為學習歷程中的佐證——證明孩子持續投入、有實戰經驗。這仍然有意義,但跟前兩層是不同量級的東西,不該被說成「加分」。

什麼樣的孩子適合走競賽這條路

先說不適合的,因為這比較少人願意講。

零基礎的孩子不適合直接進競賽訓練。競賽的門檻不在「會不會寫程式」,而在「能不能把一個沒看過的問題拆解成演算法」——沒有語法基礎就進來,多數時間會耗在看不懂題目上。不願意實際去比賽的孩子也不適合:競賽能力只能在比賽中長出來,只上課不下場,等於練了拳卻從不對打。課業已經滿到沒有餘裕的孩子同樣要謹慎,這條路需要長期穩定的時間投入,硬擠通常兩邊都受傷。

反過來,適合的孩子有幾個明顯特徵:已經有程式基礎(例如 APCS 程式實作已有一定成績,或完成過系統性的檢定課程)、遇到難題會想再試一次而不是放棄願意把解法寫下來講給別人聽。最後這點特別關鍵——能把自己的解題思路寫成文章的孩子,通常進步得最快,因為那強迫他把模糊的直覺整理成清楚的邏輯。

自己練 vs 有系統訓練,差在哪裡

線上題庫免費又豐富,孩子當然可以自己練。實務上會遇到的問題通常是這三個:

學生手寫演算法解題筆記,紙上畫著流程與樹狀圖

一,不知道現在該練什麼。演算法有明確的難度層次——遞迴、動態規劃、圖論、樹狀結構——順序錯了就會卡在不該卡的地方。自學最常見的狀況是隨機刷題,寫得很多但能力沒有疊上去。

二,卡住的時候沒有人看程式碼。競賽程式最大的成長來自「你的解法為什麼不夠好」,而不是「答案對不對」。線上評測只會告訴你錯了,不會告訴你思路哪裡繞遠路。

三,沒有比賽節奏。競賽是有時程的,什麼時候該報名、什麼時候該練哪一類題目,需要一整年的規劃。孩子自己很難維持這個節奏,往往等到報名截止才發現錯過。關於程式能力在 AI 時代的價值定位,可延伸閱讀〈在 AI 都能寫 Code 的年代,大學教授到底在看什麼〉。

橘子蘋果選手班怎麼運作

選手班是為已有程式基礎、想長期走競賽路線的國高中生設計的訓練班,和「準備一場檢定」的課程不同——它處理的是全年的競賽路徑。

小班制競賽訓練課,教練個別指導學生的解法

  • 課程結構:15 週為一期,每班 8 人小班,每堂 2 小時——前 60 分鐘解題訓練、後 60 分鐘主題深化。
  • 入班方式:第一堂是「能力測驗體驗課」,而不是一般試聽。孩子實際做一次入班測驗,由老師依測驗結果評估能不能進班;評估未通過不收——這對雙方都比較負責。
  • 招收條件:7 年級以上且有程式基礎(例如 APCS 程式實作 2 級分/100 分以上,或已修畢橘子蘋果的 APCS 檢定課程)、具備自主學習動機,並願意固定參賽與撰寫解題文章。
  • 分級訓練:分為初級、成長、進階三級,每週的題目對應孩子自己的等級,不會全班寫同一份。
  • 參賽要求:這是課程的一部分而非建議——每兩個月至少參加一次小型賽事,一期 15 堂內至少參加一次大型比賽或檢定。
  • 訓練內容:核心是應用演算法(動態規劃、圖論、遞迴、樹狀結構),搭配資料結構、程式效能、解題工具與競賽實戰。

關於師資:課程由總教練「綠茶老師」設計,他畢業於台師大資訊工程研究所、現於台大資工博士班進修,有十五年以上教學經驗,同時是業界的演算法工程師,並曾參與 TOI 地區預賽命題。其他時段的班級由通過認證的教練群授課——使用同一套教材、同一套 code review 標準,並由總教練督導,確保不同時段的訓練品質一致。

累積下來,孩子拿到的不只是分數:APCS 級分的實質提升、競賽參賽履歷、一整份自己寫的解題文章集,以及最重要的——系統性的演算法基礎。歷屆學員曾透過特殊選才等管道進入政大資科、北大資科、中原資工、逢甲資工等校系。想看完整的課程說明,可參考選手班課程頁

程式競賽 常見問題 FAQ

台灣國高中生可以參加哪些程式競賽?

主軸是「普通型高級中等學校數理及資訊學科能力競賽」的資訊科組,須經校內初賽、分區複賽選送才能進全國決賽。其他還有 TOI 選訓計畫(通往國際資訊奧林匹亞 IOI)、NPSC 網際網路程式設計全國大賽(臺大主辦、團體賽)、CPE 大學程式能力檢定(高中生可報考),以及選拔參加國際 ISSC 的青年程式設計競賽。平時則可在 Codeforces、AtCoder 等國際線上平台累積解題量。

參加程式競賽可以保送大學嗎?

只有極少數情況可以。依教育部《高級中等學校學生參加國際數理學科奧林匹亞競賽保送升學實施要點》,資訊奧林匹亞競賽列於適用範圍,得獎者可以名額外加方式保送相關學系。但適用對象是真正通過 TOI 選訓、代表台灣參加 IOI 的學生——全國一年僅 4 個國手名額。一般程式競賽的獎項並沒有保送資格,這兩件事必須分清楚,不能一概說成「參加競賽能加分」。

沒有得獎,參加競賽還有意義嗎?

有,而且比多數人想的實際。以清華大學資訊工程學系的特殊選才招生為例,簡章明訂的報名條件之一是「曾參加高級中學數理及資訊學科能力競賽(資訊科)複賽或決賽」或「曾獲得複賽或決賽資格」——是「資格」,不需要得獎。也就是說走到複賽這一步本身就有意義。但要注意這是單一校系的規定,不是全國通用政策,其他校系仍須逐一查當年度簡章。

國中生就可以開始參加程式競賽嗎?

可以。NPSC 設有國小組與國中組,Codeforces、AtCoder 等線上平台也全年開放、不限年齡。不過要注意:學科能力競賽與 TOI 選訓體系的對象是高中職學生,國中階段比較適合先累積實戰經驗與演算法基礎。實務上,7 年級以上、已有程式基礎的孩子就可以開始接受系統性的競賽訓練,這樣進入高中後才有餘裕衝主線賽事。

學科能力競賽和 TOI 有什麼關係?

有官方明訂的銜接關係。依 114 學年度的官方競賽實施計畫,資訊科決賽獲一等獎、二等獎的學生,由承辦學校推薦參加國際資訊奧林匹亞競賽的第一階段選訓營及複選。換句話說,學科能力競賽的決賽前段班就是 TOI 選訓體系的官方前哨站。這也是為什麼整條路徑的實際入口,是每年 10 月中之前的校內初賽——錯過那一關,整年的主線就斷了。

要準備到什麼程度才適合開始競賽訓練?

門檻不在「會不會寫程式」,而在「能不能把沒看過的問題拆解成演算法」。合理的起點是已具備程式基礎——例如 APCS 程式實作已有一定成績,或完成過系統性的檢定課程。零基礎直接進競賽訓練通常事倍功半,多數時間會耗在看不懂題目上,比較合適的順序是先把語法與基本邏輯練熟,再進入演算法訓練。

孩子可以自己在線上題庫練習就好嗎?

可以練,但通常會遇到三個瓶頸。一是不知道現在該練什麼——演算法有明確的難度層次,順序錯了會卡在不該卡的地方;二是卡住時沒有人看程式碼,線上評測只告訴你錯了,不會告訴你思路哪裡繞遠路;三是缺乏比賽節奏,什麼時候報名、什麼時候練哪一類題目需要全年規劃,孩子自己很難維持,常常等到截止才發現錯過。

走競賽這條路,需要投入多久?

這不是一期課程能完成的事。競賽能力的累積通常以年為單位,多數選手會連續訓練一到三年,因為演算法的難度層次需要時間疊上去,實戰經驗也只能靠反覆參賽累積。合理的預期是:第一年建立基礎與比賽經驗,之後才逐步往主線賽事推進。如果家庭與孩子沒有這樣的心理準備,比較適合先從單一檢定目標開始,而不是直接投入競賽路線。

橘子蘋果選手班和 APCS 檢定班有什麼不同?

橘子蘋果程式學苑成立於 2012 年,累積服務超過 10 萬名學員,全台 12 縣市設有直營實體教室。APCS 檢定班的目標是準備「一場檢定」;選手班處理的是「全年的競賽路徑」——15 週一期、8 人小班、分三級訓練,並把參賽與撰寫解題文章列為課程要求。入班方式也不同:第一堂是能力測驗體驗課,孩子做完入班測驗後由老師評估能不能進班,評估未通過不收。適合的起點與確切費用,由顧問在完成能力評估後依孩子程度建議。

想知道孩子適不適合走競賽這條路?

選手班的第一堂是能力測驗體驗課——孩子實際做一次入班測驗,由老師誠實告訴你現在適合競賽訓練,還是先把基礎補起來。評估未通過不收,不逼單。

預約能力測驗體驗課

或先看看選手班完整課程說明 →