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