学弟学妹看过来,小白到大神必经之路!
學習建議
C語言
學好C可能不會讓你找到個好工作,不知道你們用的是什么書,如果是清華大學的那本就直接丟垃圾桶吧。圖書館負一層的好書(ps:我們學校的計算機書都在負一層,看的人少。。)多得是,還有C語言作者寫的,首選國外的書,然后是國內的。C的重要就是指針+數據結構。有一本不錯的書,如《C和指針》及《C專家編程》。不過,如果不是搞嵌入式的話,C可能會用得很少,多數都是Java的面向對象。圖書館有很多,很不錯的書。。這是我們學校的一個不算是優點的優點,我不知道你們系的老師怎樣,但是請相信多數情況下只有混得不好的才來當老師(ps:很一般的二本院校)。只是少部分老師也很優秀,至少在我們專業中——電子信息工程是這樣的。在我們專業領域,C才是神器相比于匯編語言,只是這個時代匯編語言用于提升運行效率顯得有點。。。
面向對象
面向對象,一個比較好的起點就是Java,這個印象中經常看到計算機系的孩子拿著這些的書,然后你可能需要《Head First設計模式》,接著是四人班GoF的經典之作《設計模式》,還有很多,如果覺得Java麻煩。可以試著用Ruby或者Python,Ruby有一本《Ruby設計模式》,學設計模式的優點是如果你面向對象的思維不是很強的時候可以用到。用Ruby可能會使學習快些,在學習設計模式的時候,問題是國內用這種語言可能會比較少。需要考慮一下,Python會比Ruby多一點,如果有所謂的愛國情節,就從Python開始,國外的孩子好像都是。
C++算是一門不錯的語言,只是現在用得比較多的好像是在游戲領域。這門領域太復雜了,所以不要以為你的教科書上面的東西那么簡單,請相信教科書是給考試準備的,而不是給實戰準備的。所以,除非有好的發展(比如,有親戚等在這方面工作,而且現在主要是在游戲中用得比較多),要不請暫時放棄C++。Java提煉了一些C++的精華,比較面向對象而且和專業課相關,算是一個很好的起點。簡化面向對象的學習就是上面說的設計模式。
操作系統
開始使用Linux。開始可以考慮用Ubuntu或者Mint,國內用得比較多。我比較喜歡使用openSUSE。如果你有臺MAC 就再好不過了。試著從底層去了解一個程序是怎么運行的。從開機到一個程序的運行,其中你可能需要了解的是《Linux內核原理與實現》。以及你們專業自帶的《操作系統原理》,如果用的還是國內的書的話,請換成圖書館的國外的書。Unix的有些東西和Linux上面是類似的,所以可以試著在上面寫C程序,附上一本書《unix環境高級編程》。
Windows很好很強大,但是如果你想提高你的技術試著用Linux。 每個人的看法可能不同的,但是如果要學得相對全一點,請到Linux。當然也可以選擇成為Windows的高手。Windows要成為高手有點難,Linux的學習曲線可能會有點陡。
所以有這樣一本書《鳥哥的Linux私房菜:基礎學習篇》,在我們實驗室512(ps:很受程序員歡迎的數)中幾個都是以此為基礎學的。所以,請不要相信計算機學得好的都在計算機專業。魯迅學的也不是中文,你說是吧?
專業課
學好你們專業的課,比如《數據結構與算法》、《操作系統原理》、《編譯原理》之類的,這類的書首先考慮國外的,再考慮國內的。如果看不懂所謂的數學,可以考慮一下《具體數學》。
雖然我不是計算機專業的,但是我開始學計算機比較早,其中可能走過一些彎路。數學在有些時候也是很重要的,不過我覺得國內的教育太坑人了。所以可能需要一些國外的計算機數學方面的建議。
我可能是沒寫好本專業的課,但是我達到了本專業的要求,可以做出想要的東西。所以,要對自己的大學有一個好好的規劃。
發展建議
代碼閱讀
看別人寫的代碼。這是一個很省力的成長方式,有一本書叫做《代碼閱讀》。可以試著用這個當起點去學習,其中也提到了C的很多用法,所以那本書是一個很好的起點去學習。
更多的開源程序在Linux上面,所以這部分可能需要有Linux系統作為基礎,所以盡快換成Linux,雙系統切換。如果實在有Windows強迫癥那就單Linux運行。
編程+項目
更多的編程+項目。試著用做一些東西來學編程,而不是按照書上說的一步步的來。國內的書可能更多的按步就班的來。所以,用實現功能來學習編程,再慢慢來。
私活有時候是一種很不錯的成長方式,在大學中做了幾個網站,成長得很快,也有收入。雖然大部分都是源自網站前端的,但是請相信前端也很復雜。可能你們上的課和現在的不一樣了,現在的前端的位置比課堂上的那些老師說的重要得多。服務器的配置再高也會有個限制,但是將一些計算放在用戶的瀏覽器里,是一種很劃算的方式。
至于有些編程經驗嘛,可以由比賽中獲得,印象中計算機系會有很多比賽。另外,你如果感覺自學C/C++語言有困難的話,我本身是一個C/C++出身的程序員,我整理了一些學習C語言的視頻在扣裙,大家有興趣可以一起來學習,893,154,,226。
閱讀書籍
如果有一天你覺得自己寫的代碼不行的話,請試著用《重構》這本書來改善你的代碼。
如果有一天你覺得面向對象的思想不夠的話,請試著閱讀《設計模式》來提升。
如果有一天你覺得沒學好C語言的時候,請試著閱讀《C和指針》。
。。。
所以,當你覺得不足的時候,請閱讀。
(PS:大一到大四看了500左右的計算機書,因為想了解全一點,所以看得有點多,習慣于像福爾摩斯一樣的作法。剛那些東西當成書庫一樣存儲,以使自己找到更合理的解決方案,但是后來發現有時候是不可取的。現在的結果是編程經驗遠遠不足,好在未來的東家看好我。)
我的大學目標
僅做參考,大學做了一個簡單的目標規劃,但是都實現了。
找個女朋友(很好的一個妹子,希望能一直在一起。)
400+的書籍閱讀(實際500+,書架上70+)
能做想做的東西(硬件+軟件)
大一請好好加油,路還很長。我和你一樣周圍的人都是如此不思上進,問題在于要讓自己更自律、自覺,有一天你會發現自己技能上強大了,心理上強大了。還有的話試著找個女朋友,考慮在以后,而不是在大一大二。
總結
以上是生活随笔為你收集整理的学弟学妹看过来,小白到大神必经之路!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新华社专题报道|陕建集团:打造「建筑行业
- 下一篇: Linux学习笔记之系统路径和命令