某日小A去買盜版光碟,與小販還價。
小販曰:兄弟,别還價了,我們做IT的也不容易。
對于計算機的學習步驟,可以分為幾個階段:其中的數學和英語是作為計算機行業的基礎;第二階段的是資料結構、計算機組成原理、計算機作業系統原理、計算機網絡、編譯原理、彙編語言及接口技術、C語言等專業基礎課程;第三個階段是計算機圖形學、資料庫原理、軟體工程、人工智能、系統分析與控制等計算機專業課程。這些課程如果希望每一個都學好的話,就像開題笑話所講的那樣,也不容易。
是不是做計算機行業的都需要把這些内容都學完學好呢?我個人覺得未必要門門都學好學精,因為并非是所有課程都學習好之後才能夠工作。在計算機行業中,并不是所有的人都會從事開發工作,即便時都從事開發工作的,由于工作的領域不一樣,所涉及的知識層面也存在有巨大的差異,是以對隻是點的要求也不盡相同。是以很多同學可能隻是希望今後能夠從事軟體開發工作,但是對具體的方向可能還無法确定,這些也會給他們造成很多迷茫,因為方向不明确,是以學習上也就缺少明确的目标。
我可能很難對計算機領域做出一個比較完整準确的劃分,我隻是從開發者學習的角度來看,把這個領域做出幾種劃分,然後對劃分出來的結果所從事的工作内容和學習的要點進行說明。在做軟體開發的時候,一個比較大區分就是偏軟還是偏硬,我隻是簡單的将這些方面做一個劃分:
從事領域
工作方向
學習課程
偏向硬體方面
今後希望從事嵌入式開發領域
系統組成、接口技術、彙編技術、數字電路和作業系統
從事基于資料庫的商業軟體
可以從事商業應用軟體的開發
其資料庫原理和C語言,編譯原理
從事圖形方面
圖形開發或則遊戲開發
計算機圖形學,資料結構和數值分析等
從事工具或則系統底層的開發
開發各種應用架構,或則應用軟體
作業系統,計算機網絡,資料結構、C語言
從事軟體測試方面
軟體測試人員
軟體工程,計算機系統組成,和測試技術
從事UI設計方面
做UI界面的設計人員
計算機系統組成,軟體工程,各種圖形制作工具
從事算法研究
算法研究
離散數學、幾何與代數、機率與統計、人工智能導論、離散數學
由于做軟體開發中具體的開發領域存在有差異性,是以劃分的細節也就比較難确定,但是從大體上來看,作為學習階段,先可以确定自己今後希望從事的工作内容,盡量使自己對的工作的内容保持有熱情,這樣今後在工作和學習中也能覺得不會枯燥無味。
同樣,軟體行業所要學習的内容不是上面表中所羅列的那些,隻是說針對學校的同學或者學習的新人來說,能夠在衆多的課程中找出一個學習的側重點。如果說希望充實相應的開發工作,隻要要把關鍵的課程學習完,學習好。這樣在剛剛進入工作階段也會避免基礎的欠缺造成的尴尬。
最後,在所有的專業課程之外,還需要提及的就是英語的學習和基礎C(也可以是Pascal、Basic或則是其他的進階語言),英語的重要性絕非式考過四、六極就算完事,聽說讀寫都要加強鍛煉,今後的工作崗位上你會發現英語實際應用的重要性。選擇一門進階語言作為計算機軟體開發語言的學習重點,側重點在于培養自己良好的程式邏輯思維能力,沒有必要像蜻蜓點水一樣,把流行的語言都點了個遍。
本文轉自小餘(Yice)部落格園部落格,原文連結:http://www.cnblogs.com/yice/archive/2008/10/22/1316655.html ,如需轉載請自行聯系原作者
<a href="http://www.cnblogs.com/yice"></a>