這幾年隨著出國留學(xué)人員的增多,越來越多的人開始關(guān)注各種對申請美國大學(xué)有幫助的競賽,大家都希望能夠在競賽中獲獎,從而敲開常青藤名校的大門。但真正能夠讓這些名校認(rèn)可的競賽并不多,況且對于大部分中國學(xué)生來說,美國的競賽沒有資格參加,而國內(nèi)的很多競賽美國學(xué)校又不認(rèn)可。在這種情形下,很多人開始關(guān)注到了USACO競賽,那么USACO到底是什么呢?
USACO簡介
USACO的全稱是USA Computing Olympiad,即美國計(jì)算機(jī)奧林匹克競賽。這么一說就感覺比較熟悉了吧,相信大部分的同學(xué)一定都聽說過奧林匹克競賽,奧林匹克包括數(shù)學(xué),物理,化學(xué),生物和信息學(xué), 而USACO就是美國的信息學(xué)奧林匹克競賽,相當(dāng)于國內(nèi)的NOIP比賽,都是為 IOI(國際奧林匹克競賽) 選拔人才。
國內(nèi)的 NOIP 比賽主要以線下組織為主,基本上都是以學(xué)校為單位進(jìn)行組織的。而USACO則是以線上為主,學(xué)生可以直接在網(wǎng)上報(bào)名,并在線進(jìn)行解題。USACO在每年的四個周末舉辦他們主要的比賽,從周五到周一,在這個時間段內(nèi)學(xué)生可以選擇在任何時間開始比賽,通常來說每次競賽的時間為4個小時,但有時候是3個小時或者5個小時。
競賽主要衡量算法和運(yùn)用兩大方面的技能,旨在鍛煉學(xué)生用計(jì)算機(jī)編程解決問題的能力。USACO比賽分成銅牌,銀牌,金牌和白金 四個等級,一旦學(xué)生在較低等級的比賽中獲得足夠高的分?jǐn)?shù)后就可以進(jìn)入更高等級的組別。
USACO的含金量
USACO 競賽的成績對申請美國大學(xué)是非常有幫助的,以下是國外著名網(wǎng)站Quora上的回答,可以看到,大家對USACO申請美國大學(xué)的作用還是給予了非??隙ǖ幕卮鸬?。

下圖中在羅列對申請美國大學(xué)有幫助的活動時,第一項(xiàng)就強(qiáng)調(diào)了USACO。

最后這張給出了USACO等級對應(yīng)的數(shù)學(xué)奧林匹克競賽等級,很多偏理科的大學(xué)都會要求AIME(美國高中數(shù)學(xué)邀請賽)成績,如果你有對應(yīng)的USACO成績,大學(xué)也是認(rèn)可的。

