如何正確有效學(xué)習(xí)大學(xué)計(jì)算機(jī)
如何正確有效學(xué)習(xí)大學(xué)計(jì)算機(jī)
很多同學(xué)想要學(xué)習(xí)計(jì)算機(jī),但是怎么都學(xué)不會(huì),為了幫助同學(xué)們更好的學(xué)習(xí)計(jì)算機(jī),以下是學(xué)習(xí)啦小編分享給大家的學(xué)習(xí)大學(xué)計(jì)算機(jī)的方法,希望可以幫到你!
學(xué)習(xí)大學(xué)計(jì)算機(jī)的方法
專注并著重于基礎(chǔ)
經(jīng)常有同學(xué)向小蒜抱怨編程難學(xué),但是他們的狀態(tài)總是今天看 C 語(yǔ)言課程,明天又看 Java,后天又看 Python,東搞西搞!看到別人做網(wǎng)頁(yè),自己興趣了來(lái)了,學(xué)學(xué)學(xué)……這是幾乎所有初學(xué)者的通病。多學(xué)一些知識(shí)并不是壞事,但是如果你今天想學(xué)這個(gè),明天又想學(xué)那個(gè)。這樣你就只能永遠(yuǎn)徘徊在技術(shù)的門外。
學(xué)習(xí)計(jì)算機(jī)科學(xué),最重要的是要打下扎實(shí)的基礎(chǔ),先專注于一門語(yǔ)言,然后再拓展到其他語(yǔ)言,養(yǎng)成快速學(xué)習(xí)新語(yǔ)言的能力。然后是算法和數(shù)據(jù)結(jié)構(gòu),這些都是超出語(yǔ)言的,就是說(shuō)不管是學(xué) C 學(xué) Java 學(xué) Python 還是別的什么,這一部分都是一致的。因此學(xué)習(xí)這部分的知識(shí)可以說(shuō)是事半功倍的事情。
學(xué)會(huì)使用搜索
學(xué)會(huì)正確使用搜索將會(huì)幫助你在學(xué)習(xí)道路上更快地解決問(wèn)題,有很多同學(xué)一遇到問(wèn)題自己也不思考就急于找人問(wèn)。在 github、google 和在線網(wǎng)站上面有大多數(shù)現(xiàn)成的解決方案。買本老教授的書學(xué)編程的日子已經(jīng)過(guò)去了。現(xiàn)在的代碼來(lái)得快去得也快,而至關(guān)重要的事情是培養(yǎng)自己快速學(xué)習(xí)新知識(shí)的能力。掌握一些使用搜索引擎的技巧,如學(xué)會(huì)使用搜索語(yǔ)法、布爾檢索等方法,能讓你在學(xué)習(xí)的道路上事半功倍。
堅(jiān)持寫代碼
就像運(yùn)動(dòng)員每天鍛煉一樣,經(jīng)常練習(xí)寫代碼其實(shí)也是學(xué)習(xí)計(jì)算機(jī)科學(xué)必須要做的。這不僅適用于寫代碼,事實(shí)上,這句話可應(yīng)用于任何行業(yè)。騎自行車,打籃球,讀書,烹飪等等等等。你做的越多,你就會(huì)越擅長(zhǎng),熟能生巧就是這個(gè)道理。
這也是計(jì)算機(jī)領(lǐng)域的真理。如果你想擅長(zhǎng)編程,那么你就必須每天寫代碼。代碼寫得越多,你才會(huì)覺(jué)得它越容易,并且越擅長(zhǎng)于編程。每天寫代碼,每天學(xué)一點(diǎn)新的東西。隨著時(shí)間的積累,你不但能學(xué)到很多,你也會(huì)變得更為優(yōu)秀。
讓代碼錯(cuò)落有致
錯(cuò)落有致,使用空格,代碼質(zhì)量與其整潔度成正比。干凈的代碼,既在質(zhì)量上較為可靠,也為后期維護(hù)、升級(jí)奠定了良好的基礎(chǔ)。在課程中小蒜再三提到了養(yǎng)成良好的代碼便攜風(fēng)格的重要性,但是仍有同學(xué)寫的一塌糊涂,既不利于自己檢查找錯(cuò),也不利于別人幫助查看。在這里小蒜推薦大家閱讀 Robert C. Martin 寫的《Clean Code》,作者給出了一系列行之有效的整潔代碼操作實(shí)踐。
學(xué)會(huì)檢查與提問(wèn)
難以有效地自我檢查一直是初學(xué)者最大的弊端。小蒜經(jīng)常會(huì)遇到有同學(xué)因?yàn)橐粋€(gè)非常小的失誤導(dǎo)致在一個(gè)問(wèn)題上卡殼好久,而發(fā)生這一切只是因?yàn)樗辉敢饣仡^去檢查。所以,在你責(zé)怪別人之前,先檢查自己的代碼,想一想福爾摩斯的這條建議,“一旦你排除了種種不可能,剩下的不管有多么難以置信,一定就是真相”。
在遇到問(wèn)題上同理,有很多問(wèn)題并不是問(wèn)題本身很難,小蒜遇到的多數(shù)提問(wèn)者的根本原因是:“沒(méi)有明白這個(gè)問(wèn)題究竟是怎樣的問(wèn)題。”可想而知,當(dāng)提問(wèn)者都不清楚自己所面對(duì)的問(wèn)題,回答問(wèn)題的人也就只能愛(ài)莫能助了。
減少熬夜
隨著學(xué)得越深,很多同學(xué)也染上程序員的惡習(xí)——熬夜。雖說(shuō)有時(shí)晚上夜深人靜的時(shí)候工作效率奇高,但是放棄睡眠就像是高利貸借款,第二天所要付出的代價(jià)非常高昂。當(dāng)真的累了的時(shí)候,往往更容易走上偏執(zhí)的道路,而不是反思路線是否正確。當(dāng)我們累了的時(shí)候,創(chuàng)造力極容易急劇下降以致于想不出創(chuàng)造性的解決方案。而且當(dāng)你疲倦的時(shí)候,你的耐心和忍受力就會(huì)受到嚴(yán)重的影響,就像炮仗一樣一點(diǎn)就著。
軟件開發(fā)很少是短途沖刺,大多是馬拉松。而且是多場(chǎng)馬拉松。所以,試圖今天壓榨出 110% 的性能而明天只有 70% 的性能可用,絕對(duì)是一個(gè)壞主意。
學(xué)習(xí)大學(xué)計(jì)算機(jī)的好處
1.英語(yǔ)為技術(shù)插上翅膀
搞計(jì)算機(jī)的同學(xué)應(yīng)該都知道英語(yǔ)的重要性,至少如果你英語(yǔ)好一些,寫程序不至于捉襟見肘用拼音給變量命名。同時(shí),因?yàn)楹芏嘞冗M(jìn)的技術(shù)理念都會(huì)以英文形式出現(xiàn),如果你要等到翻譯的版本,一方面要晚一大步,另外一方面,也要忍受翻譯腔的傷害。
至于為什么翻譯的文獻(xiàn)不能盡如人意,一方面是技術(shù)人才在翻譯領(lǐng)域的訓(xùn)練不夠,翻譯也是一門語(yǔ)言轉(zhuǎn)換的技術(shù);另外一方面是純粹的翻譯往往是外語(yǔ)背景出身,在技術(shù)領(lǐng)域的積累也不足,同時(shí)翻譯尤其是筆譯行業(yè)的低價(jià),也會(huì)造成譯文質(zhì)量的低下。
但是如果你的英語(yǔ)好一些,可以為你省去大量的精力和時(shí)間。只要你搭好梯子就能接入一個(gè)無(wú)限游弋的世界。當(dāng)你的思想不會(huì)被語(yǔ)言所束縛的時(shí)候,你的視野也隨之開闊起來(lái)。
我在微軟亞洲研究院實(shí)習(xí)的時(shí)候,有幸和微軟總部研究院的研究員共同完成一項(xiàng)研究課題。在前期和我的導(dǎo)師大量地做文獻(xiàn)調(diào)研,制作研究計(jì)劃方案,中期遠(yuǎn)程會(huì)議商討方案,后期完成論文寫作,全部用英語(yǔ)完成。該聊的天,該扯的淡,該爭(zhēng)的觀點(diǎn),該摳的細(xì)節(jié),都不能說(shuō)中文……雖然我是在國(guó)內(nèi)長(zhǎng)大并完成學(xué)業(yè),我也沒(méi)有出國(guó)留學(xué)交流,但是我相信我的英文,還是能讓我和領(lǐng)域最好的科學(xué)家對(duì)話,我覺(jué)得這是對(duì)我學(xué)習(xí)成果的肯定。
整個(gè)過(guò)程最大的感受是,英語(yǔ)的積累的確為我后期工作節(jié)省了大量的看不見的時(shí)間,這些看不見的時(shí)間是在對(duì)比之下才意識(shí)到的。在早期讀論文的時(shí)候,由于基本上沒(méi)有生詞語(yǔ)法障礙,能把關(guān)注點(diǎn)放在學(xué)術(shù)層面,而我是直到見到其他同學(xué)拿著字典查論文上的單詞才意識(shí)到,我的英語(yǔ)幫助我避開了許多語(yǔ)言的坑。當(dāng)你在用英語(yǔ)學(xué)技術(shù)的時(shí)候,千萬(wàn)不要把技術(shù)材料學(xué)成英語(yǔ)教材,因?yàn)檫@完全是關(guān)注點(diǎn)不同的兩件事情。
所以對(duì)技術(shù)從業(yè)者們,盡管技術(shù)的熟稔也許早已讓我們獲得一個(gè)不錯(cuò)的安身立命的技能,以至于我們可以驕傲地說(shuō),老子英語(yǔ)不好能看懂文檔說(shuō)不出又咋樣,不是照樣年薪XX萬(wàn)?但是我想說(shuō),讓英語(yǔ)為你的技術(shù)插上翅膀,技術(shù)能飛得更遠(yuǎn)。至少你搞定了發(fā)音的問(wèn)題,就不會(huì)讀錯(cuò)一些技術(shù)里的單詞,而光是這一點(diǎn),就已經(jīng)足夠勝出許多技術(shù)儕輩了,起碼你可以在一些國(guó)際會(huì)議的報(bào)告上,談笑風(fēng)生。
2. 技術(shù)讓英語(yǔ)如虎添翼
我在業(yè)余時(shí)間學(xué)習(xí)英語(yǔ)和口譯,接觸了許多英語(yǔ)專業(yè)的同學(xué)以及英語(yǔ)專業(yè)背景出身的朋友。以英語(yǔ)等外語(yǔ)為基礎(chǔ)并且衍生出的翻譯、口譯等行業(yè)有一個(gè)顯著的特點(diǎn),從業(yè)者多為文科相關(guān)背景。人文社科領(lǐng)域雖然也有邏輯相關(guān)的訓(xùn)練,但是整體上在邏輯嚴(yán)密性以及定量分析上,較工科或者理科會(huì)有一些差距。
這表現(xiàn)在,許多英語(yǔ)學(xué)習(xí)者包括口譯學(xué)習(xí)者對(duì)于學(xué)習(xí)和訓(xùn)練的節(jié)奏,只停留在多練多聽多看的定性層次,但是以我目前接觸到的思考方式,采用系統(tǒng)化、邏輯化、步驟化、數(shù)量化的方法來(lái)思考,并且用于指導(dǎo)行動(dòng)的,少之又少。
而這些恰恰又是計(jì)算機(jī)專業(yè)訓(xùn)練的強(qiáng)項(xiàng),不管是系統(tǒng)流程還是白盒黑盒,不管是算法步驟還是輸入輸出,借鑒計(jì)算機(jī)構(gòu)造的體系和世界,映射到英語(yǔ)或者口譯的世界中,定量分析,定性調(diào)整,不論是對(duì)于英語(yǔ)學(xué)習(xí)還是口譯訓(xùn)練,都會(huì)有極大的推動(dòng)作用。
借助這個(gè)思想,我發(fā)起了口譯100小時(shí)訓(xùn)練訓(xùn)練,十萬(wàn)字筆譯/視譯訓(xùn)練計(jì)劃,以及1000天持續(xù)行動(dòng)框架計(jì)劃……引入量化機(jī)制,設(shè)定步驟,強(qiáng)化落地執(zhí)行。同時(shí),也采用一些簡(jiǎn)單的程序,做一些關(guān)于詞的分析和處理,編寫一些小工具,以更好地輔助英語(yǔ)和口譯的訓(xùn)練。我還成立了一個(gè)社群叫ScalersTalk成長(zhǎng)會(huì),用行動(dòng)和成長(zhǎng)的視角,以“從英語(yǔ)初階到同聲傳譯”的成長(zhǎng)框架,規(guī)劃并執(zhí)行整體的英語(yǔ)技能提升。
大數(shù)據(jù)時(shí)代,計(jì)算機(jī)技術(shù)可以讓計(jì)算機(jī)做一些粗略的翻譯,有的人甚至揚(yáng)言要代替同聲傳譯,但是如果你介入到口譯的訓(xùn)練中,你會(huì)發(fā)現(xiàn),以計(jì)算機(jī)的智能,在一段時(shí)間內(nèi),還真是無(wú)法替代人的作用;而倘若你把技術(shù)代入英語(yǔ),卻能起到奇效,讓英語(yǔ)更加如虎添翼。
3.兩個(gè)領(lǐng)域的相通性提供對(duì)世界更本質(zhì)的理解
計(jì)算機(jī)要編程,編程有程序語(yǔ)言,這是用于和計(jì)算機(jī)溝通的工具。英語(yǔ)是自然語(yǔ)言,人類交流溝通的媒介,也是人類文明傳承的重要方式。從語(yǔ)言的角度,兩者具有很強(qiáng)的相通性。
當(dāng)我們學(xué)習(xí)計(jì)算機(jī)技術(shù),從計(jì)算機(jī)組成原理高性能計(jì)算,到計(jì)算機(jī)程序語(yǔ)言編譯原理,再到數(shù)據(jù)結(jié)構(gòu)與算法分析設(shè)計(jì),到數(shù)據(jù)庫(kù)系統(tǒng)以及所謂的大數(shù)據(jù),再到密碼學(xué)網(wǎng)絡(luò)信息安全……這是一套幾十年工程師以及計(jì)算機(jī)科學(xué)家工作積累演進(jìn)的成果。每一代計(jì)算機(jī)行業(yè)從業(yè)者在前人的基礎(chǔ)上開拓創(chuàng)新,才推動(dòng)了整個(gè)社會(huì)信息技術(shù)的發(fā)展,才有了今天的移動(dòng)互聯(lián)網(wǎng)時(shí)代的大潮流。
當(dāng)我們學(xué)習(xí)英語(yǔ)以及在此之后的口譯,我們從盎格魯撒克遜到莎士比亞,從日不落的大不列顛再到美利堅(jiān)合眾國(guó),英語(yǔ)的演化伴隨著日耳曼民族的發(fā)展,伴隨著英國(guó)統(tǒng)領(lǐng)全球的輝煌,伴隨著美國(guó)成為全球最強(qiáng)國(guó)的崛起……從紐倫堡國(guó)際軍事法庭第一次同聲傳譯,到聯(lián)合國(guó)大會(huì)多語(yǔ)言同傳接力工作,再到每年兩會(huì)總理記者會(huì)的亮眼高翻……不管是英語(yǔ),還是依托英語(yǔ)之上的口譯,都是和世界連接的重要渠道,一種讓聲音變得具有全球兼容性的解決方案。
兩個(gè)領(lǐng)域的有自己的特點(diǎn),又有自己的相通性。你可以理解,英語(yǔ)和計(jì)算機(jī)技術(shù)都是工具,一個(gè)承載文明的演進(jìn),一個(gè)以比特形式承載信息的流動(dòng),而后者也將以一種更基礎(chǔ)的方式承載我們的一切生活。我們關(guān)于未來(lái)的想象,可以由這兩項(xiàng)重大工具,通往全球各地,通往各往各業(yè)。
把握好這種相通性,你可以獲得一種自信。這種自信可以給你一種淡然,讓你面對(duì)困難時(shí)自如,面對(duì)挑戰(zhàn)時(shí)淡定。因?yàn)槎叨伎梢宰屇愫驼麄€(gè)世界相連,當(dāng)你能連上這個(gè)最大資源,視野更開闊,內(nèi)心也更富足。
當(dāng)然駕馭好二者的差異性,你又能獲得一種游走的自如。寫程序很燒腦,但是你可以刷刷口譯;如果算法讓你思維堵住,你不妨來(lái)一段奧巴馬在聯(lián)大演講的口譯訓(xùn)練。左腦右腦交替使用,神清氣爽,相當(dāng)于提高了一倍的使用效率,帶寬翻倍。
有的人說(shuō),你的語(yǔ)言的邊界就是你的世界的邊界,在我做ScalersTalk微信公眾號(hào)的日子里,有幸結(jié)識(shí)了學(xué)習(xí)英語(yǔ)、俄羅斯語(yǔ)、法語(yǔ)、德語(yǔ)、西班牙語(yǔ)、葡萄牙語(yǔ)、日語(yǔ)、韓語(yǔ)等的朋友,我發(fā)現(xiàn)真的就是這樣,一個(gè)語(yǔ)言就是一片天地,就是一個(gè)世界。
但是我還是要補(bǔ)充一下,當(dāng)你在這個(gè)基礎(chǔ)上,把計(jì)算機(jī)技術(shù)納入考慮,這豈止是打開了一個(gè)新世界,這就是增加了一個(gè)新維度。
學(xué)習(xí)大學(xué)計(jì)算機(jī)必看書籍
《深入理解計(jì)算機(jī)系統(tǒng)》
(原書第3版)
書籍簡(jiǎn)介
ISBN:978-7-111-54493-7
作者:蘭德爾 E.布萊恩特、大衛(wèi) R. 奧哈拉倫
譯者:龔奕利 賀蓮 譯
定價(jià):139.00
出版時(shí)間:2016/11
計(jì)算機(jī)系統(tǒng)入門的經(jīng)典書籍,從程序員視角全面剖析的實(shí)現(xiàn)細(xì)節(jié),使讀者深刻理解程序的行為,將所有計(jì)算機(jī)系統(tǒng)的相關(guān)知識(shí)融會(huì)貫通。第3版相較上一版內(nèi)容上最大的變化是,從以IA32和x86-64為基礎(chǔ)轉(zhuǎn)變?yōu)橥耆詘86-64為基礎(chǔ)。主要更新如下:
基于x86-64,大量地重寫代碼,首次介紹對(duì)處理浮點(diǎn)數(shù)據(jù)的程序的機(jī)器級(jí)支持。
處理器體系結(jié)構(gòu)修改為支持64位字和操作的設(shè)計(jì)。
引入更多的功能單元和更復(fù)雜的控制邏輯,使基于程序數(shù)據(jù)流表示的程序性能模型預(yù)測(cè)更加可靠。
擴(kuò)充關(guān)于用GOT和PLT創(chuàng)建與位置無(wú)關(guān)代碼的討論,描述了更加強(qiáng)大的鏈接技術(shù)(比如庫(kù)打樁)。
增加了對(duì)信號(hào)處理程序更細(xì)致的描述,包括異步信號(hào)安全的函數(shù)等。
采用新函數(shù),更新了與協(xié)議無(wú)關(guān)和線程安全的網(wǎng)絡(luò)編程。
《計(jì)算機(jī)系統(tǒng)概論》
(原書第2版)
書籍簡(jiǎn)介
ISBN:978-7-111-21556-1
作者:[美]派特、派特爾
譯者:梁阿磊,蔣興昌,林凌譯
定價(jià):49.00
出版時(shí)間:2007/07
計(jì)算機(jī)系統(tǒng)的另一本經(jīng)典著作,作者是與Donald E. Knuth齊名的美國(guó)計(jì)算機(jī)界泰斗級(jí)專家Yale N. Patt。本書站在計(jì)算機(jī)整體系統(tǒng)的高度將軟硬件連貫起來(lái)進(jìn)行闡述,強(qiáng)調(diào)對(duì)軟硬件結(jié)合的理解,從硬件的基本構(gòu)件一直講到軟件的高級(jí)程序設(shè)計(jì)與構(gòu)造,使讀者在學(xué)習(xí)過(guò)程中能夠?qū)④浻布跁?huì)貫通、相互印證。
本書最大的特點(diǎn)是其提倡的層次轉(zhuǎn)換概念,即從問(wèn)題開始到計(jì)算機(jī)運(yùn)算出結(jié)果可以分為七個(gè)層次。通過(guò)七個(gè)層次的轉(zhuǎn)換,即可完成從問(wèn)題到結(jié)果的轉(zhuǎn)變。
《計(jì)算機(jī)系統(tǒng)》
系統(tǒng)架構(gòu)與操作系統(tǒng)的高度集成
書籍簡(jiǎn)介
ISBN:978-7-111-50636-2
作者:阿麥肯尚爾·拉姆阿堪德蘭、小威廉 D. 萊希
譯者:陳文光 等譯
定價(jià):99.00
出版時(shí)間:2015/07
美國(guó)佐治亞理工學(xué)院的教材。與《深入理解計(jì)算機(jī)系統(tǒng)》從程序員視角來(lái)講解計(jì)算機(jī)系統(tǒng),內(nèi)容偏向系統(tǒng)軟件(特別是操作系統(tǒng))不同,本書在計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)和操作系統(tǒng)的內(nèi)容基本平衡,旨在讓讀者了解計(jì)算機(jī)體系結(jié)構(gòu)和系統(tǒng)軟件之間的關(guān)系,為進(jìn)一步深入學(xué)習(xí)計(jì)算機(jī)體系結(jié)構(gòu)、操作系統(tǒng)和網(wǎng)絡(luò)的高級(jí)課程打下基礎(chǔ)。
《計(jì)算機(jī)系統(tǒng)》
核心概念及軟硬件實(shí)現(xiàn)(原書第4版)
書籍簡(jiǎn)介
ISBN:978-7-111-50783-3
作者:J. 斯坦利·沃法德
譯者:龔奕利 譯
定價(jià):79.00
出版時(shí)間:2015/07
本書用一個(gè)虛擬的計(jì)算機(jī)系統(tǒng)Pep/8系統(tǒng)展示了計(jì)算機(jī)系統(tǒng)的7個(gè)抽象層次:應(yīng)用層、高級(jí)語(yǔ)言層、匯編層、操作系統(tǒng)層、指令集架構(gòu)層、微代碼層和邏輯門層,最大的特色就是著眼于計(jì)算機(jī)軟件和硬件系統(tǒng)背后的設(shè)計(jì)原理,而這些原理數(shù)年來(lái)都未曾改變過(guò)。而且,去除那些眼花繚亂的新技術(shù)的表象,能夠更好地看清和理解系統(tǒng)的本質(zhì)。
計(jì)算機(jī)系統(tǒng)基礎(chǔ)
袁春風(fēng) 編著
書籍簡(jiǎn)介
ISBN:978-7-111-46477-8
作者:袁春風(fēng) 編著
定價(jià):49.00
出版時(shí)間:2014/07
作者對(duì)美國(guó)麻省理工學(xué)院、加州大學(xué)伯克利分校、斯坦福大學(xué)、卡內(nèi)基梅隆大學(xué)等著名大學(xué)與計(jì)算機(jī)系統(tǒng)有關(guān)的課程進(jìn)行了深入的對(duì)比分析后,結(jié)合我國(guó)學(xué)生的基礎(chǔ)和需求編寫的本土化教程。
猜你喜歡: