漲知識了,計算機科學(xué)與技術(shù)到底學(xué)什么?是不是很雜很廣泛,很難學(xué)精?

計算機科學(xué)與技術(shù)到底學(xué)什么?
主干課程:就是如何書寫代碼以及代碼如何在計算機上運行。
學(xué)習(xí)方向:
1、一般大一學(xué)C語言 (基礎(chǔ)階段)
大概掌握面向過程的程序設(shè)計思路
2、理解OOP(面向?qū)ο缶幊蹋? (水平飛升階段)
掌握繼承多態(tài),分裝之后是一個aha moment
大多數(shù)的大型系統(tǒng)基本都是基于OOP思想設(shè)計的。
OOP是你掌握編程和控制系統(tǒng)復(fù)雜度的一個利器。
3、學(xué)會算法與數(shù)據(jù)結(jié)構(gòu) (代碼提升的一大步)
指導(dǎo)什么時候用鏈表,用順序表。用圖,用樹,
什么是B樹,B+樹,紅黑樹,為什么數(shù)據(jù)庫要用B+樹,為什么有些場景要用紅黑樹
4、學(xué)會操作系統(tǒng)原理 (代碼提升的一大步)
當程序設(shè)計到一定階段 想要繼續(xù)提升和優(yōu)化,就不許要深挖程序所在的平臺-操作系統(tǒng)了。
明白操作系統(tǒng)底層的運作機理。如何調(diào)度程序能夠讓代碼更高效。
如何并行,如何多進程,如何多線程
5、往下深挖編譯器
深刻理解編程語言是如何轉(zhuǎn)化為機器語言的。其中涉及到深刻的語言學(xué)知識。這些知識使你在面對真正的問題即語言之間的轉(zhuǎn)化,該如何解決。這提攜出計算機領(lǐng)域的博采眾長,是人類知識的包庫
6、計算機組成原理
更進一步深入挖掘計算機代碼與硬件之間的關(guān)系。理解代碼是如何在硬件上運行的。提供給學(xué)生壓榨CPU性能。
7、其他很多分支
計算機網(wǎng)絡(luò),分布式系統(tǒng),并行計算,計算機圖形學(xué),密碼學(xué),生物信息學(xué),計算機視覺,語音識別、自然語言處理等等,這些課程看起來雜,其實恰恰是計算機豐富性的體現(xiàn)。
而這些分支,也從來不要求學(xué)生全部掌握,學(xué)生只需要選擇其中一個領(lǐng)域深入進去學(xué)深學(xué)精即可。
CS核心技術(shù)棧(算法與數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、計算機網(wǎng)絡(luò)及三級組成原理四大基礎(chǔ))+深入某子方向才是計算機的正確學(xué)習(xí)方法。
想進入計算機相關(guān)領(lǐng)域,計算機科學(xué)是最好的選擇,最正統(tǒng)的計算機專業(yè)。