該怎么樣豐富自己的知識領域?
首先,對于編程需要的知識領域我們可能要進行一些分類。編程本身所包含的內容很寬,知識領域不僅包含編程本身的,也包含很多業務層面的。比如學習OAuth2、RBAC、正則表達式、爬蟲、操作系統……
對于大學生,我的建議和上面很多回答一樣,還是從學校的課程入手,把基礎要打牢。特別是基礎課程,如網絡通訊、數據庫、算法、操作系統,既要學習原理,也要多做實驗。
在學習過程中先就可以找到自己感興趣的方向,在一個方向深耕,其它方向逐步了解。編程大的方向大概有這些:服務器后端開發、前端開發、桌面程序開發、嵌入式、游戲開發、人工智能、安全、移動開發、大數據等(其它還有的就不一一列舉了)。
服務器后端開發,需要深入學習一種編程語言、一個或多個框架,其牽扯的知識非常多,如負載均衡、緩存、分布式等。
像人工智能這樣需要很強的算法基礎,如果要想深入發展,需要把數學基礎打牢。
前端開發主要學習HTML和JS,這個看似簡單,但框架多,新知識每兩年都可能有大的變化,要不斷去學習新的東西。
桌面程序開發與選擇的開發語言關聯比較大,具體學習時看使用的是哪種語言,再針對該語言在UI方面的庫、解決方案進行系統化學習。
嵌入式需要比較強的電子信息知識,雖然現在有很多開源硬件,但真正做工程項目,還是需要比較強的電子專業知識。如果只是學編程的學生,那要慎重選擇。
相比嵌入式開發,移動開發就要容易一點,因為移動設備大家基本都有,硬件不怎么需要我們關注,主要就是了解移動設備平臺本身的開發框架。
游戲開發需要對游戲引擎有深入的了解,動手實現一些簡單的引擎、熟練掌握至少一款游戲引擎使用。網絡游戲需要服務端支持,如果感興趣要把服務器后端開發作適當了解。
一些算法類的、嵌入式學習可以多用C、Python,應用類的視情況,可以學學Java。
最后,學習過程中多記錄,可以寫博客、寫開源項目等,適當研究一些開源項目,多總結、多分享,祝題主在編程道路上一帆風順。