Re: [問題] c程式學習步驟
之前從事了 C/C++ 相關基礎課程的教學大概有五六年,
接觸到大部分都是有心想學但是非本科系的學生。
如果你只是想學一個程式語言,我覺得 C/C++ 不是個好選擇。
如果你不知道為什麼想徹底的學會 C/C++,建議的曲線大概是:
[C 語言]
* 計算機概論
- 基礎知識, 主要是對於電腦結構運作抽象化、資料數位化以及運算有基礎認識
- 通常會帶一點編譯器和作業系統的觀念
* C 語言程式基礎
- 學會自己看懂標準函式庫的文件並可自由應用為目標
* C 語言程式進階
- 這階段就是學習怎麼學會使用第三方函式庫, 例如 SDL, OpenGL, OpenCV, GTK+
之類, 應該牽涉到比較進階的概念跟使用慣例, 例如 C 風格封裝、函式指標與位
元運算
* 演算法和資料結構以 C 語言實作
- 我覺得演算法不太應該跟資料結構分開學
- 語言方面主要是加強遞迴使用、指標和動態記憶體配置的概念
[C++ 語言]
* 計算機概論
- 所需要的基礎可以比 C 語言再少一點,因為有更強大的標準庫。
* C++ 語言中與 C 較接近的部分
- 雖然我相信很多人會覺得應該直接學 C++ 風格的設計,
但是教學實務上我還是覺得有很大的困難。
同時我也信奉 C 風格設計是 C++ 使用上的一種可能,
要透徹了解 C++ 在 "目前" 我覺得了解 C 跟 C++ 的差異還是有必要。
* 基於物件的 C++ 程式設計
- 主要學 C++ 風格封裝。
* C++ 與物件導向
- 主要學物件導向的語法,建議是實作某些大型系統,例如 GUI。
* 設計模式與 C++ 程式設計
- 主要學物件導向在實務系統上的應用
* C++ 泛型程式設計
- 用 C++ 實作資料結構 (泛型容器) 跟泛型演算法
- 之前的教學經驗就是直接自己實作 STL
* 其他學不完的東西
- 例如例外之類的,但是實務上重要性目前還是不夠高,這類的東西在
之後的 C++ 可能又會有些改動,因此重要性就往後一點。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.122.83.198
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1431687381.A.0E7.html
※ 編輯: Feis (140.122.83.198), 05/15/2015 19:14:32
推
05/15 23:31, , 1F
05/15 23:31, 1F
推
05/16 15:26, , 2F
05/16 15:26, 2F
→
05/16 15:40, , 3F
05/16 15:40, 3F
→
05/16 15:42, , 4F
05/16 15:42, 4F
→
05/16 15:42, , 5F
05/16 15:42, 5F
→
05/16 15:42, , 6F
05/16 15:42, 6F
※ 編輯: Feis (140.122.83.198), 05/16/2015 15:56:25
推
05/16 22:31, , 7F
05/16 22:31, 7F
→
05/16 22:31, , 8F
05/16 22:31, 8F
推
05/16 23:44, , 9F
05/16 23:44, 9F
→
05/16 23:44, , 10F
05/16 23:44, 10F
→
05/16 23:44, , 11F
05/16 23:44, 11F
→
05/16 23:46, , 12F
05/16 23:46, 12F
→
05/16 23:47, , 13F
05/16 23:47, 13F
推
05/16 23:53, , 14F
05/16 23:53, 14F
→
05/16 23:54, , 15F
05/16 23:54, 15F
推
05/16 23:55, , 16F
05/16 23:55, 16F
→
05/16 23:58, , 17F
05/16 23:58, 17F
推
05/17 00:01, , 18F
05/17 00:01, 18F
→
05/17 00:03, , 19F
05/17 00:03, 19F
→
05/17 00:04, , 20F
05/17 00:04, 20F
推
05/18 14:02, , 21F
05/18 14:02, 21F
→
05/18 14:02, , 22F
05/18 14:02, 22F
→
05/18 14:03, , 23F
05/18 14:03, 23F
推
05/18 17:53, , 24F
05/18 17:53, 24F
討論串 (同標題文章)