Re: [請益] 學生自學方向

作者: tinlans ( )   2018-06-29 12:44:47
※ 引述《roy87921 (PH9.0)》之銘言:
: 小弟我目前大一升大二 電機系學生(有可能會轉資工 結果八月才會出來)
: 大一上學期有上過C++計算機概論(以前沒碰過C)
: 用的是C++ How to Program Late Objects Version /7th 這本書
我沒看過這本,看出版日期是 2010,你知道的 C++ 可能和現在的 C++ 有段差距了。
但還是建議你讀完,或者去書店自己挑一本比較新的。
: 學到Class附近 想趁著暑假自學精進一下 (未來想往app或韌體)
app 和韌體是兩個天差地遠的方向。
如果你還沒確定,C++ 時間可以花少一點。
: 應該會先把之前上課的內容複習一遍 但再來就沒有方向了
學到 class 附近有很多種意思,你有沒有學到物件導向才是重點。
如果只有學到把 data 跟 operation 收集在一個 class,那個還沒到物件導向。
物件導向要學齊封裝、繼承、多型三個特性,上面那行講的只有封裝而已。
這三個特性學完,你對物件導向的瞭解大概是腳正要開始抬起來,離跨過門檻還早。
因為現在韌體也有 C++ 做的,所以物件導向有機會在這方面應用。
只是你可能被同事投訴,說你故意寫他們看不懂的 code (這我學弟遇過),
開明一點的主管可能要你開教育訓練課程幫忙訓練同事,
所以你可能得學到會教人的程度,不能只是半桶水。
寫 app 就更不用說,物件導向還是要學,所以你現階段可以加強物件導向的部分。
物件導向有三處要學,不能只學末端的物件導向程式設計:
物件導向分析 (OOA) -> 物件導向設計 (OOD) -> 物件導向程式設計 (OOP)
前兩者 C++ 資源有限,很多是以 Java 為範例。
不過 Java 跟 C++ 長得很像,所以你學完 C++ 物件導向看那些書也很容易。
OOA 跟 OOD 入門你直接看 O'Reilly 這兩本:
1. 深入淺出物件導向分析與設計
2. 深入淺出設計模式
先看 1 再看 2,後者算是 OOD 用的 library,只是它是概念而不是程式碼。
讀完以後接著這兩本:
3. Refactoring: Improving the Design of Existing Code
4. Refactoring to Patterns
這兩本都有中譯本,只是我不知道還有沒有在賣。
主要是強化你程式結構的東西,後者屬於物件導向設計的範圍。
OOP 的話你在學特定語言就會學到,應該是你最早期碰到的部分。
確定你未來的方向並選定程式語言以後,你再把它進一步加強。
工程師一般會偏重於 OOD 跟 OOP 的部分,但不瞭解 OOA 會做出莫名其妙的設計。
所以 1 你還是得耐心看,免得你醉心於把工程當成美術在創作還無視需求。
工作上 OOA 你通常管不太到,所以先有個概略瞭解就好。
碩班畢業以前記得去修軟體工程,如果你想走 app 的話。
: 希望前輩們給點建議:
: 1.往這本書後面讀(稍微往後翻 內容大概有tree STL Algorithm...)
上面建議給完了。
STL 的使用方法學一學就好,確定要走 C++ 之後你再回來問。
: 2.刷CPE題目 順便做準備
要刷去刷 leetcode,但是建議上碩班再刷,也就是要找工作前刷一刷。
因為你說你要轉資工,所以我就先假設你會拿碩士了。
: 3.學習其他語言 (Python,Java...)
你確定要走 app 還是韌體以後再說,這階段比較建議你自學資料結構而不是更多語言。
比起特定語言,學一下泛用知識會比特定語言還要好。
但這不代表語言不重要,語言是你將來吃飯工具,一旦決定方向你就要把語言學到精通。
: 另外還有一點疑問 我現在是用mac的Xcode在編譯C++
: 有大大能推薦自學熟悉xcode介面操作的資源嗎
: 以前上課作業都是在windows下編譯的 最近剛換電腦...
作者: johnny94 (32767)   2018-06-29 12:55:00
OOAD 很重要,但可能是我待的地方太鳥,所以根本沒人在意,都只想趕快寫 Code
作者: roy87921 (祈)   2018-06-29 16:43:00
感謝t大 心中大概有個方向了 但資結有可能會在大二修正有必要先自學嗎*修正課

Links booklink

Contact Us: admin [ a t ] ucptt.com