我的程序員之路:學習
先談大學里的學習,上學時間打基礎還是得靠上課,課外做項目頂多也只能是速成,不可能有很深的造詣。
我學習一直是興趣導向,主要是去上感興趣的課,這也導致某些課學的比較好,其他課比較爛。
對我現在編程影響最大的要算數據結構和算法,學數據結構時正是從C語言險些沒及格的陰影中走出來,而進入到C++的世界。
當時教我們的是王老師,講著不標準的普通話,課程卻很精彩,作業也不多,適合程序員去上。
在這門課里學到了不少東西,把我的興趣提得更高了,半年學下來,有很多收獲。
以至于到現在寫程序總會發現這樣寫效率可能不太好,因為算法不合理,或者數據組織不合理等等
至少自己能感覺到,我想能感覺到也是好事吧,以后可以慢慢改善。
這里講講大學里比較重要的幾門課:
1.數據結構和算法、編譯原理
現在語言很多,很多書說21天學會一門語言,如果你有數據結構和算法的扎實基礎,21天沒準兒真能掌握一門新的語言。
算法比較難,很難在一學期的課里學懂(本人就是沒搞懂),但常用算法你還是要會用的。
編譯原理同樣比較難,但對一個程序員來說十分重要,簡單點說你學的所有語言都是在某一編譯器上運行的(不太標準),你都熟悉編譯器了,還怕寫不好程序?
2.軟件工程,面對對象程序設計
軟件工程,講的盡是理論,你工作了會發現,你做得一切都是依著軟件工程轉的,包括近些年來流行的XP,敏捷,其精神還是離不開軟件工程。
面對對象程序設計,大學期間很難搞懂其精髓,但能學個半懂對你以后開發出合理的軟件也是有幫助的。
3.數據庫和網絡
數據庫不用講,就是現在的XML那么NB,離開數據庫,它還是不能單打天下。學數據庫,重點學理論,寫SQL簡單的很,沒有理論,你不懂范式,寫不出好的SQL。
網絡,計算機離開網絡,你只能當個沒用的手機用。對于這門課,因為我自己沒學好,而現在對我的影響不是很大,主要是因為我做應用層開發。
如果你以后想搞通信,那你還是別學我,上課只抄作業。如果你以后去搞網站開發什么的,那熟悉下簡單的一些協議也差不多了。
4.計算機組成原理,操作系統
這兩門是基礎,也是大學和外面培訓機構的差別。一個硬件,一個軟件,學好了對你以后很有幫助。
另外,學好數學,因為計算機就是學數學的人發明的,呵呵
以上主要講了大學課程的學習,很多人說,大學學的東西沒用,所以很多學生,在大學期間就去買些VB,ASP.NET的書學,做些小系統,覺得自己NB。
我也有過這樣的經歷,不過實在不建議大學這樣,大學的基礎課,你想學好,絕對能讓你過個充實的四年。
如果你確實學習能力比較強,學校安排的課都學的游刃有余,你可以學點實際的東西,這里說的實用絕對不是讓你買本21天精通啥
而是要寫點實際的程序,最好的辦法是去找你的老師,讓他給你介紹些東西做,這樣一來有人管理,你也不可能偷懶而不了了之。
比如你學過VC++,那就學下MFC,編個QQ什么的來,如果開了網頁方面的課,你不妨學學怎么開發個網站。
絕對不建議你開發很多的東西,四年做一個項目,用不同的方式實現,不斷改進。
在面試時,你說我用五種不同的語言實現了一個系統。
或者說:我開發了一個通信的小工具,可以C/S、B/S兩種模式運行。
也可以說,我做了一個軟件,經過兩年改進,程序運行效率提高了30%。
以上就是我對于學習的想法和經驗,不定適合每個人,但作為大學計算機專業的學生,應該有點作為
強烈建議學計算機的人多看看程序員雜志,多來博客園逛逛。
你會學到更多東西。