摘要: 用代碼編織夢想,用字節(jié)振動人生。第37屆全國青少年信息學(xué)奧林匹克競賽在長沙舉行,來自全國27個省市參賽選手上演了一場頂尖的智慧競賽。 今天我們要介紹的主人公來自華中師大一附中高三(29)班學(xué)子魏辰軒。采訪內(nèi)容由楚天都市報整理,作為湖北省代表隊(duì)成員參加比賽,獲得金牌,并入選國家集訓(xùn)隊(duì),將直接保送清華大學(xué)。此外,該校另外三名省隊(duì)隊(duì)員吳澤文、蔣軒林、徐向燦獲得銀牌,他們在強(qiáng)基計劃中將具有破格入圍資格。 經(jīng)常有同學(xué)和家長私信我們問初中或者高中才接觸編程到底晚不晚,通過魏辰軒的故事也能告訴大家,只要努力,即使高中再接觸編程也是可以成功的。 魏辰軒(圖片來自華師大一附中) 01 高一才接觸編程,成功需要興趣天賦和努力 “進(jìn)校時聽說學(xué)校引進(jìn)了一位很牛的教練來,我當(dāng)時就很想學(xué)編程?!?018年,華師一附中從信息學(xué)競賽強(qiáng)省湖南引進(jìn)特級教師向期中,擔(dān)任該校信息學(xué)競賽總教練,上高中前并沒有接觸過編程的魏辰軒,由此走上信息學(xué)競賽之路。 向教練帶領(lǐng)的四名省隊(duì)隊(duì)員斬獲一金三銀 “你身邊人強(qiáng)了,你才能更強(qiáng)?!?/strong> 魏辰軒表示,兩年多的學(xué)習(xí),他除了感謝教練悉心的指導(dǎo),也很享受同伴之間你追我趕刷題、相互鉆研算法的狀態(tài),“教練特意在機(jī)房里設(shè)置了一塊白板,讓我們能彼此碰撞思維的火花,分享解題思路,發(fā)揮團(tuán)隊(duì)的力量。” 向老師介紹,信息學(xué)競賽相比其他競賽,一大特點(diǎn)是非常注重實(shí)踐。此次全國決賽分兩天進(jìn)行,每天要求選手們在五個小時解答三道題,每道題需要上機(jī)編寫一個程序。出題人預(yù)先設(shè)計好測試點(diǎn)的正確答案,選手程序運(yùn)行占用的空間,以及選手程序運(yùn)行的時間,由主辦單位中國計算機(jī)學(xué)會開發(fā)的評測軟件,對每個選手的程序進(jìn)行評分。 信息學(xué)并不在高考科目里面,如何平衡競賽和文化課學(xué)習(xí)?向期中表示,“一般來說,學(xué)生們平時正常上文化課,有重大比賽時會停課2至4周進(jìn)行集訓(xùn),全天待在機(jī)房研究算法、模擬考試、訂正錯誤、總結(jié)與反思?!?據(jù)介紹,信息學(xué)本質(zhì)還是數(shù)學(xué)建模和算法設(shè)計,所以競賽培訓(xùn)中還要學(xué)好初等數(shù)論、組合數(shù)學(xué)、概率論和部分高等數(shù)學(xué)的內(nèi)容,因此學(xué)生的數(shù)學(xué)都是很棒的。其次,競賽培訓(xùn)的本質(zhì)不只是知識的傳授,更重要的是能力的培養(yǎng)和非智力因素的提升,通過競賽培訓(xùn),學(xué)生的分析問題和解決問題的能力得到了提高,在不斷挑戰(zhàn)難度的同時,考驗(yàn)學(xué)生的意志力和心理承受力,“教育的本質(zhì)也在提升學(xué)生的能力,只有能力才是受用一輩子的,把這些能力應(yīng)用到文化課的學(xué)習(xí)中去,我們有理由相信,他們的其他學(xué)科的學(xué)習(xí)也不是問題?!毕蚱谥姓f。 “我們?nèi)煸跈C(jī)房里,經(jīng)常上午考五個小時,晚上再上機(jī)考四個小時,十分燒腦?!?/strong> 魏辰軒興奮地說,盡管網(wǎng)課期間無法回校訓(xùn)練,但他晚上10點(diǎn)半到12點(diǎn)經(jīng)常參加線上的一些編程比賽,“能用編程解決問題,很有成就感,自己也很感興趣,相當(dāng)于從中學(xué)時就提前選定了未來的職業(yè)方向。” 02 優(yōu)秀的孩子可以從青少年時期就接觸信息學(xué) “此次學(xué)校參加比賽的四名省隊(duì)隊(duì)員獲得一金三銀,可以說有驚喜也有遺憾?!毕蚶蠋煴硎?,其實(shí)選手們都很有實(shí)力,但比賽對選手的心理、競技狀態(tài)、得分技巧都有考驗(yàn)。對小遺憾,向期中表示,需要用長遠(yuǎn)眼光看待一時得失,信息素養(yǎng)的培養(yǎng)終身受益,他同時建議更多優(yōu)秀的孩子可以從青少年時期就接觸信息學(xué),培養(yǎng)興趣愛好。魏辰軒一路走來,清楚記得自己受到過多少打擊?!邦}做不出來,做得不滿意,都會很受挫,一路比賽也不斷磨練自己的意志力?!弊钭屗∠笊羁痰氖?,2019年4月他首次參加信息學(xué)省隊(duì)選拔時,自己把程序?qū)懞昧?,但是因?yàn)榫o張和做題時間很趕,忘記把代碼按要求放入專門建立的文件夾,結(jié)果被判零分,“相當(dāng)于考試忘記寫名字交了白卷。”魏辰軒說,此次比賽自己心態(tài)穩(wěn)定,正常發(fā)揮,但之前的教訓(xùn)歷歷在目,這些經(jīng)歷成了寶貴的財富。 盡管已經(jīng)保送清華,魏辰軒的高三生活也并不輕松,既要學(xué)習(xí)文化科目以及大學(xué)知識,同時還要為接下來的國家隊(duì)選撥做準(zhǔn)備。談及未來的打算,他立志將來做一名計算機(jī)科學(xué)家,研究最新的算法和數(shù)據(jù)結(jié)構(gòu),為國家建設(shè)作出貢獻(xiàn)。 03 編程能力在未來將提升個人競爭力 為什么這么說?從大環(huán)境來說,整個社會已經(jīng)逐漸邁入人工智能時代(AI時代),AI時代是一個以計算機(jī)科學(xué)為基礎(chǔ)的時代,其中的核心則是編程思維??上У氖牵芏嗳苏J(rèn)為不從事計算機(jī)就不需要學(xué)習(xí)編程,以至于錯失了培養(yǎng)編程思維的機(jī)會,導(dǎo)致他們在學(xué)習(xí)和工作中處處落后于其他人。 比爾蓋茨說過:學(xué)習(xí)編程可以鍛煉你的思維,幫助你更好地思考,創(chuàng)建一種我認(rèn)為在各領(lǐng)域都非常有用的思維方式。 通過這四個步驟,一個復(fù)雜的問題先被拆解成一系列好解決的小問題→每一個小問題被單獨(dú)檢視、思考,尋找解決方案→聚焦幾個重要節(jié)點(diǎn),忽視小細(xì)節(jié),形成解決思路→設(shè)計步驟執(zhí)行→問題解決。
1、基本技術(shù)技能。 我想?yún)⒓痈傎惗页煽儾诲e的朋友,基本上都有三個非常出色而且難得的基本技術(shù)能力: 算法設(shè)計、快速編程和自我調(diào)試。這是所有比賽都必須的:給定一個問題,需要很快地設(shè)計出算法,很快地編寫出程序,并且在整個算法設(shè)計和編程過程中不斷拷問自己的設(shè)計和程序,盡早發(fā)現(xiàn)漏洞、完善設(shè)計,最后在提交 結(jié)果之前通過一系列的測試盡量提高程序通過競賽評委測試的概率。這三項(xiàng)基本能力是工作里面非常有用的。大部分公司的技術(shù)面試也集中在這三項(xiàng)基本技能里面。競賽經(jīng)驗(yàn)的確讓優(yōu)秀的參賽者在實(shí)際工作中獲得先發(fā)優(yōu)勢,一般IOI/ICPC/TopCoder的優(yōu)秀 參賽者都很容易獲得公司錄取,并且在起始級別的工程師崗位上作得非常出色。 2、獨(dú)立學(xué)習(xí)的能力和自信心。 我想大部分的NOI參賽者都是中學(xué)就開始學(xué)習(xí)中學(xué)課程里面不函括的內(nèi)容:面向?qū)ο蟪绦蛟O(shè)計、數(shù)據(jù)結(jié)構(gòu)、圖論和網(wǎng)絡(luò)流理論、算法理論、離散數(shù)學(xué)等等。如果一個參賽者是通過自己獨(dú)立學(xué)習(xí)這些課外知識而在競賽里面脫穎而出的,她一定有獨(dú)立學(xué)習(xí)的能力和自信心,同時相信自己能夠很快的學(xué)會各種新知識。這個能力和自信在工作中非常重要: 計算機(jī)語言日新月異,從Pascal/C到C++/Java到Python/PHP/Javascript/Objective-C??一個人不可能從一 開始就懂得所有的知識,但只要自信自己能學(xué)會任何新的語言和概念(并且的確可以學(xué)會),那他就可以敢于面對未知的挑戰(zhàn)。在工作中,這些“敢吃螃蟹第一人”往往會得到更多機(jī)會去開發(fā)新項(xiàng)目、創(chuàng)建新公司。 3、表達(dá)能力 這一點(diǎn)我本人在吳文虎老師指導(dǎo)的NOI冬令營里面獲益匪淺。當(dāng)時吳老師要求每位冬令營選手挑選一 個復(fù)雜的競賽問題深入研究解法,最后寫成論文,并且在冬令營里面做報告。吳老師親自把關(guān),指導(dǎo)論文里面寫不清楚或者報告里面說不清楚的地方。這是我第一次學(xué)會如何把一個技術(shù)問題寫清楚、說清楚。這樣的訓(xùn)練雖然跟競賽成績本身沒有直接的關(guān)系,但能夠讓競賽選手的表達(dá)能力上了一個臺階。表達(dá)能力對實(shí)際工作有非常重要的意義:現(xiàn)代的大型軟件系統(tǒng)開發(fā)不是一個英雄人物就能完成的,如果一個子系統(tǒng)的算法和程序不能清晰地被理解,那這個子系統(tǒng)和它的作者就成為單一故障點(diǎn)(Single Point Of Failure) —— 只要作者一度假,就沒有人能維護(hù)或者擴(kuò)展這部分?;谶@種風(fēng)險,大家寧愿用一個更慢更費(fèi)內(nèi)存但能被其他人看懂的解決方案。在這兩年的招聘過程中,我看到不少這樣的可惜例子:不少ACM/ICPC的選手能在15分鐘之內(nèi)寫出一個很巧妙的算法,在機(jī)器上編譯、測試?yán)佣纪ㄟ^。 但在黑板上或程序注釋里面,他們花20分鐘也沒能說清楚這個算法為什么是對的,為什么要用這個算法。 4、合作能力 NOI/IOI/TopCoder更多的是單槍匹馬,而ACM/ICPC對合作能力的培養(yǎng)更有幫助。三個編程高手共用一臺機(jī)器,緊缺資源誰先用誰后用,如何分工,這些問題在實(shí)際工作中每天都會遇到,如果一個選手在ICPC里面學(xué)會如何跟隊(duì)友協(xié)調(diào)、如何培養(yǎng)信任,那她在實(shí)際工作里面就很容易融入一個團(tuán)隊(duì),在團(tuán)隊(duì)里面找到自己的發(fā)力點(diǎn) ,很快為團(tuán)隊(duì)作出貢獻(xiàn)。 5、志同道合的朋友圈: 一般來說,愿意花額外時間參加競賽的學(xué)生都是喜歡寫程序的,因?yàn)橄矚g,他們往往更容易在 這方面越做越好。我10年前在競賽過程中認(rèn)識的老對手,現(xiàn)在還有很多是好朋友,不時能聯(lián)系一下,得到他們的指導(dǎo)、交換最新的行業(yè)信息和趨勢。這一點(diǎn)雖然對 實(shí)際工作沒有直接幫助,但我覺得是參加競賽獲得的最寶貴的東西。 這些大概是我在比賽里面學(xué)到的最有用的一些東西。大家如果對編程感興趣,千萬不要因?yàn)楦杏X學(xué)的時間晚了就放棄了。很多學(xué)習(xí)過程中收獲的東西不僅僅只體現(xiàn)在競賽成績上,有些經(jīng)驗(yàn)和能力能使你受用終身。 |
|