首頁 系統教程 Linux 大學學習計劃之計算機

大學學習計劃之計算機

Feb 01, 2024 pm 05:54 PM
linux linux教程 紅帽 linux系統 我的世界 linux指令 linux認證 紅帽linux linux視頻

大學學習計劃之計算機

#1 前言

最近有不少還在讀書的同學來問我大學期間到底該學什麼,學了Java,看了JS, HTML,CSS, 嘗試了一下SSH以後似乎就迷茫了, 這其中還有不少是計算機系的同學。

毫無疑問,為了畢業後找個好工作,在大學期間應該學一些應用層的技能,掌握一門應用廣泛的語言及其框架。最好做過實際的項目,有過實習的經驗, 這些都是履歷中能看得到的加分項,是脫穎而出的重要砝碼。

但是這些東西都是一顆大樹的枝葉和花朵, 在大學期間更應該學習的是看不見的根,也就是基礎知識, 對於科班出身的人更是如此。

原因很簡單,基礎知識雖然可以在工作以後再補,但是再也找不到這麼多大塊的時間,這麼安靜的環境,讓你心無旁騖的鑽研了。

你不用考慮著第二天怎麼去應付客戶的臉色,也不用去想著怎麼去給領導解釋昨晚的嚴重Bug不是我們的問題, 你只需要單純的學習就好,看到有這麼多同學把美好的時光都花在打遊戲上,實在是令我扼腕嘆息,要是把這些時間給我就好了!

我現在只能利用一些碎片時間補一下基礎的知識,如果時光倒流,讓我再坐到圖書館中去靜靜地看書該多好!

同學甲說: 基礎,又是基礎,老劉你說了多少遍了!我耳朵都聽出繭來了!

抱歉,基礎就是這麼很重要,我還是要像祥林嫂一樣繼續囉嗦。

我認為大學期間應該搞定的基礎知識應該包括(不限於)這些:

2 C語言

大學期間不要忙著去學Java , Python等高階語言, 你應該先去搞定C語言(不是C 啊),因為這門語言太貼近機器了, 能幫助你理解計算機的運作原理,不信你看看《深入理解電腦系統》, 通篇都是C語言,它怎麼不用Java,Python去描述啊?因為他們太高級了,太抽象了,描述不了底層。

學會C語言,才能為其他基礎知識打下基礎,因為大部分基礎軟體、系統軟體都是C語言寫的,你看不懂C程式那怎麼行?

不要像我當年一樣,看到別人已經能做網頁了,自己還在命令列的小黑窗口中折騰,頭腦一熱就把C語言給扔了,後來又花了很多時間來彌補。

要記住你學會了C這門貼近硬體的,簡單又複雜的語言以後,再去學別的語言,幾乎不費吹灰之力, 他們都太簡單了!

3 理解電腦的組成原理

如果你是科班的,老老實實地把《電腦組成原理》和《數位電路》這兩門課學了,把那些實驗內容(如門電路,半加器,全加器,觸發器等)兢兢業業做好。

你應該定個目標: 自己折騰一個簡單的CPU,簡單的就是進行數值運算,複雜一點兒的可以實現指令, 如果覺得教材實在枯燥,可以結合《編碼》或者《穿越計算機的迷霧》 來學習, 如果我實在喜歡玩遊戲,可以到《我的世界》遊戲中去製造CPU啊,已經有大牛這麼做了。

4 理解操作系系統原理

作業系統太重要了, 對作業系統的理解決定了你以後工作中能達到的深度,這裡邊藏著太多極為重要的概念, 例如進程,線程的概念,鎖、調度,IO模型,虛擬儲存等等, 他們會在你以後做高效能,高並發系統這一塊兒起到重要作用。

即使你先學會了Java , SSH/SSM, 隨著你能力的提升,最後你還是得走入這些基礎知識的世界。為什麼不在大學期間把他們都搞定呢?

有人可能覺得OS太枯燥了,實在是看不下去,其實OS是一門動手實踐課, 你可以去看看早期Linux 內核的源碼(要求C語言啊),書籍文章多如牛毛; 也可以自己動手自製簡單的作業系統,視訊書籍也不少,就看你願不願意把玩遊戲的時間花在上面了。

