USACO 是一個知名的電腦科學比賽,如果你對 STEM、工程或電腦科學感興趣的話,這個比賽還蠻值得推薦的。今天這篇文章將會詳細介紹這個比賽,包含條件資格、比賽評估方式、獎項,最後也會告訴你該如何從眾多參賽者中脫穎而出,一塊來了解吧!
USACO 是什麼?
USACO,英文全名是 USA Computing Olympiad (中文譯為美國計算機奧林匹克競賽),是美國一個針對國高中生舉辦的電腦科學競賽,首次比賽於 1993 年舉行。
這項比賽每年會在 12 月至隔年 4 月舉行(每個月一場),其中 4 月是 US Open (公開總決賽)。學生依據難度等級,可選擇要加入銅組、銀組、黃金組或鉑金組,得分最高者會被邀請加入美國隊,然後參加國際級的奧林匹克競賽。
USACO 的比賽規則與程序
如同前一段所提到,USACO 會在每年 12 月到隔年 4 月進行每個月一次的比賽,除了 4 月是美國公開賽之外,其他月份的比賽會在禮拜五到禮拜天之間開放,每次比賽有 3-5 小時的時間限制。參賽者必須在指定時間打開比賽題目然後開始作答,此外也需注意,在比賽過程中洩漏或發佈題目都屬作弊行為,將會被取消資格。
比賽總共有 3-4 道題目,全部都使用英文出題,學生必須使用 C、C++、Java 或 Python 進行計算並繳交最後答案。每場比賽的總分是 1000 分,分數會依照學生答題表現自動評分。在比賽過程中,學生可以多次繳交答案,在過程中系統也會提示你作答是否正確,但是只有最後一次的答案會被列入計分。詳細的作答提示如下:
- 綠燈:作答正確
- 紅燈:作答不正確
- X:錯誤答案
- T:超過時間限制
- !:運行錯誤或超出內存限制
- E:空白的輸出文件
- M:缺少輸出文件
在比賽結束後的 1-2 天內,你會透過 e-mail 收到測驗結果,包含測驗分數、題目解答、所有參賽選手的答案、成績總表,以及這次比賽的簡單分析跟總結報告。
另外在比賽過程中還有一件事要注意,如果你是參加等級比較高的組別(例如黃金組或鉑金組),因為程式語言的關係,通常會建議使用 C/C++ 或 Java,因為不能保證 Python 可以在不超時的情況下完成問題。
要如何報名比賽?比賽費用多少錢?
比賽是採線上進行的方式,學生如果想參加,只需要到官網上註冊帳號即可。無論你參加哪一組別的比賽,它們都是免費的。
比賽如何晉級?
只要學生得分達到標準,就會自動晉級到下一個組別,以銅組、銀組、黃金組及鉑金組這樣的順序遞升。晉級的方式主要有兩種:
- 得分介於 600-800 分者將會從下一次比賽開始晉級
- 如果在這次比賽中拿到滿分 1000 分者將立刻晉級,也就是說可以在這次比賽中直接參加下一級別的比賽
而這樣的晉級制度是永久性的,也就是說如果學生隔年再參加比賽,還是可以從下一個等級開始比賽。此外,比賽多半只會往上晉級或停留在原級別,不會有降級的情況出現。
為什麼要參加 USACO?
USACO 比賽提供學生一個很好的方式來練習他們的程式語言技能並解決問題,在同一年參加多項比賽可以讓學生迅速提高他們的技能。
此外,如果比賽成績出色,你不僅可以拿到美國地區的優勝,更有機會代表國家參加世界級比賽,這對於大學申請非常有幫助,因為可以透過比賽表示你具有非常堅強的程式語言撰寫能力。
該如何準備這項比賽?
有三種方法可以幫助你準備比賽:
1. USACO 比賽的歷屆試題
以下我們提供所有歷年比賽試題,如果你有帳號的話,也可以登入官網,官方還有額外提供其它的練習題目:
2021-2022 年比賽題目
2020-2021 年比賽題目
2019-2020 年比賽題目
2018-2019 年比賽題目
2017-2018 年比賽題目
2016-2017 年比賽題目
2015-2016 年比賽題目
2014-2015 年比賽題目
2013-2014 年比賽題目
2012-2013 年比賽題目
2011-2012 年比賽題目
2. USACO Guide
如果你是想學習程式語言,或是加強相關技能的話,官方也有提供 USACO Guide,這是一個提供與比賽或學習相關的平台,上面除了有一些課程教學外,還有論壇、社團和研討會可供學生詢問問題或與他人進行討論互動,即使你沒有打算參加比賽也可以使用。
3. 尋求專業師資協助
以台灣來說,可能沒有太多與 USACO 有關的資訊和資源,有些學生可能只能靠自學或上其他網路課程來補足。
如果你也希望能參加這項比賽,並且從中脫穎而出,那麼 Ivy-Way 的專業輔導師資將在這裡為你服務,透過教學與歷屆試題,幫助你拿到好成績之外,也可以告訴你如何把這項經歷寫進大學申請表中,讓大學對你印象深刻!