在小編讀中學的時候,幾乎每個同學都相信一個事實:計算機是一門前途無限的專業,程序員是一個“錢”途無限的職業,于是,小編我以語文全市第一的成績陰差陽錯地進了一所理工院校的計算機專業,可惜了大學四年,當別人都在苦心研究算法和各類編程語言時,我卻在泡在人文社科系圖書室的故紙堆里,穿梭于劇場和講座之間,這導致的直接后果就是,現在的我一邊故作清高地碼字,一邊暗暗羨慕著老同學們多金的生活,代碼果然就是比文字值錢!
各位正在學習程序設計的同學,千萬珍惜啊!可別幾年后跑來跟小編抱怨:曾經有一份多金的職業擺在我的面前,我沒有好好珍惜,現在才追悔莫及……
問鼎TOpcoder,美元由你拿
看這題目別以為又是一則網上賺錢的廣告,它可是一件實實在在的關于美元的美差。只要你擅長程序設計,又勇于接受挑戰,就可以通過Topcoder賺取大筆美元。
Topcoder為何物?
Topcoder(http://www.topcoder.com/tc)是一個程序設計比賽網站。通過Topcoder,全世界的程序員(大多數是大學生)可以進行更直接的交流和切磋。
Topcoder每個星期舉行兩次網上在線比賽,根據比賽的結果對參賽者進行排名。參賽者可根據自己的喜好和特長選擇Java、c++或c#進行編程。比賽規則是,參賽者須在規定時間內完成三道不同難度的題目,每道題完成的時間將直接影響到分數。
比賽一般分為三個環節。
Coding Phase(編程階段):在這個環節系統會給出3道題,分別為250、500和1000分題。難度依次遞增。在規定的時間內完成這3題。
Challenge Phase(挑戰階段):這是一個互相挑刺兒的環節。大家可以瀏覽分配在同一房間的其他參賽者的源代碼,然后設法找出其中錯誤,并提出一個測試參數使其不能通過測試。如果對方的程序有錯,你就挑戰成功,可以獲得加分,如果對方程序正確,你挑戰失敗。要扣去20分。
System Test Phase(系統測試階段):這個環節是等待系統對程序進行測試。如果系統認為你的程序過關。的分數就定下了,如果系統測試你的程序失敗了,則繼續扣除你的分數。接下來,你就可以看到自己的最終成績了。
參與Topcoder
登錄http://www.topcoder.com/tc,點擊右上角的“register nOW”注冊會員。以會員身份登錄以后,先查看右上角的competetion guide(比賽向導)、designtutarial(設計比賽教程)和development tutarial(開發比賽教程)。然后依照要求下載安裝比賽平臺軟件。登錄之后每個人都會被隨機分配進某個房間,進去之后就可以參加比賽了。
在左欄選點sofeware development。打開下一級菜單attive contests中提供的當前比賽項目,其中有設計語言、項目內容、報名期限,交卷期限、項目報酬、當前已報名人數以及已交卷人數等等。點擊componenfF的項目內容,了解項目的要求后就可以開始做題了。最后一定要在有效時限內交卷。從最后的報名期限到最后的交卷期限只有5天。評卷結束后,點擊sofewaredevelopment,打開下一級菜單conteststatus,就能知道自己是否獲獎。
Topcoder能帶來什么?
對于熱衷挑戰的人,Topcoder是一個讓編程者挑戰自我和他人的網站。Topcoder除了舉辦一年一次的公開賽以外。還舉辦常規比賽。對于計算機專業的學生來說,參賽的最大收獲就在于對自身程序設計能力的提升。
對于想用智慧換金錢的人,這是一份不錯的兼職工作,獲勝者們都將獲得獎金。常規賽的第一名獲500美元(組件類一般為800美元),第二名獲250美元(組件類一般為400美金元)。而公開賽的年度冠軍更是可以獲得上萬的獎金。就算你不參加比賽,還有不少軟件公司會將一些程序設計任務外包給Topcoder,若你參與了其中的工作,也將獲得軟件公司付出的酬勞。
對于求職者,Topcoder是個優秀的人力資源平臺。軟件企業經常通過這個平臺獲取到優秀程序員的信息,并從中招聘員工。Google和Microsoft等知名大公司都曾經在Topcoder尋求優秀設計人員。原浙江大學計算機專業的學生吳嘉之(注冊名washingBone)就是一個通過Topcoder成就夢想的典范。他因參加Topcoder的程序設計比賽而成名,成為學生百萬富翁,并已于去年繼吳瑩瑩之后被Topcoder公司任命為該公司中國部的副總裁。
根據T0peoder公司當前公布的數字,在各項比賽活動中,來自中國的學生比比皆是,獲得豐厚獎金者更比比皆是。面對來自全世界的競爭者,贏了,有美元收益,輸了,可積累經驗,鍛煉程序設計能力,也是一件好事呢!
“玩”出來的職業選手——PCD對話2007 Topoder公開賽冠軍何豐
何豐簡介:1982年生于廣西瓊海市一個知識分子家庭,自幼酷愛計算機,2004年畢業于北京師范大學應用數學專業。2007年參加Topcoder公開賽。因成功開發了一系列用于壓力測試、AJAX網絡應用以及動態網頁數據處理的組件,而奪取冠軍寶座,并贏得了15000美元的冠軍獎金。
PCD:聽說你自幼酷愛計算機。但身邊卻沒有一個與計算機沾邊的親人或朋友,能回憶下小時候與計算機的接觸嗎?
何豐:初二的時候(95年),我第一次接觸到計算機。那個時候學校有個計算機培訓班,教的是五筆字型打字。當時電腦還是286單色顯示器。我第一眼見到計算機就覺得那個東西很神奇,特別是那黝黑黝黑的顯示屏,看起來比電視清晰多了于是對計算機產生了非常強烈的興趣。
我父親非常開明,經常給我買各種計算機報刊雜志,有你們《計算機應用文摘》,還有《電腦報》以及《電腦愛好者》。所以,盡管那個時候還沒有互聯網,但我仍能接觸很多比較前沿的計算機訊息。接觸得越多,就越感覺計算機世界的神秘有趣,也就越發著迷了。
PCD:我們知道。喜歡擺弄計算機和編寫程序之間的距離是非常大的,你又是怎樣喜歡上程序設計的呢?
何豐:最初接觸編程,還是因為那個培訓班。由于我學得很快,當時打字速度班里第一,老師對我頗有好感,就建議我學習Basic。他還推薦我參加全國青少年信息奧林匹克賽,這個比賽涉及到一點編程的知識。我那時什么也不懂,父親就為我買來比賽置頂教材,自學了一段時間,后來居然歪打正著地得了省內二等獎。從那時起,我就覺得編程是一件比拆裝機箱、重做系統更好玩的事,就開始自學程序設計語言。從Basic一直到后來的JAVA,幾乎全靠自學。
其實我是一個好奇心比較強的人,也比較貪玩,對計算機的興趣也是以“玩”為初衷的。一開始是把雜志上刊發的程序敲到電腦里面運行,覺得很好玩。后來自己就開始琢磨寫一些小玩意兒,用程序解決一些數學題目,就越來越喜歡了。
PCD:為什么你上大學時沒有選擇計算機專業?
何豐:我的高考分數沒有達到我報考的清華大學計算機專業的分數線,被調配到北師大的應用數學專業。其實,我后來才明白,只有學好了數學這些基礎學科,才能做好程序設計。基本功不扎實,學再多編程語言也沒用。
PCD:你為什么會辭職做一名職業參賽手?這種狀態讓你更輕松還是壓力更大?
何豐:我畢業后與同學一起開公司創業,也是做程序設計相關的業務,但后來公司沒能做成功。而且我比較貪玩,又不喜歡受到約束。所以我就干脆以參加Topcoder比賽作為職業,成了職業選手。
剛辭職時很有壓力,因為收入不固定,這個職業也不太受到肯定。畢竟是比賽,不一定總是能贏,贏不了就沒有獎金,也就沒有收入。但是得益于前幾年工作時對待技術認真學習鉆研的態度和積累的經驗,我很快適應了比賽并且保持了比較高的勝率。
PCD:對那些正在學習程序設計的學弟學妹們,你有什么好的建議?
何豐:從我自身經歷來說,興趣是最重要的。大學里枯燥的教材很容易消磨你的興趣,提前參與社會實踐,自己多寫一些有趣的應用程序,能讓你保持一顆充滿激情的心,并推動你不斷地學習新的知識。比如,我大學的時候為了能把掃雷玩得更快,就寫了一個程序專門協助我分析雷區概率,因此學會了Delphi。后來我又羨慕人家的動態網站,自己也開發了一個,于是又學會了ASP。現在回頭看來,我學計算機的經歷。就是一路玩過來的,為了玩得更好,所以不停地學習。