寫給大學(xué)新生 談大學(xué)學(xué)習(xí)
寫給大學(xué)新生 談大學(xué)學(xué)習(xí)
大學(xué)里如何學(xué)習(xí) ?致學(xué)生 - 大學(xué)最重要的不是 Java 和 .Net 而是基礎(chǔ),基礎(chǔ)才是最重要的 。。
在這里,我也主要是因?yàn)橐姾芏啻髮W(xué)生現(xiàn)還在學(xué)校里迷茫,毫無方向感,
而剛好自己周末有點(diǎn)悶騷吧,因此也站出來說兩句話,希望不會(huì)因此受到人身攻擊,
當(dāng)然,我只是扯淡,說出我的建議,至于覺得發(fā)言不妥者,自可以飄過,也歡迎提出新的見解,
而這里我對大伙扯的兩句,尤其適用于現(xiàn)還在大學(xué)里的各位學(xué)弟學(xué)妹們,
首先,現(xiàn)在大學(xué)里過多追求就業(yè)率,拿我們學(xué)校來說吧,是個(gè)二流學(xué)校,為了有好的就業(yè)率,
學(xué)校一直和校外培訓(xùn)機(jī)構(gòu)進(jìn)行合作,一直主推 Java ,甚至推出學(xué)生如果在某個(gè)培訓(xùn)學(xué)校培訓(xùn)的話,
是可以不用去上課的,這一點(diǎn),我實(shí)在想不通,最后我給自己一個(gè)答案,那就是學(xué)校已經(jīng)自認(rèn)為比不上外面的培訓(xùn)機(jī)構(gòu)了,
這個(gè)不得不說是一個(gè)悲劇哦 ! ! !
而后就是,我們學(xué)校里,好不容易有個(gè)博導(dǎo)給我們上課,但是悲劇又來了,博導(dǎo)上的課居然是計(jì)算機(jī)導(dǎo)論,
最差勁的一門了,唉,現(xiàn)在才發(fā)現(xiàn),大學(xué)里真正教書的一般都是助教和講師,博導(dǎo)可都是有自己的項(xiàng)目要做,
有自己的公司要開,有自己的人際網(wǎng)要拓展,博導(dǎo)這么忙,當(dāng)然也就只能請個(gè)助教了,
這個(gè)其實(shí)才是現(xiàn)今大學(xué)教學(xué)的一個(gè)大悲劇 ! ! !
還有就是我本科學(xué)的是軟件工程,大學(xué)里,我很悲劇我沒有學(xué)過組成原理,編譯原理等等基礎(chǔ)課,
我們聽講座聽的最多的居然是培訓(xùn)學(xué)校來的老師的演講(基本上是推銷),
呵呵,夠悲劇了吧,希望各位的學(xué)校不會(huì)和我們學(xué)校一樣 . . .
上面呢,就是我在學(xué)校時(shí)候的學(xué)習(xí)背景了。
然后呢,我再根據(jù)我自己的經(jīng)歷來談?wù)勎业目捶,我呢,也算是個(gè)計(jì)算機(jī)行業(yè)的狂熱分子吧,
自大一接觸 C++ ,我一直都對這行業(yè)很感興趣,曾經(jīng)也經(jīng)常在網(wǎng)吧上通宵(當(dāng)然那會(huì)是為了學(xué)習(xí) C++ ),
大一到大二上學(xué)期,我一直都是在黑框框里面(也就是 DOS 環(huán)境下)寫著 C++ 程序,
也潛心寫過漢諾塔,迷宮,八皇后等等經(jīng)典算法題,
那會(huì)兒寫的呢也很帶勁,但一直沒有接觸過具體界面的實(shí)現(xiàn),所以總是感覺有些不爽,因?yàn)榭傆X得那不是軟件,
甚至都懷疑起 C++ 到底能夠做什么用,現(xiàn)在想來那時(shí)候的想法真是幼稚啊,
并且自己也總是幻想著能夠什么時(shí)候做一個(gè)具體的軟件出來(那個(gè)時(shí)候總是覺得只有有了現(xiàn)在所謂的圖形界面才算得上軟件),
后來一次偶然的機(jī)會(huì),我接觸了 . Net ,然后,我發(fā)現(xiàn),做圖形界面是如此的爽呼呼,
于是乎,一個(gè)人拼命地學(xué),拼命地學(xué) .Net,然后開始拼命地寫我那個(gè)時(shí)候我所認(rèn)為的所謂的軟件,
寫一些數(shù)學(xué)工具,一些小游戲,也將一些諸如迷宮,八皇后的算法題從 C++ 改成 C# 寫的應(yīng)用程序,
然后就是做 Web 開發(fā),學(xué)了很多很多,也做了很多的諸如什么什么的管理系統(tǒng)等等,
但一直都感覺不再向大一學(xué)習(xí) C++ 那么正派了,有點(diǎn)說不出的感覺,
但也一直總結(jié)不出什么內(nèi)容,
不過現(xiàn)在算是總結(jié)出來了,因?yàn)槲疫^早的涉及了高級語言,而忽略了真正的基礎(chǔ) ! ! !
因?yàn)榭偨Y(jié)出來了結(jié)果,所以我也越發(fā)的思考大學(xué)里面,作為一個(gè)大學(xué)生到底應(yīng)該要學(xué)的是什么?
總結(jié)了個(gè)人所認(rèn)為的在技術(shù)上的幾點(diǎn)內(nèi)容,注意是技術(shù)上的,至于做人處事上的,我自己都做的不好,沒資格在這里扯淡,
英語很重要,我的英語一直不怎么的,因?yàn)橛⒄Z差勁我也吃了很多虧的,甚至我現(xiàn)在看英文資料,我都得開著金山詞霸的劃詞翻譯,
看起來的那個(gè)速度自然是不用說了,
曾經(jīng)我也總是想,現(xiàn)在國內(nèi)資料那么多,要英語干嗎?呵呵,聽我一句勸,好好學(xué)習(xí)英語吧,
因?yàn)槟銜?huì)發(fā)現(xiàn),你真正要找的資料是某個(gè)不常用 API 的英文解釋,而不是要找 HelloWorld 怎么實(shí)現(xiàn)的中文資料,
然后就是難道你以為任何一門語言都有向 MSDN 中 C# 這么全面的中文文檔?那你看看 MSDN 中 VC++ 的文檔吧 ! ! !
或許有人會(huì)說:為什么 C/C++ 中文資料這么多?
天吶,難道你想一輩子跟在別人幾十年后面,你知道 C/C++ 是一年出來的嗎?難道,你愿意永遠(yuǎn)比別人了解到新知識晚幾十年?
數(shù)學(xué)很重要,大學(xué)里,我數(shù)學(xué)一直都還不錯(cuò),無論是高數(shù),還是線數(shù),離散,我都學(xué)得不錯(cuò),也一直有些沾沾自喜,
但是到現(xiàn)在看來,我的數(shù)學(xué),呵呵,悲劇,學(xué)得太爛了,數(shù)學(xué)的話,我覺得各位在校的,也聽一句勸,學(xué)得越深越好,
曾經(jīng),我也總是覺得數(shù)學(xué)沒一點(diǎn)用處,但是后來看了 OpenCV ,也和同學(xué)討論了 OpenGL ,談?wù)摿艘恍┯?jì)算機(jī)圖形學(xué)的內(nèi)容,
也看了同事的一些不曉得是什么的東西,居然列那么多數(shù)學(xué)公式,關(guān)鍵是我一個(gè)都不懂,
此時(shí)我才發(fā)現(xiàn),計(jì)算機(jī)的世界其實(shí)是一個(gè)數(shù)學(xué)世界,
你想深入了解計(jì)算機(jī),那你得數(shù)學(xué)得學(xué)得非常牛逼,里頭全是數(shù)學(xué),所有的東西都是數(shù)學(xué),
甚至讓我覺得,計(jì)算機(jī)搞到很牛逼了的話,那么一定可以成為一個(gè)牛逼的數(shù)學(xué)家了,
或許各位會(huì)說,我只局限在我所了解的領(lǐng)域里面了,因?yàn)樵?nbsp; .Net 中,數(shù)學(xué)似乎一點(diǎn)都不重要呢,
但是我會(huì)反問,難道你又不是局限在 .Net 中了,
或許,你覺得微積分,常微分方程離我們很遠(yuǎn),其實(shí),你錯(cuò)了,它離我們很近,你總有一天會(huì)發(fā)現(xiàn)的,
呵呵,其實(shí)數(shù)學(xué)的重要不重要,關(guān)鍵在于你想不想真正的呆在這一行里面;
匯編很重要,弄到這里,應(yīng)該會(huì)有很多人反對了,因?yàn),向匯編這種東西,在搞 Java 和 .Net 的這些高級語言程序員眼里,
那早就應(yīng)該是過時(shí)的內(nèi)容了,呵呵,其實(shí)我以前也是這么覺得的,畢竟,有本事你拿匯編做個(gè) Web 應(yīng)用程序出來看看,
呵呵,以前多幼稚的想法啊,人家<<瘋狂程序員>>里頭的絕影就是弄的匯編,不曉得現(xiàn)在混得咋樣咯,應(yīng)該不會(huì)差那頭去吧,
畢竟人家弄的是匯編,確實(shí),那匯編做應(yīng)用軟件或者 Web 應(yīng)用程序的話,確實(shí)太牽強(qiáng)了,但是為何我現(xiàn)在搞 .Net 這么多年了,
反而回過頭來學(xué)習(xí)匯編了呢?因?yàn)槲野l(fā)現(xiàn),我對內(nèi)存的管理,對寄存器中的內(nèi)容,對整個(gè) .Net 的底層,對所有的一切都掌控不了,
曾經(jīng)看一本書,好像是<<Sql Server 2005 高級程序設(shè)計(jì)>>吧(一本 Sql Server 方面的巨著,這里擅自推薦一下),
里面的作者就說了,計(jì)算機(jī)中最害怕的事情就是不可預(yù)料,無法掌控,
而且匯編語言中,對內(nèi)存的尋址,以及寄存器的使用都有非常好的解釋和頻繁的使用,
通過學(xué)習(xí)匯編,你可以更好的理解地址總線,數(shù)據(jù)總線,控制總線和 CPU 以及內(nèi)存之間真正的工作流程,
以及它們之間的一些最基層的協(xié)作關(guān)系,同時(shí)也能理會(huì)內(nèi)存最真實(shí)的使用,
而不會(huì)向無頭蒼蠅一樣,甚至連內(nèi)存是什么都不知道,只會(huì)說,我只要分配內(nèi)存即可,只要 new 就 OK 了,
當(dāng)然如果你只想做到你所要的 new 的話,我也沒有辦法,我只能說你還不夠狂熱,不夠?qū)I(yè),不是合格的程序員;
計(jì)算機(jī)組成原理和編譯原理,計(jì)算機(jī)組成原理的重要性是不言而喻的,畢竟考研專業(yè)課中,這東西好像還占蠻大的比例的,
至于這編譯原理嗎,肯定又有人反對編譯原理了,說,又不讓你自己搞編譯器,學(xué)什么編譯原理,
呵呵,說的也不錯(cuò),但是我想說的是,并不是你想搞什么你才去學(xué)什么,眼光放遠(yuǎn)點(diǎn),
你會(huì)發(fā)現(xiàn),你的世界里并不是只有 .Net 和 Java,
而且在編譯原理這東西里面,你確實(shí)能夠?qū)W到很多東西,就比如,如果當(dāng)初設(shè)計(jì) Java 的是你,
你會(huì)想到先將程序編譯成字節(jié)碼,然后再使用解釋器來解釋字節(jié)碼嗎?
我想,你肯定想不出的 ~~~
操作系統(tǒng),
操作系統(tǒng),這個(gè)名詞聽著都感覺很嚴(yán)重,畢竟,在操作系統(tǒng)被 Windows 壟斷的環(huán)境下,
也確實(shí)很難有人愿意接受操作系統(tǒng)是很重要的東東了,
甚至覺得學(xué)習(xí)操作系統(tǒng)就是學(xué)習(xí)如何在 DOS 環(huán)境下,敲個(gè)命令出來一大堆東西,
或者覺得學(xué)習(xí)操作系統(tǒng)就像是學(xué)習(xí) <<Windows 操作系統(tǒng)一千招>>一樣,
能夠打開個(gè)注冊表,能夠優(yōu)化一下電腦,改變一下電腦啟動(dòng)畫面,那就是學(xué)習(xí)操作系統(tǒng)了,
又覺得以后操作系統(tǒng)這東西就給微軟去做吧,
如果你真這樣想的話,那我只能說,真是個(gè)悲劇 ! ! !
我想說,如果你覺得操作系統(tǒng)不重要的話,那你真是錯(cuò)到家了,
大學(xué)里頭,我一開始也是帶著混的心態(tài)混過的操作系統(tǒng)課程的,
但是在考試前一個(gè)星期,我居然迷戀上了操作系統(tǒng),那可真是作死的看操作系統(tǒng)啊,
整整在一個(gè)星期里,我拿著<<操作系統(tǒng)概念>>看了 2 遍,甚至在看完 2 遍中文版的之后,
我還準(zhǔn)備去啃原版的,無奈英文水平太差,最后只能作罷,
經(jīng)過了那次的操作系統(tǒng)的學(xué)習(xí)后,我自以為操作系統(tǒng)我掌握的還不錯(cuò)了,
但是后來,我發(fā)現(xiàn),我一直都在追趕操作系統(tǒng)里面的知識,
從我寫驅(qū)動(dòng)程序開始,我就一直在追趕操作系統(tǒng),為此,我重新學(xué)習(xí)操作系統(tǒng),看 Windows 內(nèi)核原理,
看 Windows 分析,看內(nèi)存管理,看進(jìn)線程調(diào)度,看 CPU 調(diào)度,看 I/O 管理,即插即用管理等等,
看了很多,至今我都覺得,我在操作系統(tǒng)這一塊還很欠缺,很欠缺,我越往深處學(xué)習(xí),我就覺得我越欠缺操作系統(tǒng)的知識,
現(xiàn)在也還正在打算到哪里再去找些什么資料來填補(bǔ)空缺呢,呵呵,說了這么多,
我只是想糾正現(xiàn)在大學(xué)里頭很多人認(rèn)為操作系統(tǒng)不重要這一觀念,
操作系統(tǒng)真的很重要,很重要 ! ! !
C/C++,這兩個(gè)東西我想不必多說了,只是在這里奉勸那些和我當(dāng)年幼稚想法一樣的說 C/C++ 做不了什么用的人,
如果這兩個(gè)東西,你錯(cuò)過了,你補(bǔ)都補(bǔ)不回,
其實(shí)啊,我們被大學(xué)里頭的老師害慘了啊,
曾經(jīng)我的 C++ 老師就說,美國什么航空火箭發(fā)射上天后失敗,直接掉了下來,照成 n 人死亡,損失慘重,
而這一切竟然是一個(gè)指針惹的禍,所以,我們 C++ 老師就跟我們說,指針這個(gè)東西很危險(xiǎn),少接觸為妙,
哈哈哈,真被害慘了,后來才發(fā)現(xiàn) C/C++ 如果沒有了指針,那就真的一點(diǎn)用處都沒有咯 ~~~
還有,當(dāng)年老師教 Goto 語句的時(shí)候,老師只講了一句話:這東西,影響程序邏輯性,造成程序可讀性差,所以大家禁用 ~~~
呵呵,現(xiàn)在出來,這個(gè) Goto 語句也還是經(jīng)?吹降
(這里我并不是推廣使用 Goto 語句哦,只是有些東西,并不是說老師不教我們就可以不學(xué)的,也不是我們不學(xué),以后就不會(huì)碰到要使用的情況的)
勸誡各位,千萬不要看不起黑框框,來句形象點(diǎn)的:一切圖形界面都是過眼浮云 ~~~
我最慶幸的是,我當(dāng)初對 C++ 還執(zhí)著過那么一年半,所以,也還算有一點(diǎn)點(diǎn),也就是一點(diǎn)點(diǎn)底子而已,
拿最簡單的說,人家 Windows 還是 C 寫的呢,人家 Oracle 也是 C 寫的呢,你還敢說 C/C++ 沒用 ?
然后,那你又會(huì)說,那些都是做的系統(tǒng)集成,系統(tǒng)軟件,
呵呵,那我現(xiàn)在給公司里寫的也都是 C 寫的呢,而且寫的環(huán)境還是在黑框框里頭寫的呢 (Dos 環(huán)境下編譯調(diào)試),
那你現(xiàn)在還會(huì)很鄙視黑框框嗎 ?
數(shù)據(jù)結(jié)構(gòu)和算法,對數(shù)據(jù)結(jié)構(gòu)還好,在大學(xué)里,還是有很多人意識到了數(shù)據(jù)結(jié)構(gòu)的重要性的,
而且,基本上上課的老師也會(huì)稍微強(qiáng)調(diào)一下數(shù)據(jù)結(jié)構(gòu)的重要性,呵呵,所以,在大學(xué)里頭,這門課缺課的人還是比較少的',
確實(shí),如果等到各位將來研究一些稍微底層的代碼時(shí),或者如果有機(jī)會(huì)寫系統(tǒng)軟件的時(shí)候,
你會(huì)發(fā)現(xiàn),底層里頭的鏈表那個(gè)多啊,循環(huán)鏈表,雙向循環(huán)鏈表,平衡數(shù),順序表,最小生成樹等等用的到處都是,
當(dāng)然啦,現(xiàn)在 C# 里頭,大家或許很少有機(jī)會(huì)接觸到了,要隊(duì)列有隊(duì)列,要表有表,要字典有字典,要什么有什么,
一般來說一個(gè)字典,一個(gè) Array , 一個(gè)泛型基本上全部搞定,
但是忘了告訴各位,用得這么方便可是需要付出代價(jià)的哦 ! ! !
而對于算法的話,現(xiàn)在感覺越來越不受重視了哦,
甚至很多學(xué)校都不開算法課了,只是一個(gè)簡單的數(shù)據(jù)結(jié)構(gòu)帶過而已,
所以很多人也都不曉得貪心算法,動(dòng)態(tài)規(guī)劃等了(說實(shí)話,我也不太懂了,不過打算有時(shí)間去補(bǔ)補(bǔ)),
都是高級語言惹得禍(注意,這里不是抨擊高級語言哦),把算法都封裝的那么好,
說實(shí)在的,如果真不做大的系統(tǒng)的話,算法這東西真的很多都可以不需要掌握了的,
但是,如果,這世界上每一個(gè)人都這樣想的話,就不會(huì)有 Windows ,Oralce 了,
殊不知,Windows 整個(gè)結(jié)構(gòu)的復(fù)雜性,其中調(diào)度算法的使用,
也殊不知,Oracle 體系結(jié)構(gòu)的復(fù)雜度,其中緩存處理算法的復(fù)雜度等等,
如果你只想在 .Net 上用用別人的東東,或者說是有空拿個(gè)循環(huán)玩玩的話,算法這東西確實(shí)跟你隔得很遠(yuǎn)了,
但是,難道你愿意這樣???
你去看現(xiàn)在年薪高的程序員,哪一個(gè)不是算法高手?
呵呵,這就是差別哦 ~~~
數(shù)字電路和模擬電路,說到這里,更多意見應(yīng)該會(huì)冒出來了,咱搞軟件的,為什么要搞這些東西呢?
呵呵,如果真的不用搞這些東西,大學(xué)里就不會(huì)開這些課咯,博客園里頭搞 .Net 的居多,搞 Web 開發(fā)和 .Net 應(yīng)用軟件開發(fā)的居多,
而現(xiàn)在市場上搞 Java 和 .Net 的又是居多,所以設(shè)計(jì)到數(shù)字電路和模擬電路的內(nèi)容不多,
甚至是一片空白,所以也就覺得這兩東西真是扯淡,說真的,我很能體會(huì)大伙的心情,因?yàn)槲乙郧耙彩沁@樣覺得的,
但是,大家眼光放開點(diǎn),真的放開點(diǎn),這個(gè)世界上真的就只有 Java 和 .Net 了嗎?
而除了 Java 和 .Net 以外,很多其他地方,對于數(shù)字電路和模擬電路都是要求很高的,
尤其現(xiàn)在社會(huì)上很缺模擬電路方面的人才哦,而且,理解了這兩個(gè)東西以后,對于自身理解程序的具體怎么跑的,
為什么能輸出個(gè)字符,為什么能執(zhí)行計(jì)算操作都是很有幫助的,而不會(huì)像一個(gè)碼農(nóng),連自己在做什么都不知道,
這也就是所謂的不可預(yù)知 ! ! !
計(jì)算機(jī)網(wǎng)絡(luò),這個(gè)東西呢,說真的,也不好說,當(dāng)今早就過了以前那個(gè)計(jì)算機(jī)只是用來做計(jì)算的時(shí)代了,
現(xiàn)在是網(wǎng)絡(luò)的時(shí)代,如果你真不懂網(wǎng)絡(luò),說實(shí)在的,你連程序員都不適合,不要求你有多深的掌握,
但是 TCP,UDP 還是要分得清吧?TCP/IP 協(xié)議五層結(jié)構(gòu)總的知道吧?
數(shù)據(jù)具體的流動(dòng)過程也要有所了解吧,呵呵,都是很基礎(chǔ)的東西啊,
可是,這些基礎(chǔ)卻是最重要的東西~~~
總結(jié)
上面總結(jié)出來的幾門課程,都是我認(rèn)為大學(xué)里頭,在計(jì)算機(jī)中最最基礎(chǔ)的課程了,
但是,這些課程卻被很多大學(xué)給忽略了,從而也被很多大學(xué)生給忽略掉了,
而諸如軟件工程,數(shù)據(jù)庫,軟件項(xiàng)目管理之類的課程我在這里沒有提及,因?yàn),那一塊過多涉及軟件方向了,
會(huì)限制到一些思維,所以我沒有提及。
現(xiàn)在的大學(xué)里(像我所在的學(xué)校),側(cè)重點(diǎn)已經(jīng)變咯,培養(yǎng)學(xué)生事小,撈到收入才是最重要的了,
學(xué)校為什么拼就業(yè)率。烤蜆I(yè)率高了,自然學(xué)生來得多,學(xué)生來得多,自然,國家給的錢多,
自然,腰包里錢更多,然后又大肆拼就業(yè)率,拼就業(yè)率,那就得多讓學(xué)生接觸所謂的現(xiàn)在社會(huì)上所需要的(Java 和 .Net 程序員),
如何培養(yǎng)出這樣的程序員呢?交給培訓(xùn)學(xué)校吧 . . .
甚至,似乎今年還推出了一個(gè)新的專業(yè),是和牛耳培訓(xùn)學(xué)校合作的一個(gè)軟件外包專業(yè),
呵呵,專業(yè)外包人才,靠 . . . 名字真?錳?. . . 要我說,學(xué)校太不負(fù)責(zé)了 . . .
說實(shí)在的,以前,有一些不同意老趙對培訓(xùn)學(xué)校的觀點(diǎn)的,
但是,現(xiàn)在看來,也還是有一些同意了(但培訓(xùn)學(xué)校確實(shí)還是有一些作用的,或許會(huì)培養(yǎng)人,但是我覺得也會(huì)害死人),
通觀全文,可能有讀者會(huì)覺得我在反對高級語言,其實(shí),我一直都在努力地避開這個(gè)話題,
因?yàn),我本身的意愿并不是反對高級語言,只不過,我覺得大學(xué)里頭的學(xué)生,
尤其是大一,大二,大三的學(xué)生,他們不應(yīng)該過早的接觸到高級語言,
如果他們基礎(chǔ)真的好了,那他們到哪里都可以展翅,當(dāng)然,等到基礎(chǔ)好了,
學(xué)起高級語言來也是手到擒來的 . . .
還有就是需要解釋一下,現(xiàn)在大學(xué)里頭流傳的:學(xué)基礎(chǔ)課程是找不到工作的 !只有 Java 和 .Net 才是王道;
我的回答是放屁 !
【寫給大學(xué)新生 談大學(xué)學(xué)習(xí)】相關(guān)文章:
1.寫給大學(xué)新生的勵(lì)志寄語-大學(xué)新生勵(lì)志經(jīng)典寄語
3.大學(xué)新生如何適應(yīng)大學(xué)學(xué)習(xí)
4.2013大學(xué)新生寄語-寫給2013屆大學(xué)新生的寄語
5.大學(xué)新生學(xué)習(xí)計(jì)劃范文參考