校強我弱,難以組出有實力的ACM隊伍。有哪些含金量高的、單人參加的演算法競賽可以作為ACM的替代品?

本人現在開學大二,top2非計算機類院系,將來計劃向CS方向發展。自己有一點演算法競賽基礎(高中NOIP省一)也有搞演算法競賽的意願,但同學中願意的極少,起步水平也普遍不高。而且由於每校名額限制,即使組出隊來,想進入regional都很困難(起步水平和學習動力兩方面的差距,與CS的隊伍相比實力相差巨大),遑論拿牌

至於抱大腿,反正今年的北京regional由於信息閉塞已經錯過機會了,其他地方的regional應該不會有願意收留我這種水平的人的隊伍會去……而且目前認識的大腿並不多,本人也不擅長networking,感覺抱到的概率有限

在這種情況下,是否應該選擇一些單人參加的比賽,替代ACM為自己的簡歷加分?如果是的話應該選擇哪些?(我知道的比較有名的有topcoder、codeforce、GCJ等,但不知道如何選擇)如果不是的話又應該如何組建/加入有一定水平的隊伍?又或者是這種情況根本就不應該選擇搞演算法競賽?這樣的話又應該以何種方式證明自己在CS方面的能力?


本來這個問題挺容易回答的…… 但仔細一看,發現題主是清華EE的。那麼一般人的經驗就不適合你了。斗膽用自己有限的見識回答一下

1. 不推薦你參加ACM競賽

對於我們這些弱校學生來說,高中就算零基礎,大學要混到去regional還是挺容易的。但題主是清華的,每年一堆天賦爆表的OI選手都去了清華。所以在清華,去regional也很艱難。即使你可以做到,估計也要花很多時間。考慮性價比,這條路不是太適合

2. 不推薦你把主要時間花在單人參加的演算法競賽

題主問有哪些單人參加的演算法競賽可以作為ACM的替代品,如果列一下,大概是下面這些:

(1)百度之星(國內,百度舉辦)

(2)微軟編程之美(國內,MSRA舉辦)

(3)騰訊馬拉松(國內,騰訊舉辦。但是這個好像就舉辦了兩屆,不知道現在還有沒有)

(4)Google Code Jam(國際,Google舉辦)

(5)Facebook Hacker Cup(國際,Facebook舉辦)

(6)Topcoder Open(國際,Topcoder舉辦)

(7)Codeforces VK Cup(國際,codeforces舉辦。但現在似乎正式比賽題目只提供俄語版,排除了天朝選手)

所以,你大概可以參加的大型演算法比賽就只有1、2、4、5、6

考慮到你是清華的,這些競賽的round2估計也不能給你的簡歷加什麼分了。能讓你簡歷加分的,估計只有這些比賽進最終的現場賽了。但是這個難度非常高,每年能入圍GCJ、TCO現場賽的中國選手,一隻手就可以數過來。

所以,對於題主這種起點很高的人,參加演算法競賽來給簡歷加分,其實是選擇hard模式。如果只是做功利的考慮,性價比都不高。

我們可以換一個思路。題主是清華EE的,平台已經這麼高了,想積累CS background的方法簡直太多,何必選擇競賽這種吃力不討好的路。

1. 強烈推薦你去實習

清華在業界的聲望這麼高,地理位置又這麼好。想去一個好的IT公司實習,對於你來說難度並不大。至於去哪些公司實習,我覺得不用提供建議了。因為你們的好選擇實在太多,找實習公司還是看自己的興趣吧。

2. 推薦你去實驗室

看你的個人介紹,感興趣方向是CV和ML ?那看來我們是同行了。清華這個領域的大牛也不少,可以考慮去他們的實驗室幹活。

3. 強烈推薦你多結識一些計算機系的同學

清華同學的平台高,視野也比較廣。你在知乎上問的這個問題,應該在生活中很容易找到大神來解答,給出更好的建議。所以我很建議你混進計算機同學的圈子裡面。你提到了「本人也不擅長networking」, 但我個人感覺,做技術的孩子大多比較單純,志趣相投很容易混在一起的。

4. 如果你真的想做競賽,推薦你去做離業界更接近的競賽

單從簡歷加分的角度考慮,幾乎所有本科生競賽都不能給你的簡歷加分。你的方向是ML和CV,那麼你以後申請出國或者找這方面的工作,真正能給你簡歷加分的競賽估計是那些學術界和工業界舉辦的競賽。

盤點一下(僅列出CV和ML方向的競賽)

(1)以KDD Cup為代表的一系列Kaggle上的競賽

KDD cup一年一度,由ACM SigKDD協會舉辦。主辦方同時也舉辦數據挖掘領域的頂級會議KDD

除了KDD cup這樣的大賽,Kaggle上有很多這樣的數據挖掘競賽,聽說貴校姚班的機器學習課程還需要在kaggle上組隊打比賽,競賽排名還影響課程得分。參見知乎這個問題的回答在清華大學交叉信息研究院(姚班)學習是一種怎樣的體驗? - Hubert Zhang 的回答

(2)ILSVRC(Large Scale Visual Recognition Challenge )

大名鼎鼎的ImageNet競賽,每年都能吸引到很多牛逼實驗室以及各大互聯網公司參加。

(3)VOT (Visual Object Tracking)

tracking類的比賽,與計算機視覺頂級會議ICCV一起。

(4)阿里的一系列大數據競賽

Tianchi Big Data Competition-Competitions Focus on Data Algorithms

已經舉辦了好幾屆了。基本每幾個月都會有新的比賽,而且獎金額度比較高。

…………

當然,以上所有的分析僅僅是基於含金量、業內認可度這些東西。但很多時候我們做比賽,更多的是基於自己的興趣。所以,如果題主喜歡做ACM類的演算法競賽,也可以把時間花在上面。我覺得也是有意義的。


最最最最最最輕鬆,性價比最高的方法就是去你們系那幾個好的實驗室學習。什麼實習啊,競賽啊,都沒有好好去抱你們系牛叉教授大腿好。

剩下時間好好上課。

放著清華那麼好的平台不用反而跑出去真心是浪費啊... 殊不知清華cs的人搞ACM很多也都是玩票性質了遠不如其他幾個學校訓練那麼猛...

然後你們清華EE的就不要說什麼轉CS了好么,清華不是有4-5個cs系么。


對於清華EE的人來說,沒有「含金量高的演算法競賽」。

不客氣地說,參加演算法競賽除了ACM的regional gold、WF,個人賽(TC、CF)的top10,寫進清華EE的人的簡歷里只能算「解釋你這幾年在做什麼」。根本加不了分。

===

頂樓的回答已經覆蓋全了。

不過既然是清華EE的,可能我還有兩句題外話想說。

相關:2字班自動化,大二下轉計算機系。

1. 如果對電子系所學的東西不感興趣、而且成績在中後,建議考慮轉系。首先不一定要留級(兩個系課程重複很多),其次留級非常有利於刷GPA、去實驗室或實習。

2. 如果不打算轉系,建議要多學計算機的基礎課程,而不是把精力集中在演算法競賽上。事實上演算法(競賽里的演算法甚至只能算演算法很小的一部分)在計算機科學中也只是一塊組成部分而已,如果想在學術界發展,domain specific的研究才是更重要的;如果想去工業界,那麼工程能力則是關鍵的一環。二者均不能靠演算法競賽來修鍊(Google有報告認為演算法競賽成績和Google內表現呈負相關)。

3. 如果有明確的發展方向(而不是CS這麼籠統),建議找對應方向專長的學長學姐深聊,來更優地規劃未來三年的學習生活。


自問自答,可惜不能給你點贊


51nod每周都有馬拉松比賽,獎勵及說明,題目比較難,參賽人員也是群星璀璨,歡迎你來玩喲,同頂尖選手同場競技是很有意思的。


CS專業的出路一般來講有兩條:科研或者工業界。無論哪條,都不推薦走ACM競賽路線攢經驗……不是說沒用,而是這是一條效率低下,並不很實用的路線

如果想搞科研,如果樓主是EE的話,你們系應該有很多實驗室做的工作其實都算是CS領域的前沿。據我所知計算機視覺方面EE搞得還是很不錯的。而且電子系其實科研實力超強,每年出國交換,讀博讀研究型碩士的人超多(至少在2010級是這樣)

如果想去工業界,最最最最最最有效的方式就是實習,實習,實習。咱們不談Byvoid大神那種變態的實習,在國內如果可以去百度,微軟,Hulu等公司實習,對自身的成長和簡歷的加分都有很大的幫助。就算你將來想去北美工作,這些實習經歷也有利你申請。多說兩句,接受創業團隊(還不是公司)的實習邀請的時候請三思。。。


挺好的,至少你大二之前就認識到 EE 是個坑,我是大二下才認識到。

你的最終目標是「為簡歷加分」,所以就像最高票答案說的,並不只有 ACM 這條路。ACM 是收益率很低的活動,遠不如找實習容易,寫在簡歷里也不如實習加分多,除非你能拿到大獎。既然你高中搞過 NOIP,各大公司的面試題對你來說真的不難,找實習就更容易了。

最後,一個建議,多選 CS 的基礎課。基礎真的很重要。我現在就後悔當年選少了。


藍橋杯會滿足你的胃口


太弱還是匿了。

如果你cf/tc能刷到紅名,單挑進現場賽沒問題的。加油吧。


刷刷題,挺實在的。其他的都虛。


以我在計算機行業多年的從業經驗,計算機只是工具,當然,如果把提供工具作為終極目標,無妨多搞搞基礎理論,否則,想清楚你想證明什麼,你的動手能力?還是你的理論基礎?如果是面向職業,找一個特定項目,如網路,直接向世界級頂尖高手學習即可,世界是開源的。如果是面向研究,找一個特定領域,搞明白計算機只是工具即可。


可以參加一些單人的比賽


推薦閱讀:

AlphaGo 和人類棋手比起來誰消耗的資源更多?
計算機專業去英國讀本科還是加拿大?
應屆生找工作,對C++的要求是怎樣的?
新加坡國立和南洋理工讀本科哪個更好?
Data Scientist、Data Analyst、Data Engineer 的區別是什麼?

TAG:計算機科學 | ACM競賽 |