Computer Science: a Sophomore's perspective :)
去年15級(jí)迎接16級(jí)如同昨日障贸,而現(xiàn)在17級(jí)的新生又到了削锰,日子也是過得挺快瞻惋。我不是你們兼班兼助官辈,以后也應(yīng)該不會(huì)是。如果說這篇東西寫給哪些人看贮折,我想應(yīng)該也就是給17計(jì)算機(jī)學(xué)院新生裤翩。老人們,不管是咸魚還是大佬调榄,都有了自己的想法了罷踊赠。咸魚想翻身不容易,但大佬變咸魚也可能只是一念之間(233)每庆。大學(xué)是學(xué)習(xí)的開始筐带,希望大家盡早做好準(zhǔn)備。bintou老師曾有寫一篇給計(jì)算機(jī)學(xué)院新生的一封信缤灵,你們可以讀完老師的建議然后再選擇是否繼續(xù)讀下去伦籍。當(dāng)然,我會(huì)把一些更細(xì)的東西夾雜進(jìn)來腮出。不能覆蓋大學(xué)生活的方方面面帖鸦,權(quán)當(dāng)敲門磚,但求拋磚引玉胚嘲。
計(jì)科作儿,也就是熟知的計(jì)算機(jī)科學(xué)與技術(shù),含糊得講慢逾,就是圍繞計(jì)算機(jī)展開的立倍,根據(jù)計(jì)算原理、計(jì)算理論侣滩,以計(jì)算為中心的科學(xué)技術(shù)口注。這其中包括了科學(xué)上的探索與工程上的創(chuàng)造【椋科學(xué)的體現(xiàn)寝志,在此又與數(shù)學(xué)緊密聯(lián)系,在即將接觸到的比如算法與數(shù)據(jù)結(jié)構(gòu)策添,線性代數(shù)材部,概率論等學(xué)科或知識(shí)中會(huì)體現(xiàn)出來。工程的體現(xiàn)唯竹,包括程序的設(shè)計(jì)乐导,程序、計(jì)算機(jī)以及網(wǎng)絡(luò)的體系結(jié)構(gòu)浸颓,注重人的動(dòng)手能力以及對(duì)于程序的整體規(guī)劃能力物臂。但其主體旺拉,還是科學(xué)。一切在工程上不以科學(xué)為基礎(chǔ)的高調(diào)都是耍流氓棵磷,一切沒有科學(xué)根據(jù)的動(dòng)手都是空談蛾狗。也許你們進(jìn)來以后,會(huì)有老師仪媒,可能看上去很“高逼格”的老師對(duì)你們說沉桌,<u>“科學(xué)對(duì)于我們絕大多數(shù)的同學(xué)來說,都是不可能的算吩,我們的同學(xué)絕大多數(shù)都往工程方向走留凭,所以我們要提高我們的工程能力≠顺玻”</u> 那絕對(duì)是胡扯冰抢。盡管工程方向確實(shí)為大多數(shù),但沒有扎實(shí)的科學(xué)根基艘狭,談何工程?更進(jìn)一步翠订,“作為一門學(xué)科巢音,無論冷熱,我們需要做的是:發(fā)現(xiàn)其本質(zhì)尽超、遵循其發(fā)展規(guī)律官撼。” 立志科研似谁,成為科研人物傲绣,站在計(jì)算機(jī)科學(xué)的前端,也是這門學(xué)科培養(yǎng)人才的最終目的巩踏。
??如老師所說秃诵,初入計(jì)算機(jī)科學(xué),籠統(tǒng)的任務(wù)塞琼,就是學(xué)英語菠净,學(xué)數(shù)學(xué),學(xué)編程彪杉。學(xué)英語毅往,是要提高自己的英語閱讀能力,習(xí)慣于閱讀英語的書籍專著派近。剛開始可能讀起來比較吃力攀唯,但也應(yīng)慢慢訓(xùn)練,習(xí)慣了就會(huì)發(fā)現(xiàn)英語的理解起來更加透徹渴丸。As far as I'm concerned, 不管曾經(jīng)有無經(jīng)驗(yàn)侯嘀,第一本英文書籍都推薦How to think like a computer scientist: C version另凌。學(xué)數(shù)學(xué),第一學(xué)期最重要的包括高等數(shù)學(xué)残拐,線性代數(shù)途茫。日后,線性代數(shù)在學(xué)科中的地位會(huì)愈發(fā)顯著溪食。至于更進(jìn)一步囊卜,就在下文了。學(xué)編程错沃,就主要體現(xiàn)為學(xué)習(xí)程序設(shè)計(jì)語言, c 或者 c++栅组,理解程序設(shè)計(jì)的思想,面向過程枢析、面向?qū)ο笥竦В瑢W(xué)會(huì)科學(xué)地構(gòu)建更具規(guī)模的程序,提高代碼的復(fù)用性醒叁。
??關(guān)于該學(xué)什么司浪,老師已經(jīng)有了一個(gè)文檔,CS核心教程把沼。這個(gè)文檔可能和學(xué)院給你的不太一樣啊易,但它一定是高水平的,超出學(xué)院的要求饮睬,對(duì)于成為計(jì)算機(jī)領(lǐng)先人士有指南針般的作用租谈。每一本書都是一個(gè)里程碑,學(xué)習(xí)吸收捆愁,對(duì)于你一定會(huì)有好處割去。下下文會(huì)說到。
補(bǔ)充的東西:可能有用的書籍(密碼是ping1008)
可能在進(jìn)入計(jì)算機(jī)學(xué)院之前昼丑,絕大多數(shù)同學(xué)就會(huì)聽聞呻逆,“學(xué)計(jì)算機(jī)呀,敲代碼的菩帝,呵呵……”页慷。沒錯(cuò),代碼胁附,是人機(jī)交互的根本方式酒繁,是連接碳基生命與硅基生命的橋梁。通過程序的命令或語句控妻,實(shí)現(xiàn)程序設(shè)計(jì)者所需要的功能州袒。學(xué)院主要教導(dǎo)的,就是c++的學(xué)習(xí)弓候±煽蓿可能大家會(huì)對(duì)c還是c++感到迷惑他匪,因?yàn)槔蠋煛W(xué)院的說法也是含糊夸研。但你從任意一門入手邦蜜,都是可以的。做好選擇亥至,深入理解悼沈,不必要迷茫〗惆纾可以說絮供,學(xué)院一開始教導(dǎo)的東西,在c茶敏、c++中的體現(xiàn)是無異的壤靶。課上的老師幾乎只教語言,沒有設(shè)計(jì)更多的設(shè)計(jì)思想惊搏。但這是我們要好好理解的贮乳。
??對(duì)于此,推薦一些書恬惯。希望對(duì)大家會(huì)有益塘揣。
第一本大家應(yīng)該聽老師所提及了,非常適合入門宿崭。第二本卻不常為推薦,褒貶不一才写,甚至為人詬病葡兑。(中文版,還是妥協(xié)了)赞草。因?yàn)檫@一本讹堤,很厚,很細(xì)厨疙,像字典洲守。可能很多人拿出來翻兩下就已經(jīng)失落了沾凄。但其中有非常詳細(xì)的解釋與實(shí)現(xiàn)梗醇,快節(jié)奏地跟著書本走一邊學(xué)一邊敲将宪,學(xué)會(huì)了就好贴捡,然后慢慢實(shí)現(xiàn)一兩個(gè)功能,實(shí)現(xiàn)一兩個(gè)冒泡排序之類的算法瓤鼻。學(xué)習(xí)C++保屯,一定不能脫離算法與數(shù)據(jù)結(jié)構(gòu)手负。你可以把他和算法一起看涤垫。因?yàn)檎Z言只是工具,算法才是核心竟终。通過對(duì)算法的實(shí)現(xiàn)蝠猬,了解語言特性,并掌握對(duì)其的應(yīng)用统捶。這樣學(xué)起來才會(huì)有進(jìn)步榆芦,有著落●常可能并不需要在一個(gè)暑假內(nèi)看完歧杏,約莫在11月看完前7章,12月看完前八章就夠了迷守。甚至犬绒,可以去看OI常推薦的算法競賽入門經(jīng)典。這些都是可選項(xiàng)兑凿。如果你讀了覺得失落凯力,并不是你的問題,只是教材并不適合你礼华。但是咐鹤,HTCS是要看的,并要認(rèn)真研讀圣絮。這也是進(jìn)入圖靈班的最低門檻(下文會(huì)講)祈惶。參見:
BTW, 譚浩強(qiáng)的《c++程序設(shè)計(jì)》,太坑了……期末了檢查自己學(xué)得如何扮匠,就看能從其中挑出多少錯(cuò)誤了捧请。。棒搜。(一家之言疹蛉,一家之言,沒有老師說過)力麸。
??另外的可款,就是著手線性代數(shù)的學(xué)習(xí)。大家可以去看Gilbert Strang的Introduction to Linear Algebra 這里是書本鏈接, 可以暑假就開始看克蚂。非常有益闺鲸,細(xì)致入微地介紹線性代數(shù),是最為經(jīng)典的線性代數(shù)教材埃叭。這也是圖靈班第一學(xué)期的著重書目翠拣。同時(shí),也不要忘記看學(xué)校發(fā)的課本游盲,要認(rèn)真學(xué)習(xí)误墓。作為一門重要的基礎(chǔ)數(shù)學(xué)科目蛮粮,它具有著舉足輕重的地位。
關(guān)于數(shù)學(xué)谜慌,同樣可以參閱:
以下就是一些相對(duì)離散的東西了然想,不知道如何歸納,但所以也就堆在一起欣范。变泄。??
首先是圖靈班。關(guān)于圖靈班的介紹恼琼,在上文中的鏈接中有了妨蛹。這是一個(gè)非常考驗(yàn)意志力與執(zhí)行力晴竞,但沒有任何強(qiáng)制約束力的集體蛙卤。以學(xué)術(shù)交流為核心,為的就是打造華師計(jì)機(jī)體制之外的鐵軍噩死。其長期的主要學(xué)習(xí)任務(wù)颤难,就是上文指出的核心教材。
進(jìn)入的要求:
- 完成HTCS(How to think like a computer scientist: C version)的閱讀已维,并撰寫讀書報(bào)告行嗤,在國慶放假前提交給老師。(具體時(shí)間垛耳,提交方式另外安排)
- 學(xué)習(xí)GS的LA栅屏,并看MIT線性代數(shù)公開課的視頻。網(wǎng)易公開課上對(duì)應(yīng)的視頻
- 國慶前后堂鲜,完成面試栈雳。
Then,眺望窗外泡嘴,擁抱世界。接觸逆济、學(xué)習(xí)使用Linux操作系統(tǒng)酌予,熟悉命令行。對(duì)于計(jì)算機(jī)系的學(xué)生而言奖慌,Linux是更好的開發(fā)平臺(tái)抛虫。它的開放性更加對(duì)開發(fā)者友好,而且有更豐富的資源與文檔简僧。以前總有人會(huì)問建椰,好端端的在windows下 ,干嘛要切換到別的系統(tǒng)上去岛马。其實(shí)棉姐,以開源操操作系統(tǒng)GNU/Linux為中心的開源文化才是進(jìn)步與發(fā)展的源泉屠列。就如鯉魚跳龍門一樣。只有從MS的窗口看出去伞矩,才能看到更美好的風(fēng)景笛洛。一開始會(huì)不習(xí)慣,因?yàn)闀?huì)接觸大量的命令行乃坤。但慢慢就會(huì)熟悉苛让,會(huì)發(fā)現(xiàn)命令行效率對(duì)于大多數(shù)熟悉者而言比鼠標(biāo)高。建議新手從ubuntu這個(gè)發(fā)行版入手湿诊,可以在虛擬機(jī)上先試著安裝狱杰,安裝好系統(tǒng)后,在上面用atom厅须、vim或者其他的編輯器寫自己的一個(gè)“Hello, world”仿畸,并用gcc或clang編譯。但是九杂,虛擬機(jī)終究不是你的選擇颁湖,你應(yīng)該把它以雙系統(tǒng)的形式安裝在自己的電腦上,并用它來高效地開發(fā)(百度可以告訴你怎么做)例隆。這只是針對(duì)新人甥捺,對(duì)于熟悉的人,早就已經(jīng)有自己各種各樣的玩法镀层。
??其次镰禾,對(duì)于學(xué)院教學(xué)安排的一點(diǎn)點(diǎn)意見。如果你僅僅跟著老師學(xué)唱逢,按部就班吴侦,那是遠(yuǎn)遠(yuǎn)不夠的。計(jì)算機(jī)科學(xué)是一門自主性非常強(qiáng)的學(xué)科坞古。要鍛煉自己的自學(xué)能力备韧。很多東西,老師甚至不講痪枫,就會(huì)叫你做织堂。你需要查大量的資料,詢問不同的人奶陈。所以易阳,學(xué)會(huì)查資料,學(xué)會(huì)問問題吃粒,學(xué)會(huì)自主學(xué)習(xí)潦俺,比什么都重要。大道至簡,知易行難事示。需要慢慢摸索與積累早像。(關(guān)于如何使用Go0g1e,之類的,如果不懂很魂,可以詢問群里的dalao扎酷。你需要lift)同樣的,在圖靈班的學(xué)習(xí)也是如此遏匆。大部分都是靠自己法挨。<u>坐得住冷板凳,才會(huì)有收獲</u>幅聘。
??然后凡纳,不要沉溺與社團(tuán)、社交活動(dòng)帝蒿,不要被社團(tuán)宣傳的過度渲染而迷住荐糜。比如,不要每日忙于學(xué)*會(huì)的工作葛超,也不要在那圈子里每日麻將打牌大保健暴氏。另外,不要為社團(tuán)熬夜绣张。如果你能從社團(tuán)里頭獲得樂趣答渔,學(xué)得知識(shí),那當(dāng)然是最好的侥涵。我從ISCNU學(xué)到了不少的知識(shí)沼撕,并且應(yīng)用到了自己的“搞事”中。還有很多人玩CTF芜飘,體驗(yàn)當(dāng)黑客的樂趣(當(dāng)然务豺,我顧不來沒有參加)。大家一起交流嗦明,挺好笼沥。
??Furthermore,權(quán)衡好兼職與學(xué)習(xí)娶牌。兼職是不錯(cuò)的鍛煉奔浅,應(yīng)該處理好時(shí)間安排問題。不要因?yàn)榧媛毝绊懥藢W(xué)業(yè)裙戏。得不償失乘凸。同時(shí)厕诡,權(quán)衡比賽與學(xué)習(xí)累榜,不要參加沒有意義的比賽。不要當(dāng)賽棍。學(xué)院每年都會(huì)宣傳一大堆的比賽壹罚,你應(yīng)該好好考量葛作。
??多學(xué)習(xí),多交流猖凛。多多提升自我赂蠢,這樣你才可以跟更厲害的人在一起。想要和大佬交流辨泳,首先要有成為大佬的想法虱岂。如果你只會(huì)喊“哇大佬好厲害”,那也是為人鄙薄的菠红。不要過了半年一年的第岖,一些人水群就是游戲打牌大保健,另一些人卻是各種技術(shù)游戲试溯。同樣是娛樂蔑滓,差別卻那么大。人自然而然地就被劃分了遇绞。
Last but not least, 少熬夜键袱,做沒有黑眼圈的大熊貓。摹闽。蹄咖。:)
總說是大0準(zhǔn)大學(xué)生,其實(shí)钩骇,錄進(jìn)了大學(xué)比藻,就是堂堂正正的大學(xué)生了。本文以非常文科的形式闡述了計(jì)機(jī)在大學(xué)中的一些方面倘屹,可今后你們的學(xué)習(xí)银亲,甚至你們的生活,都要以非常理科的方式進(jìn)行纽匙。希望大家务蝠,學(xué)會(huì)學(xué)習(xí),學(xué)會(huì)反思烛缔,學(xué)會(huì)交流馏段。大學(xué)既不是象牙塔,也不是職業(yè)學(xué)校践瓷,但它與社會(huì)緊密融合在了一起,需要各位慢慢體會(huì)晕翠,常晨潮簦回想硫麻,細(xì)細(xì)反思爸邢。看清自我,看清社會(huì)拿愧。遭遇多少,領(lǐng)悟多少浇辜。最后,祝大家收獲無憾的大學(xué)生活柳洋。
????????????????????????ping: 1008
????????????????????????2017.7.18