目前,USACO在美國非常熱衷,但是國內(nèi)參與的人員還比較少,以2018年公布的數(shù)據(jù)為例,總共有65個國家3048 名學(xué)生參加競賽,其中來自中國的學(xué)生只有280 人。相信隨著STEM教育理念,及編程低齡化,普及化的發(fā)展,國內(nèi)USACO 的參加人數(shù)和熱度會越來越高。
為何要參加USACO競賽
最近兩年,國內(nèi)的編程教育也在蓬勃發(fā)展,很多學(xué)生從小學(xué)開始已經(jīng)學(xué)習(xí)編程了。但市面上的大部分機(jī)構(gòu)所教授的編程,都是偏向圖形化,游戲化的編程,這類編程只能讓學(xué)生了解簡單的概念,對于鍛煉學(xué)生解決問題能力幫助不大。USACO 競賽的題目都是以衡量學(xué)生解決問題的能力為標(biāo)準(zhǔn)的,題目偏向于算法和實(shí)際應(yīng)用,學(xué)生在解決問題的過程中,需要整合所有必備的知識,最終以編程的方式控制電腦給出解答,這個過程能夠有效的提升學(xué)生的問題解決能力??偟膩碚f,面向USACO競賽的編程學(xué)習(xí)會建立如下優(yōu)勢:
能力證明,全球認(rèn)可
信息學(xué)作為五大奧林匹克競賽之一,其能力是被全球認(rèn)可的,與之配套的知名國際競賽體系也非常完善。最知名的國際競賽包括 IOI(國際信息學(xué)奧林匹克競賽)和 ICPC(國際大學(xué)生程序設(shè)計(jì)競賽),而USACO是美國國家級別的競賽,其目的就是要為 IOI 和 ICPC 輸送人才,雖然很多國家都有類似的國內(nèi)競賽,但相比而言,USACO 是得到美國知名大學(xué)認(rèn)可的,更有含金量。思維訓(xùn)練和能力提升
接受一個編程項(xiàng)目,獨(dú)立思考相關(guān)知識點(diǎn)(數(shù)學(xué)邏輯、數(shù)據(jù)結(jié)構(gòu)、算法、計(jì)算機(jī)體系結(jié)構(gòu)、英語理解等),運(yùn)用各種能力(計(jì)算思維、資料收集、刻意練習(xí))設(shè)計(jì)并實(shí)現(xiàn),驗(yàn)證正確性,反復(fù)迭代修正。整個流程在普通的學(xué)制教育中往往要到碩博士才有訓(xùn)練機(jī)會,而參加競賽的選手從小就在以這種方式訓(xùn)練著思維,對于專注力和獨(dú)立解決問題的能力提升非常有幫助。
同時,參加高階信息學(xué)競賽的往往是最優(yōu)秀的孩子,他們一起交流、學(xué)習(xí)、討論和競爭會潛移默化地影響每個孩子的能力、習(xí)慣和學(xué)習(xí)方式。
而且競賽的打分,不僅僅是解決問題,還要考量解決的時間效率和空間效率。不同解決策略的得分不一樣。這種評價方式,培訓(xùn)和鍛煉的就是學(xué)生的效率意識和全局規(guī)劃意識。對升學(xué)工作的幫助
在USACO競賽中證明自己的問題解決能力和學(xué)習(xí)能力,會對今后的升學(xué)和工作都有很大的幫助?,F(xiàn)在很多互聯(lián)網(wǎng)公司內(nèi),特別是偏向于人工智能的技術(shù)公司,都在大量吸納競賽人才,因?yàn)檫@些人非常善于解決核心問題,例如搜狗的CEO王小川(IOI 1996年金牌),曠視科技CTO, 人工智能學(xué)術(shù)界陳啟峰(IOI 2007金牌),陳丹琦(IOI 2008金牌),周源(IOI 2005金牌)等,信息學(xué)競賽對于未來想從事計(jì)算機(jī)相關(guān)工作的人有很大的提升作用。人工智能的核心就是算法。
競賽資訊
USACO 什么時候比賽?
USACO 一般是每年12 月份開始進(jìn)行,會選擇四個周末舉辦主要的比賽,從周五到周一,在這個時間段內(nèi)學(xué)生可以選擇在任何時間比賽,通常來說每次競賽的時間為4個小時,但有時候是3個小時或者5個小時
如何報(bào)名參加比賽?
在 www.usaco.org 注冊一個免費(fèi)賬戶(只需要有郵箱就能注冊),注冊時不需要選定特定的比賽日期,只要有了這個賬戶,可以在比賽開始后隨時參與競賽。
需要為USACO準(zhǔn)備什么?
官網(wǎng)上有一個訓(xùn)練題庫(https://train.usaco.org),可以登陸這個題庫并進(jìn)行注冊,這個網(wǎng)站和USACO官網(wǎng)的注冊是分開的,需要獨(dú)立注冊,可以這上面進(jìn)行訓(xùn)練。同時,在官網(wǎng)上還能查看歷年真題(http://usaco.org/index.php?page=contests),可以做一下這些題目,對題目的類型有一個基本的了解。當(dāng)然,上面提到的這些都是考前的準(zhǔn)備,但USACO的相關(guān)編程知識,還是要找一個老師好好學(xué)習(xí)下,掌握了算法和編程基礎(chǔ)知識,才有可能在競賽中獲獎。
參加USACO需要付費(fèi)嗎?
注意,USACO是一個完全免費(fèi)的競賽,只需要在其官網(wǎng)注冊賬號即可,任何因?yàn)閰⑴c競賽向你收費(fèi)的機(jī)構(gòu)都是在騙人。
競賽如何頒獎?
競賽會根據(jù)你的成績來頒發(fā)對應(yīng)的認(rèn)證,主要有四種等級:銅牌,銀牌,金牌,白金。 獲得相應(yīng)證書的學(xué)生名單會被公布在競賽結(jié)果中,把這些成就寫在申請書或者簡歷中會非常有幫助。
參賽的流程是怎么樣的?
在官網(wǎng)注冊賬號后,當(dāng)比賽開始后,可以在指定時間內(nèi)的任何時候登陸到官網(wǎng)上開始比賽,比賽的過程中,你可以查詢?nèi)魏钨Y料,從這點(diǎn)足以看出,考核的內(nèi)容不是死記硬背,而是真正的能力。如果你在競賽中所有問題都取得了非常完美的分?jǐn)?shù),你將立刻就能得到升級的反饋,否則可能需要等競賽周結(jié)束后,根據(jù)平均成績公布哪些人通過了考核。 由于每年會安排四個周末進(jìn)行考核,所以你就有了四次競賽機(jī)會,如果你的實(shí)力已經(jīng)到位了,那就可以持續(xù)升級。但每個級別的難度差異很大,一般都需要很長時間的練習(xí)才能進(jìn)入到下一個級別。
USACO使用什么編程語言?
USACO 接受多種語言的解決方案,包括 C++,C,Java 和 Python。由于Java 和 Python 相比于 C++/C 語言運(yùn)行的會慢一些,所以這兩種語言所允許的運(yùn)行時間是 C++ 和 C 的兩倍。 相比于國內(nèi) NOIP 只接受 C++ 作為考試語言,USACO 提供了更加靈活的支持,使得比較喜歡 Java 和 Python 的人也有機(jī)會參與到算法競賽中。