「大學(xué)必讀」計(jì)算機(jī)專業(yè)學(xué)生一定要學(xué)好哪些課程?
作為一名學(xué)計(jì)算機(jī)的同學(xué),你覺(jué)得最應(yīng)該學(xué)好哪些課程呢?
就當(dāng)年的我來(lái)說(shuō),感覺(jué)在大學(xué)的時(shí)候,各種課程學(xué)了很多,樣樣有所觸及,但樣樣都不精。
所謂師傅領(lǐng)進(jìn)門,修行靠個(gè)人,如果還想要掌握的更多更精的話,還需要自己花費(fèi)大量的時(shí)間去琢磨。

我就后悔呀,當(dāng)初怎么沒(méi)有認(rèn)真聽(tīng)老師的新聞評(píng)論課,其實(shí)重要的是課程嗎?
是!但是最重要的,還是在這門課程中對(duì)你批判思維的訓(xùn)練。
所以我就覺(jué)得,不管學(xué)習(xí)什么,看起來(lái)是學(xué)習(xí)知識(shí),但也是在修煉這個(gè)行業(yè)必要的素質(zhì)。
對(duì)于咱們學(xué)計(jì)算機(jī)專業(yè)的小伙伴們來(lái)說(shuō),我相信也是這樣。
未來(lái)想從事這個(gè)行業(yè)的你,知道自己需要掌握哪些技能和素質(zhì),學(xué)習(xí)哪些課程,會(huì)對(duì)以后的自己有所裨益嗎?

在查看了一些行業(yè)內(nèi)專業(yè)人士的經(jīng)驗(yàn)和知識(shí)以后,整理了一下幾門課程,希望這樣的參考會(huì)讓你變得更強(qiáng)。
英語(yǔ)
英語(yǔ)是萬(wàn)金油,學(xué)習(xí)計(jì)算機(jī)的你,無(wú)論以后打算考研還是工作,英語(yǔ)的好處不言而喻。
去那些純英文的編程網(wǎng)站,BBS,討論組,個(gè)人博客,增長(zhǎng)見(jiàn)識(shí)的同時(shí),也可以讓你逐步認(rèn)清這個(gè)世界,了解到外面的人正在做什么,在想什么,社會(huì)潮流發(fā)展趨勢(shì)是什么。
從而更加清晰行業(yè)發(fā)展的動(dòng)態(tài)是什么,通過(guò)進(jìn)一步觀察和思考,提前規(guī)劃好未來(lái)的發(fā)展方向。
其次,如果你想要考研的話,英語(yǔ)也是必須要攻克的難題。
與其等到考研的時(shí)候再一邊慌忙補(bǔ)英語(yǔ)短板,一邊學(xué)習(xí)專業(yè)課,不如早一些開(kāi)始,為以后的學(xué)習(xí)做一些必要的鋪墊,提早養(yǎng)成學(xué)習(xí)英語(yǔ)的好習(xí)慣。
還記得我之前文章提到的技術(shù)大佬AZ老師嗎?他現(xiàn)在每天都會(huì)花時(shí)間聽(tīng)英語(yǔ)音頻,幾十年如一日,看國(guó)外的科研論文根本不在話下。
當(dāng)然英語(yǔ)也并不是學(xué)編程的必備條件,英語(yǔ)不好照樣可以學(xué)好編程,大家不要理解錯(cuò)誤!

數(shù)學(xué)
過(guò)硬的數(shù)學(xué)功底使得你能看到一些新技術(shù)的出現(xiàn)而不茫然,看到的舊的技術(shù)能快速的跟進(jìn)上手。
這就是所謂“知識(shí)”和“技能”的關(guān)系,將工具運(yùn)用到純熟的地步,你會(huì)發(fā)現(xiàn)別人遇到的很多問(wèn)題在你這里都不是問(wèn)題了,看起論文來(lái)也得心應(yīng)手啦,這就是潛移默化和下意識(shí)的作用。
之前和跨專業(yè)學(xué)習(xí)編程的小伙伴聊天,他也提到自己大學(xué)學(xué)的是數(shù)學(xué),在已有的基礎(chǔ)上,即使是跨專業(yè)學(xué)習(xí)也不會(huì)很費(fèi)勁。

