少兒編程 > 文章資訊 > 少兒編程 > 自學(xué)編程進(jìn)美國名校 看高中“極客”男神煉成記
自學(xué)編程進(jìn)美國名校 看高中“極客”男神煉成記
童程童美 2016-08-04
高中生開發(fā)App,能做到什么地步?前段時間,一個名叫Remix的App轟動了魔都學(xué)生圈,打開微信朋友圈,無論是學(xué)生、老師還是家長,都在轉(zhuǎn)發(fā)關(guān)于Remix的內(nèi)容。軟件在蘋果AppStore上線不久,下載人次迅速超過800。
摘要高中生開發(fā)App,能做到什么地步?前段時間,一個名叫Remix的App轟動了魔都學(xué)生圈,打開微信朋友圈,無論是學(xué)生、老師還是家長,都在轉(zhuǎn)發(fā)關(guān)于Remix的內(nèi)容。軟件在蘋果AppStore上線不久,下載人次迅速超過800。
正如小扎開始做臉書一樣,Remix也是一款基于上海高中生活動及需求的社交平臺,一個高中生社團(tuán)活動的集成平臺。在這里,不論大小學(xué)生組織都能脫離自己的圈子向外推廣、壯大。同時,每位學(xué)生都能在這個平臺找到適合自己的活動。更令人感到后生可畏的一點(diǎn)是,從寫代碼到App設(shè)計全都由一位名叫房天益的高中生制作完成。
房天益來自南洋模范中學(xué)的科創(chuàng)班,SAT2300、托福113的他已經(jīng)拿到了UC Berkeley計算機(jī)科學(xué)專業(yè)的offer。接觸到編程和iOS軟件開發(fā)大約在兩年前的上海青少年科技創(chuàng)新大賽中,當(dāng)時要做一個software的項目,但是成員們都不會寫程序,因此房天益決定自己動手查資料、研究。比賽這個契機(jī)讓他接觸到了編程,從那時起編程就變成了他業(yè)余生活中不可或缺的一部分。自從參加青少年科技創(chuàng)新大賽后,房天益就愛上了編程。
“未來,編程會變成數(shù)學(xué)語文一樣的課程”
最初接觸編程時引導(dǎo)者是誰?有選擇專門的課程嗎?還是自學(xué)、自己鉆研為主?自學(xué)的話是以哪些方式為主呢?
最初并沒有人引導(dǎo)我,是通過自己看書查資料,慢慢摸索鉆研出來的。其實在編程這一塊,國內(nèi)的百度搜索是根本找不到關(guān)于編程的 Reference 的,如果有問題,并不能很快地找到你想要的答案。因此必須要強(qiáng)迫自己克服語言障礙,學(xué)習(xí)用 Google, StackOverflow 等國外服務(wù)解決自己的問題。
另外,我也有在iTunes上聽Stanford大學(xué)公開的網(wǎng)課,The Introduction to iOS Programming?,F(xiàn)在我們App的團(tuán)隊已經(jīng)擴(kuò)大到15人,我們也會和美高的同學(xué)探討一些問題。
之前看到你說過“其實我覺得programming在未來可能是就會像語文數(shù)學(xué)這樣在學(xué)校,更加深入來教的一門課”,為什么這樣說?你從什么時候或因為哪些事情產(chǎn)生“編程在未來會很重要!”的感覺?
當(dāng)時參加這個比賽算是一個契機(jī),突然讓我覺得編程好像很重要。
其實我覺得計算機(jī)跟物理化學(xué)比起來有非常大的優(yōu)勢,比如說一個高中生或者初中生,想做一個化學(xué)家或者物理學(xué)家,很難在自己的這個年紀(jì)找到一個資源,去體驗嘗試,必須要有非常好的導(dǎo)師或者一個完善的實驗室供你使用,物理也是如此。
但是學(xué)習(xí)計算機(jī)的話,只需要有一臺電腦,就可以坐下來去創(chuàng)造一些新的東西,所以我覺得設(shè)置這門課在學(xué)校的話成本也不是非常高,而且現(xiàn)在慢慢地趨向于電子化,因此我覺得這個可以廣泛地去推廣。
其實computer science在美國已經(jīng)是K12的一個項目了,只是中國好像還沒有實現(xiàn)。中國很多人對computer science有一個誤區(qū),因為學(xué)校里教授的computer science課程比較死板,可能只會讓學(xué)生去算一些非常簡單的東西,包括一些算法啊。就比方說寫一個程序,在屏幕上打一個※號,但其實computer science不是那么無聊的,可以讓你去創(chuàng)造一些非??岬臇|西,包括寫App,也因為寫App我才慢慢覺得它特別酷,從而在這件事情上切入計算機(jī)科技。
你對編程產(chǎn)生這么大的興趣,有打游戲的作用嗎?除了Remix,你之前還做了哪些項目或嘗試?你會想去做一個游戲嗎?
其實我不太打游戲,因為我覺得游戲都挺無聊的,我也不太會去刷朋友圈等社交軟件,這一點(diǎn)上也為我節(jié)省了不少的時間。
接觸編程以來最早做過一個幫老師批改作業(yè)的軟件,有學(xué)生端和老師端,只能批改選擇題,自己練手試試,所以我也沒有特別大地去推廣。
后來在哈佛公會上認(rèn)識了我的partner,她自己創(chuàng)立了一個學(xué)生組織用來交換二手圖書,叫做Booky Green,當(dāng)時她想讓我?guī)退鯝pp,這是我們的第一次合作,到后來的Remix是我們的第二次合作。
平時生活中,有時候會想到說如果有這么一個游戲挺好的,但是并不會想辦法去實現(xiàn)它,因為我寫程序的話其實是想基于解決生活當(dāng)中的一些問題出發(fā)的,但是我認(rèn)為游戲好像還沒有迫切到是一個社會問題,所以我暫時還沒有想過要去設(shè)計一個游戲。
你覺得在學(xué)習(xí)編程的過程中,除了技術(shù),對你思維方式的塑造和能力提高有什么幫助?
計算機(jī)其實是一件非常精密的技術(shù),因為寫程序不按照一個特定的邏輯或者說邏輯有漏洞的話就很容易產(chǎn)生bug,所以多多的練習(xí)對我的邏輯思維非常有幫助。在這個過程中需要想到它各種的可能性,不是只是單一地想到一種可能性,有很多bug都是在不被期望的情況下發(fā)生的,必須要全方位地去考慮一個問題。
因為編程才養(yǎng)成了一個習(xí)慣,就是做一件事情會完全地投入進(jìn)去做,不去管別事情。我一般在寫Remix或者別的程序的時候基本上會寫到晚上兩三點(diǎn),反正就是根本不睡覺的這種狀態(tài)。其實這并不是一個好習(xí)慣,但這樣也鍛煉了我短期內(nèi)的爆發(fā)力,和做一件事的激情。
“寬松的成長環(huán)境為我提供了更大的空間”
你和爸媽平時的關(guān)系如何?他們的教育方式和與你的交流方式是怎樣的?支持你的愛好嗎?或是有一定程度的反對?有發(fā)生過鉆研編程落下考試的事情嗎?父母的態(tài)度如何?
我和爸媽的關(guān)系非常的好,因為我的家庭給我提供了一個更加寬松的環(huán)境,我爸媽從來不會要求我去達(dá)到一個什么樣的成就,或者要求我去完成什么,這一點(diǎn)來看我還是挺幸運(yùn)的。
雖然說我這個年紀(jì)的孩子一般都不會跟爸媽有太多的交流,但正是因為這一點(diǎn)我和父母的關(guān)系非常好,我在學(xué)校發(fā)什么事情,都會和他們分享,包括做App學(xué)編程、交女朋友。一般我和女朋友出去之前都會告訴我的父母,不像很多家長一樣會明確禁止。
當(dāng)然也會有因為編程而落下課程的東西,很多時候?qū)懗绦驎谕砩纤季S比較敏銳,因此會熬夜寫程序,偶爾在上課的時候會睡著。但是父母不太會管教我,他們只會去管我一些大是大非的事情,他們比較相信我,從小就不會過多地去干預(yù)我的學(xué)習(xí)成績,因為他們覺得我自己可以搞定。也因為這一點(diǎn),我覺得我還是一個比較自覺的人,平時做一些事情會有自己的想法和安排。
在沒有父母管教的情況下,你花時間的方式和別人有什么不同?除了上課。有哪些必須的課外班,哪些你自己的活動?你如何擠出時間做自己的事情?
第一點(diǎn)我覺得還節(jié)省蠻多時間的,就是我不太愛玩游戲,我覺得游戲都挺無聊的,也不太會去刷朋友圈等社交軟件;第二點(diǎn)就是有些同學(xué)會在上課的時候?qū)懽鳂I(yè),但是我在學(xué)校里面不寫作業(yè),要寫也會回家寫,我覺得在學(xué)校里寫作業(yè)比較浪費(fèi)時間。
另外聽課的話我會著重聽我比較弱勢的科目,比如數(shù)學(xué)課,就會很認(rèn)真去聽,但是像強(qiáng)勢學(xué)科英語就不會那么認(rèn)真去聽,但是我會在課上去看一些對自己真正有用的東西,會去補(bǔ)充一些自己不會的東西。我覺得大部分的家長都不太喜歡自己的孩子這樣子,但是我覺得對于我個人來說這一點(diǎn)對我?guī)椭€是挺大的,因為我不會把時間花在那種沒有意義的事情上。
課外活動的話其實還好,擔(dān)任Techomedia PR Core, Booky Green的技術(shù)部部長,另外我比較喜歡出去騎車,平時會和別人一起騎車去很遠(yuǎn)的地方,我上次還騎到了崇明。我的性格是喜歡去探索一些未知的東西,因此我也比較喜歡去旅行,在之前的假期里和家人一起去過日本、歐洲、馬來西亞、新加坡、美國等一些熱門城市。比較喜歡的城市是香港,因為我覺得這個城市是中式里又摻著非常多的西式的風(fēng)格,比如說香港的路名也會比較有不一樣的感覺。
南洋模范中學(xué)是一個理科強(qiáng)勢的名校,在這所學(xué)校中,學(xué)業(yè)壓力不會輕松,你的成績怎么樣?你是如何“搞定”你的學(xué)業(yè)的?在課堂之外,你還會鉆研哪些問題?
從小時候開始成績就挺好的,大概第一名第二名的樣子,初中高中大概年級前二三十名這樣子,高二因為在準(zhǔn)備SAT和托福,成績沒有以前那么好了。
我的強(qiáng)勢學(xué)科應(yīng)該是英語,爸爸在外企工作,英語很好。受爸爸的影響,我英語其實從小開始就很好,而且從小就對英語比較感興趣,小時候就會看一些英文的網(wǎng)站,而且并沒有上過太多的補(bǔ)習(xí)班。小學(xué)之前上過一個劍橋英語,初中六年級的時候上了一個新概念英語,SAT也只上了一個月。
在學(xué)校里學(xué)習(xí)壓力還挺大的,尤其是我還是科創(chuàng)班,高一高二的時候就會領(lǐng)先別的班去學(xué)習(xí)一些新的知識,所以學(xué)習(xí)壓力也會更大。
我一直以來的學(xué)習(xí)方法其實是,我認(rèn)為我會的知識就不會花時間再去做,我會把更多時間用來做一些我不熟練的東西或者說我不會的東西,比如,英語是我的強(qiáng)勢學(xué)科,相比來說我的理科并不是特別好,所以我會在理科方面進(jìn)行大量的刷題。這也是一直以來我認(rèn)為比較適合我的學(xué)習(xí)方式。
這個App前期做了多少準(zhǔn)備?花了多長時間完成的?在做UI方面和用戶體驗這些,最初你會向誰尋求指導(dǎo)?還是自然就研究出來了?
我大概是從去年年初開始接觸iOS編程的,這一年里也一直在操練,做準(zhǔn)備,如果只是做App的話大概花費(fèi)了30-40天的時間。
因為要設(shè)計App,所以也參考了別的一些App,有一些App對我的創(chuàng)作也有影響,比如說知乎和一些其他做活動的App。
設(shè)計方面其實都是我自己寫的,但是我經(jīng)常會上一個設(shè)計類的網(wǎng)站,叫做Dribbble,它是我蠻多靈感的來源。
未來你還打算做些什么?你為自己構(gòu)畫的未來圖景是怎樣的?
我大學(xué)選的也是計算機(jī)專業(yè),所以我相信在大學(xué)里可以有機(jī)會去學(xué)習(xí)一些真正可以算得上是頂尖的計算機(jī)技術(shù)。
其實我認(rèn)為未來的趨勢是商業(yè)和科技的結(jié)合,我覺得這樣的人才是最頂尖的,所以我可能會往這條路去發(fā)展,以計算機(jī)技術(shù)為基礎(chǔ),再去補(bǔ)充一些商科的知識。
未來可能不會繼續(xù)讀研究生,因為我覺得自己不會很適合學(xué)術(shù)類的東西,與那種研究計算機(jī)內(nèi)部構(gòu)造的人相比,我更喜歡去解決生活中的一些實際問題,可能畢業(yè)之后會在美國工作幾年。