舉個例子:哈工大的VOID同學就在本科期間從零開始做了一個類似於Linux 0.11的操作系統出來,他拿到了阿里的Special Offer , 目前在阿里就職。他錄製的《從零開始寫作業系統》影片可以在B站看到: https://www.bilibili.com/video/av12169693/

同學乙要問了: “人家是大牛,還有一個好學校,我一個三本的渣渣怎麼可能做得出來? 你這不是給我設置了一個不可能完成的任務嗎?”

確實是這樣,天才永遠只有少數,不可能每個人都成為天才,也不可能每個人都做出天才的成果。

但是我們也要在天才鋪好的道路上堅持往前走走, 也許有一天就會發現,哦,我已經超越了這麼多人了啊!

要堅持使用Linux而不是Windows,立志在後端做開發的更是要如此, 別像我大學時安裝個雙系統,結果整天寵幸Windows , 從來不翻Linux的牌子。

5 網絡, 資料庫, 編譯原理

把這三者合在一起, 是我個人覺得他們的重要性沒有前面的高。

對於網絡,需要理解網絡分層模型,可靠性傳輸原理,TCP/IP協議,Socket編程,和作業系統結合起來可以考慮寫一個Web伺服器。

資料庫的話先理解SQL、關聯式模型、事務、索引, 要深入學習的話可以看看查詢是怎麼實現的,事務是怎麼實現的, 如果確實感興趣一定要看看sqlite的源碼。

學編譯最好的方式就是自製一個程式語言了, 搞出來以後會對程式語言有個極為透徹的理解。

6 資料結構與演算法

這個重要性就不用再強調了,常常看碼農翻身的可能都要煩了,可以看看之前的文章《學習資料結構有什麼用? 》

學習的過程中除了看書、理解各種演算法和資料結構外,更重要的就是做題、做題、做題!

同學丙說: 「老劉,你說的不都是電腦的專業課嗎?」

是的,就是電腦的專業課,一般來說,工作個幾年以後你才會體會到他們的珍貴,更會痛惜大學時為什麼不好好學,就像我現在這樣。

不要侷限於學校發的教材,現在網路上的影片資源異常豐富,世界級大學的課程我們也可以看到,千萬不要浪費。

同學丁說:老劉你別瞎BB了,你讓我學Java,做項目,現在又讓我造CPU,寫操作系統,資料庫,伺服器...... 我都沒時間和女朋友約會了。

恭喜你,已經有女朋友了,超越了大部分同學了,在大學談一場戀愛,享受一下青春也是非常重要的事情。

但是我想說的是,你不可能把所有的都學會,你能做的就是集中火力突擊一個方向,那就是你最感興趣的方向。只有那些經得住寂寞,耐得住誘惑的才最有可能成功,如果再和自己的興趣結合起來,那簡直肯定成功。

總而言之,電腦的基礎知識讓你和別人區分開來,讓你有著比別人更快的加速度。

但是老劉瞎BB這麼多估計也沒太大用處,因為你不行動我也沒有辦法。

以上是大學學習計劃之計算機的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

vscode需要什麼電腦配置 vscode需要什麼電腦配置 Apr 15, 2025 pm 09:48 PM

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

vscode終端使用教程 vscode終端使用教程 Apr 15, 2025 pm 10:09 PM

vscode 內置終端是一個開發工具,允許在編輯器內運行命令和腳本,以簡化開發流程。如何使用 vscode 終端:通過快捷鍵 (Ctrl/Cmd ) 打開終端。輸入命令或運行腳本。使用熱鍵 (如 Ctrl L 清除終端)。更改工作目錄 (如 cd 命令)。高級功能包括調試模式、代碼片段自動補全和交互式命令歷史。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

vscode終端命令不能用 vscode終端命令不能用 Apr 15, 2025 pm 10:03 PM

VS Code 終端命令無法使用的原因及解決辦法:未安裝必要的工具(Windows:WSL;macOS:Xcode 命令行工具)路徑配置錯誤(添加可執行文件到 PATH 環境變量中)權限問題(以管理員身份運行 VS Code)防火牆或代理限制(檢查設置,解除限制)終端設置不正確(啟用使用外部終端)VS Code 安裝損壞(重新安裝或更新)終端配置不兼容(嘗試不同的終端類型或命令)特定環境變量缺失(設置必要的環境變量)

See all articles