計(jì)算機(jī)組成原理
不管是寫(xiě)程序做軟件還是搞科研發(fā)論文,不對(duì)底層有一個(gè)清晰的認(rèn)識(shí),你的整個(gè)前進(jìn)道路都是模糊不清的。
而只對(duì)體系結(jié)構(gòu)的了解是遠(yuǎn)遠(yuǎn)不夠的,深挖才是歸途,為什么現(xiàn)在很多解析內(nèi)存CPU技術(shù)的博文博客火呢?是因?yàn)榇蠹叶己雎?,也因?yàn)榇蠹叶贾肋@是多么有用。
如果不做底層的分析,就無(wú)法精準(zhǔn)的定位問(wèn)題,也就自然寫(xiě)不出切合真實(shí)計(jì)算邏輯的簡(jiǎn)單而又高效的優(yōu)秀代碼。
知乎有個(gè)觀點(diǎn)——讀優(yōu)秀的代碼,從OS開(kāi)始。讀這些就是你學(xué)習(xí)認(rèn)知底層的過(guò)程,就是在站在巨人肩膀上遠(yuǎn)眺的歷程。
小伙伴們可以看看這本書(shū)——《深入理解計(jì)算機(jī)系統(tǒng)》,這本書(shū)會(huì)比課本給你帶來(lái)更多的東西。

計(jì)算機(jī)操作系統(tǒng)
無(wú)論你學(xué)習(xí)什么編程語(yǔ)言,都避免不了和操作系統(tǒng)打交道,比如你學(xué)習(xí) C++,用到多線程技術(shù),實(shí)際上操作系統(tǒng)才是負(fù)責(zé)管理進(jìn)程和線程的;
比如你學(xué)習(xí)到內(nèi)存分配的知識(shí),c++ 里可以直接分配一段內(nèi)存,此時(shí)實(shí)際上是調(diào)用操作系統(tǒng)提供的 API 進(jìn)行內(nèi)存分配。
如果不懂操作系統(tǒng),你在未來(lái)學(xué)習(xí)編程語(yǔ)言的高級(jí)特效,涉及到線程進(jìn)程調(diào)度,內(nèi)存分配,或者是學(xué)習(xí) Linux 相關(guān)的知識(shí)時(shí),都會(huì)一頭霧水,所以,只有學(xué)會(huì)了操作系統(tǒng),才能夠更好地學(xué)習(xí)其他語(yǔ)言和技術(shù)。
基于此,計(jì)算機(jī)操作系統(tǒng)的知識(shí)點(diǎn)會(huì)頻繁出現(xiàn)在筆試環(huán)節(jié)。
數(shù)據(jù)結(jié)構(gòu)與算法
相信無(wú)論是已經(jīng)畢業(yè)的同學(xué)還是正在學(xué)校學(xué)習(xí)的同學(xué),都或多或少地被數(shù)據(jù)結(jié)構(gòu)與算法這門課給折磨過(guò)。
數(shù)據(jù)結(jié)構(gòu)與算法這門課開(kāi)篇就講了一個(gè)非常重要的概念:
程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法,對(duì)于初學(xué)者可能還不能完全地理解這句話,不過(guò)對(duì)于已經(jīng)工作兩三年的小伙伴相信對(duì)這句話是深信不疑的。

對(duì)于數(shù)據(jù)結(jié)構(gòu)與算法的學(xué)習(xí),分為三個(gè)步驟:
首先先大致了解什么是算法,可以通過(guò)一些科普讀物來(lái)入門,這個(gè)過(guò)程稱之為入門階段;
接著可以嘗試實(shí)現(xiàn)一些比較容易的數(shù)據(jù)結(jié)構(gòu)和算法,這樣可以更加深對(duì)數(shù)據(jù)結(jié)構(gòu)和算法的了解,這個(gè)過(guò)程稱之為實(shí)踐階段;
最后去了解數(shù)據(jù)結(jié)構(gòu)與算法背后的相關(guān)數(shù)學(xué)原理等,這個(gè)過(guò)程稱之為原理階段。
不管你認(rèn)為數(shù)據(jù)結(jié)構(gòu)與算法重要與否,你都必須有所了解,因?yàn)樵诿嬖嚟h(huán)節(jié)肯定會(huì)問(wèn)的。
希望對(duì)你有幫助!
————————
順便提一句,如果你想在大學(xué)期間更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開(kāi)始!
微信公眾號(hào):C語(yǔ)言編程學(xué)習(xí)基地
整理分享(多年學(xué)習(xí)的源碼、項(xiàng)目實(shí)戰(zhàn)視頻、項(xiàng)目筆記,基礎(chǔ)入門教程)
歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長(zhǎng)比自己琢磨更快哦!
編程學(xué)習(xí)書(shū)籍分享:

粉絲編程交流:
