-
1 # 黑白電視煤油燈
-
2 # IT人劉俊明
作為一名IT行業的從業者,同時也是一名教育工作者,我來回答一下這個問題。
作業系統原理、資料結構、網路原理是比較重要的計算機基礎知識,另外還包括資料庫原理、演算法設計、編譯原理、電子電路、程式語言等知識。
通常來說,可以按照以下順序來學習這些基礎內容:
第一步:作業系統原理。作業系統是學習計算機技術的重要基礎,透過學習作業系統體系結構、操作指令、任務排程、併發管理、資源管理、許可權管理、安全管理等內容,能夠對計算機形成一個較為系統的理解,為後續的學習打下一個紮實的基礎。
第二步:網路原理。當今是網際網路時代,計算機網路知識的重要程度不言而喻。網路原理涉及到網路體系結構、協議、資料通訊管理、安全等內容,另外還涉及到如何操作交換機、路由器等網路裝置。學習計算機網路要注重實驗,透過實驗能夠建立資料通訊過程等畫面感。
第三步:程式語言和資料結構。程式語言是操作計算機的重要工具,是一定要掌握的重點內容,程式設計本質上就是演算法設計和資料結構的結合,所以在學習資料結構之前應該掌握程式語言的使用,對於初學者來說,C、Java、Python等語言都是不錯的選擇。
第四步:資料庫和深入理解作業系統。資料庫對於軟體開發來說是非常重要的,資料庫的內容比較多,需要學習關係型資料庫和NoSq資料庫的使用。之後深入學習一下計算機作業系統還是有一定必要的,如果能讀一下Linux系統的核心原始碼就更好了。
在學習計算機基礎知識的過程中,一個重要的內容是進行實驗,由於很多計算機概念比較抽象,所以對於初學者來說,往往很難理解,但是透過實驗往往就能夠建立起抽象概念的畫面感。另外,在學習程式語言的過程中也能把很多內容串起來。
-
3 # 大學生程式設計指南
計科專業從事軟體開發多年,上面說的幾本書都是學習計算機的必備知識,如果還在上大學階段的小夥伴看到這篇文章,現在就以一個程式設計師的身份來講講這四本書在平時開發中如何體現出來,每次看到這種計算機基礎書籍都會有一種親切感,但也會有一種遺憾,在大學期間如果充分利用時間多學一本書對現在也會有巨大的幫助,現在倒是什麼書籍都可以弄到,已經沒有充分細讀的時間了,每天在單位寫完程式碼回到家裡再和孩子玩一會時間就過去了,所以人生學習的最好階段是大學還有剛畢業的前兩年的時間。
回到主題作業系統原理,這點主要幾乎貫徹整個軟體行業,無論什麼語言的程式設計寫的程式幾乎都是在帶有作業系統的環境下執行,當然微控制器很多是不帶作業系統,微控制器稍微一轉化就是嵌入式了,常見的cpu輪轉以及任務的優先順序都屬於作業系統範疇,資料操作過程中資料塊的保護加鎖也是作業系統概念,所以掌握這門課程是程式設計師的必備,用的最多的當屬於嵌入式開發,稍微延伸一點程式設計師的開發環境,很多程式設計師喜歡在linux下寫程式碼,有的喜歡在windows下,對於程式碼本身來講差異不大,因為現在很多程式都支援跨平臺,所以無論在什麼系統上開發都是可以的,相對來講玩嵌入式的喜歡在linux下開發是事實。
資料結構是程式設計的基礎,無論從事什麼語言的程式設計,基本的資料結構都必須要掌握的,現在看到市面上有關這方面的書籍,有關於C語言版本資料結構,C++版本資料結構,java版本的資料結構,所以想要成為一個程式設計師在學完一門程式語言之後,最好找對應的程式語言版本的資料結構學下,再複雜演算法也是基於基礎的資料結構來完成的。
網路原理這算是計算機領域的一個方向了,網路方向裡面涉及到的專業知識非常多,夠學一輩子的專業方向,本篇文章提到的是基本的網路基礎,在網路世界中網路程式設計幾乎在任何軟體中都會涉獵到,算是計算機程式設計的一個模組,現在關於網路安全方面的公司也非常多,而且網路在很多領域都有涉獵,在很多大公司裡面專門設計一個網路安全部門,就是為了防止被攻擊,對於初學者來講先搞明白基本的網路工作原理是第一步,如果覺得這個東西很有意思就可以深入學習下去。
深入理解計算機系統這本書建議在具備一定的基礎之後再去學習,直接去學習未必能夠全部深入貫通,想要系統學習計算機,必須常見的計算機基礎要掌握,基礎的學習不叫深入學習,這本書建議放在前面三本書都學完之後再去學習,效果會更加明顯。計算機的學習就是在培養學習計算機語感的過程,有了感覺基本上就可以做更加深入性的學習。
很多人喊著對計算機感興趣真正開始學習的時候又不想下功夫只能一直做個門外漢,無論做什麼都要持之以恆的堅持才能有可能玩得轉,吃透一門再去學習別的也會變得輕鬆許多。
回覆列表
1.作業系統是講硬體互動的,多是彙編碼,而資料結構是軟體編碼的基礎,這兩本看的時候可以不分先後,但都很重要。
2.計算機網路和以上兩本的互動並不明顯,比較獨立。
3.最後一本是建立在基礎比較好的條件下,所以最後看。