學(xué)了幾年大學(xué),基本對(duì)計(jì)算機(jī)有個(gè)感性認(rèn)識(shí),理性認(rèn)識(shí)不是太多,雖然學(xué)了計(jì)算機(jī)基礎(chǔ),計(jì)算機(jī)組成原理,計(jì)算機(jī)體系結(jié)構(gòu),C語(yǔ)言,操作系統(tǒng),編譯原理,數(shù)據(jù)結(jié)構(gòu)和算法,數(shù)據(jù)庫(kù),計(jì)算機(jī)網(wǎng)絡(luò),多媒體,軟件工程,算法分析等課程,不過總的來說沒什么大的收獲,畢業(yè)設(shè)計(jì)用Delphi做了個(gè)管理系統(tǒng),現(xiàn)在想想還算不錯(cuò)了,期間也學(xué)了學(xué)網(wǎng)頁(yè)制作,html,Jsp等,當(dāng)時(shí)不知道學(xué)計(jì)算機(jī)干啥,還學(xué)了PhotoShop,網(wǎng)頁(yè)三劍客(DreamWeaver,F(xiàn)irework,F(xiàn)lash),甚至學(xué)了CoreDrawl。
現(xiàn)在想來實(shí)在是搞笑,可以說大學(xué)生活一片迷?!,F(xiàn)在想來主要是當(dāng)年網(wǎng)絡(luò)不下今天這么發(fā)達(dá),不知道干什么。以為大學(xué)就是走過程,到社會(huì)再學(xué)習(xí)努力的,有點(diǎn)茫然。對(duì)大學(xué)學(xué)的高等數(shù)學(xué),線性代數(shù),概率論和數(shù)理統(tǒng)計(jì)就更不知學(xué)了干啥了,但是工作多年后發(fā)現(xiàn)都有用!人生很神奇!
不過,不管怎么說,大學(xué)還是讓我對(duì)計(jì)算機(jī)有個(gè)感性認(rèn)識(shí)。這個(gè)在以后的工作中還是很重要的。至少知道整個(gè)知識(shí)脈絡(luò),不會(huì)的可以知道怎么補(bǔ)?,F(xiàn)在回想如果大學(xué)可以重來一遍,我認(rèn)為至少要學(xué)好如下課程,閱讀如下圖書:
計(jì)算機(jī)基礎(chǔ)課程:就是教你如何開機(jī),關(guān)機(jī),打字,使用軟件的基礎(chǔ)課程,這些課程隨著社會(huì)進(jìn)步,目前可以說沒什么問題了。不過大家使用的基本是微軟公司出品的Windows系統(tǒng),作為專業(yè)的計(jì)算機(jī)學(xué)生,強(qiáng)力建議使用基于Linux的系統(tǒng)或者和Linux類似的蘋果筆記本(Mac),蘋果的東西是貴,但是值這個(gè)價(jià)。
學(xué)習(xí)Linux推薦一本圖書:《鳥哥的Linux私房菜:基礎(chǔ)學(xué)習(xí)篇》。Windows我就不推薦圖書了,我沒通過圖書學(xué)過。
有了計(jì)算機(jī)操作基礎(chǔ),可以學(xué)習(xí)編程了,推薦從C語(yǔ)言開始學(xué)習(xí),使用這本書進(jìn)行學(xué)習(xí)《C程序設(shè)計(jì)語(yǔ)言》,此書是C語(yǔ)言的作者編寫就知道是多么的權(quán)威了,同時(shí)此書有英文版本《C程序設(shè)計(jì)語(yǔ)言(英文版)》,建議都買了學(xué)習(xí),畢竟作為計(jì)算機(jī)學(xué)生,英文不好是不行的,很多國(guó)外的先進(jìn)的東西都是英文的。另外也有一遍習(xí)題解答,也同時(shí)買了。里面的題目都做一遍,編程水平不會(huì)差。如果想繼續(xù)提高C語(yǔ)言的水平,可以看看其他相關(guān)圖書,比如C指針等一堆。
光會(huì)寫簡(jiǎn)單的程序還是不行的,如何更好的編寫程序就得學(xué)好數(shù)據(jù)結(jié)構(gòu)了,大學(xué)一般使用的是嚴(yán)蔚敏的那本,好好學(xué)就行。我在大學(xué)的時(shí)候是一本書《數(shù)據(jù)結(jié)構(gòu)和算法》,不過算法應(yīng)該繼續(xù)加強(qiáng)學(xué)習(xí),推薦一本進(jìn)階圖書《算法導(dǎo)論》,此書很難,想要好的發(fā)展的看看。數(shù)據(jù)結(jié)構(gòu)和算法很重要,面試工作這個(gè)是核心。
上面的基本程序?qū)懞玫脑挘梢钥紤]學(xué)習(xí)面向?qū)ο蟮某绦蛟O(shè)計(jì),基本選擇C++或者Java作為編程語(yǔ)言。兩種語(yǔ)言個(gè)有千秋,看您自己的興趣,未來工作都有比較好的發(fā)展,學(xué)好一個(gè)學(xué)另外一個(gè)都可以,C++學(xué)習(xí)起來稍微復(fù)雜點(diǎn),不過也不是太難,只要你想學(xué)。學(xué)這兩門語(yǔ)言各推薦一本書,《C++編程思想》和《Java編程思想》,作者是同一牛人,先寫的C++圖書,后來Java流行起來就又寫了Java的那本。
數(shù)據(jù)庫(kù)是工作中經(jīng)常使用的基本工具之一,所以在學(xué)校里也要好好學(xué)習(xí),不過總的來說,這門課程比較簡(jiǎn)單,多動(dòng)手實(shí)踐即可。推薦如下圖書:《transact-sql權(quán)威指南》,印象中是很好的書,不過國(guó)內(nèi)好像不出版了。另外考慮未來發(fā)展,建議學(xué)習(xí)mysql(http://www.mysql.com/),這樣官方文檔就夠用了。如果不是立志成為數(shù)據(jù)庫(kù)管理員的,學(xué)校學(xué)習(xí)的學(xué)好結(jié)合我的推薦就夠用了。
計(jì)算機(jī)網(wǎng)絡(luò)在學(xué)校里偏向理論,學(xué)好概念即可,有條件的可以報(bào)名培訓(xùn)CCNA,這樣估計(jì)會(huì)有更好的理解,而且現(xiàn)在培訓(xùn)和考試也不是太貴,個(gè)人認(rèn)為還是不錯(cuò)的。如果要深入學(xué)習(xí)的個(gè)人認(rèn)為學(xué)習(xí)標(biāo)準(zhǔn)協(xié)議是個(gè)不錯(cuò)的選擇,推薦圖書:《TCP/IP詳解卷1:協(xié)議》
軟件工程學(xué)好學(xué)校的圖書也差不多了,畢竟是學(xué)生,不是工人,沒有項(xiàng)目環(huán)境很多東西也很難理解,即使是項(xiàng)目,其實(shí)每家公司管理的也不一樣。如果想深入學(xué)習(xí)的,推薦一本圖書:《敏捷軟件開發(fā)(原則模式與實(shí)踐)》
學(xué)好上面的內(nèi)容,您可以稱為一個(gè)基本的碼農(nóng),或者叫軟件工程師,如果要成為專業(yè)的碼農(nóng)或者專業(yè)軟件工程師,您還需要努力學(xué)習(xí)以下知識(shí):
計(jì)算機(jī)組成原理:告訴您計(jì)算機(jī)的硬件是如何工作和相互協(xié)調(diào)運(yùn)行的。CPU,內(nèi)存,硬盤,網(wǎng)卡,顯示器,鍵盤,鼠標(biāo)等是如何工作的。計(jì)算機(jī)有哪些基礎(chǔ)芯片等內(nèi)容,配合有實(shí)驗(yàn),好好學(xué)習(xí)理解其工作原理,在日后調(diào)優(yōu),排查問題時(shí)候非常有用。不是白學(xué)的,這個(gè)是區(qū)別專業(yè)和非專業(yè)的核心標(biāo)識(shí)之一。
匯編語(yǔ)言:這門語(yǔ)言,是理解計(jì)算機(jī)的編程的最好語(yǔ)言之一,通過它你才可以更好的理解軟件和硬件是如何融合工作的,沒有別的語(yǔ)言能夠替代。非常重要,有很多人認(rèn)識(shí)不到這點(diǎn),認(rèn)為學(xué)此無(wú)用,甚至有的大學(xué)都不打算開這門課程,實(shí)在是讓人唏噓?。〈髮W(xué)學(xué)生有句話“匯編語(yǔ)言不會(huì)編”形容此課程的難度,不過使用下面的圖書《匯編語(yǔ)言》學(xué)習(xí),感覺應(yīng)該容易很多。此書缺少高級(jí)內(nèi)容,不過你很好的掌握了此書也算不錯(cuò)了,高級(jí)內(nèi)容你進(jìn)階操作系統(tǒng)內(nèi)核那里才需要掌握。夠用了。
操作系統(tǒng)是計(jì)算機(jī)的核心,編程人員最好能很好的掌握,比計(jì)算機(jī)組成原理還重要。推薦《操作系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)》,此書告訴您如何實(shí)現(xiàn)一個(gè)操作系統(tǒng),比學(xué)校里告訴您的更多,更好理解。當(dāng)年Linus就是看這本書,編寫的Linux。
編譯原理的水平與程序員水平正相關(guān),光會(huì)寫程序,不能理解編譯原理,是很難寫出高水平程序的。推薦《編譯原理》,龍書非常出名,誰(shuí)學(xué)誰(shuí)知道。工作后您可能會(huì)使用各種各樣的語(yǔ)言,他們是如何工作和執(zhí)行的,編譯原理是不可或缺的重要一環(huán)。
最后推薦幾本課外閱讀圖書:
《編碼的奧秘》
《深入理解計(jì)算機(jī)系統(tǒng)》
《代碼大全》
《設(shè)計(jì)模式 可復(fù)用面向?qū)ο筌浖幕A(chǔ)》
......
如果您是學(xué)生,如果您在專業(yè)課程里學(xué)好我上面的內(nèi)容就很不錯(cuò)了,出來工作肯定沒有問題,就看你是否愿意堅(jiān)持和努力了。
如果您是剛工作的或者是轉(zhuǎn)行過來,覺得計(jì)算機(jī)基礎(chǔ)還不行的,也可以參考我的描述,進(jìn)一步深入學(xué)習(xí),這些東西是成為一個(gè)優(yōu)秀程序員不可或卻的,當(dāng)年天才除外。
如果有遺漏的也歡迎大家補(bǔ)充。
如果您對(duì)本文有不同見解的,也歡迎聯(lián)系我們。
計(jì)算機(jī)屬于工科,是一門實(shí)踐性很強(qiáng)的技術(shù),但是同時(shí)也有很高深的理論需求,所以整體掌握和理解是非常難的,這也就是為什么真正優(yōu)秀的程序員很少的原因,有興趣的值得嘗試一下。畢竟這個(gè)行業(yè)的生產(chǎn)力太高,一個(gè)程序可能數(shù)億人在使用,您說高不高!生產(chǎn)力那么高,您說薪水得多高?

