CS學習

做者:匿名用戶
連接:https://www.zhihu.com/question/27368268/answer/36464143
來源:知乎
著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。

一、從C語言開始,推薦《 C語言的科學和藝術 (豆瓣)》,自己自帶一個圖形庫,例子生動形象,感受比《C語言現代方法》、《C Primer Plus》更加適合入門;
二、而後是數據結構,推薦《 數據結構與算法分析 (豆瓣)
這些都是最基礎的知識,與平臺無關
---------------------------------------------------------------------------
三、以後是《 Unix/Linux編程實踐教程 (豆瓣)》,在這裏你會學習到如何實現 ls ,who, cp之類的命令和一個簡單的的Shell,參考 Coreutils - GNU core utilities
四、寫一個圖像處理庫,參照libpng,另外;寫一個Unicode轉換庫;寫一個IDv3 處理小工具,能夠參照( )推薦的軟件;寫一個快速拷貝工具( FastCopy);文件去重工具;
這裏涉及到Linux系統,文件處理,文件夾處理,編碼轉換等常見知識,能夠取得成就感,使學習再也不枯燥。
-----------------------------------------------------------------------------
五、閱讀[Glib]( GLib Reference Manual)的源碼,特別是數據結構部分,閱讀源碼以前能夠先看看《 C語言接口與實現 (豆瓣)》,也能夠相互對照,使用其中的原則重構本身的程序;
六、寫一個玩具系統,國內能夠看《 Orange'S:一個操做系統的實現 (豆瓣)》,可能涉及到一點彙編,不過不多;
基礎已經打好了,當個期末大做業什麼的也能夠,還能夠給妹子吹牛說寒假一個月寫了個操做系統~~~
-----------------------------------------------------------------------------
七、學習一下GTK+和GObject,面向對象部分能夠參看《Object-oriented Programming with ANSI-C》 http://www.cs.rit.edu/~ats/books/ooc.pdf
八、用GTK +和Cairo寫幾個小遊戲,好比掃雷、數獨、雷電;
-----------------------------------------------------------------------------
*九、數值計算(我的愛好);
*十、寫一個音頻處理庫(參照deadbeaf http://deadbeef.sourceforge.net/,不依靠GStreamer);或學習調用GStreamer,實現一個播放器(之前寫的IDv3庫有用武之地了);
十一、學習使用SDL2.0, Simple DirectMedia Layer,看看別人如何實現圖像庫的(重構本身的libpng);
-----------------------------------------------------------------------------
十二、繼續學習算法,推薦《算法設計與分析基礎》,實現一個自定腳本語言,參照Lua;
1三、用SDL、GTK+、Lua、音頻庫組合到一塊兒,寫一個相似遊戲開發大師的軟件,好比
-----------------------------------------------------------------------------
1四、學習彙編,推薦《 彙編語言 (豆瓣)》,同時推薦閱讀 《 編碼的奧祕 (豆瓣)》《 深刻理解計算機系統 (豆瓣)》;
1五、學習優化(Profile);
1六、用SSE,AVX優化本身寫的圖形庫,音頻庫,數值計算庫;
-----------------------------------------------------------------------------
1七、學習C++;
1八、學習OpenGL;
1九、學習C++;
學習C++;
學習C++;
學習C++;

聽說C++是學不完的
-----------------------------------------------------------------------------
若是不學C++的話
1七、計算機網絡( Unix Network Programming, Volume 1 (豆瓣)) 1八、Python 想幹什麼就幹什麼吧,已經沒有東西能夠難到你了 ----------------------------------------------------------------------------- 以上全是編的 那些書都沒有看過 找工做也沒有人會問 纔不知道什麼Linux、VIM、Git、GCC、CMake呢 聽說學校裏編程最厲害的人都用XP和VC6.0,還有自動提示,嚶嚶~~~~~
相關文章
相關標籤/搜索