一年:基礎(chǔ)建設(shè)與編程入門
學(xué)習(xí)目標(biāo):
掌握計(jì)算機(jī)基礎(chǔ)知識。
熟悉至少一門編程語言,如Python或Java。
理解數(shù)據(jù)結(jié)構(gòu)與算法基礎(chǔ)。
課程安排:
計(jì)算機(jī)導(dǎo)論
編程語言基礎(chǔ)(如Python或Java)
數(shù)據(jù)結(jié)構(gòu)與算法
實(shí)踐項(xiàng)目:
完成簡單的編程練習(xí),如排序算法、鏈表操作等。
參與小型團(tuán)隊(duì)項(xiàng)目,如簡易網(wǎng)站開發(fā)或小游戲制作。
學(xué)習(xí)資源推薦:
教材:《Python核心編程》、《Java核心技術(shù)》
網(wǎng)課:Codecademy、Coursera的Python或Java課程
第二年:深入編程與計(jì)算機(jī)系統(tǒng)
學(xué)習(xí)目標(biāo):
深入理解面向?qū)ο缶幊蹋∣OP)。
掌握數(shù)據(jù)庫管理與SQL語言。
學(xué)習(xí)操作系統(tǒng)與計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)。
課程安排:
面向?qū)ο缶幊蹋∣OP)
數(shù)據(jù)庫管理系統(tǒng)(DBMS)
操作系統(tǒng)
計(jì)算機(jī)網(wǎng)絡(luò)
實(shí)踐項(xiàng)目:
設(shè)計(jì)并實(shí)現(xiàn)一個(gè)小型數(shù)據(jù)庫應(yīng)用。
開發(fā)簡單的Web應(yīng)用,如博客系統(tǒng)。
學(xué)習(xí)資源推薦:
教材:《數(shù)據(jù)庫系統(tǒng)概論》、《計(jì)算機(jī)網(wǎng)絡(luò):自頂向下方法》
網(wǎng)課:Udemy的數(shù)據(jù)庫管理與網(wǎng)絡(luò)課程
第三年:進(jìn)階技術(shù)與軟件工程
學(xué)習(xí)目標(biāo):
學(xué)習(xí)Web開發(fā)技術(shù),如前端(HTML/CSS/JavaScript)和后端(如Node.js/Django)。
掌握軟件設(shè)計(jì)與開發(fā)流程。
了解軟件測試與質(zhì)量保障。
課程安排:
Web開發(fā)技術(shù)
軟件工程
軟件測試與質(zhì)量保障
實(shí)踐項(xiàng)目:
開發(fā)一個(gè)完整的Web應(yīng)用,如電商網(wǎng)站或社交應(yīng)用。
參與開源項(xiàng)目,了解實(shí)際軟件開發(fā)流程。
學(xué)習(xí)資源推薦:
教材:《Head First HTML與CSS》、《JavaScript權(quán)威指南》
網(wǎng)課:Pluralsight的Web開發(fā)課程
第四年:專業(yè)方向與前沿技術(shù)
學(xué)習(xí)目標(biāo):
選擇一個(gè)專業(yè)方向,如人工智能、大數(shù)據(jù)、云計(jì)算等,進(jìn)行深入研究。
掌握當(dāng)前計(jì)算機(jī)領(lǐng)域的前沿技術(shù)。
完成畢業(yè)設(shè)計(jì)或論文,展示學(xué)術(shù)與實(shí)踐能力。
課程安排:
專業(yè)方向選修課程(如機(jī)器學(xué)習(xí)、大數(shù)據(jù)分析等)
前沿技術(shù)講座與研討會
實(shí)踐項(xiàng)目:
參與或主導(dǎo)與專業(yè)方向相關(guān)的研究項(xiàng)目。
完成畢業(yè)設(shè)計(jì),展示在所選專業(yè)方向上的能力。
學(xué)習(xí)資源推薦:
教材與專著:根據(jù)所選專業(yè)方向選擇合適的教材與專著。
在線課程:如Coursera、edX上的專業(yè)方向課程。
研討會與講座:關(guān)注并參加與所選專業(yè)方向相關(guān)的研討會與講座。
結(jié)語:
以上是為計(jì)算機(jī)專業(yè)學(xué)生設(shè)計(jì)的四年技術(shù)路線圖。希望你在學(xué)習(xí)過程中能夠結(jié)合實(shí)際,不斷調(diào)整與優(yōu)化自己的學(xué)習(xí)計(jì)劃。同時(shí),也建議你多參與實(shí)踐項(xiàng)目與開源社區(qū),積累實(shí)際經(jīng)驗(yàn),為未來的職業(yè)生涯打下堅(jiān)實(shí)的基礎(chǔ)。
ython:很火的一門計(jì)算機(jī)語言!基本上是繼C/C++,java之后的第三個(gè)非常主流的語言。
1.能做什么?
2.大家為什么選擇Python?
Python是易學(xué)的。(完成同一個(gè)任務(wù),C語言要寫1000行代碼,Java只需要寫100行,而Python可能只要20行。);
Python應(yīng)用是廣泛的,可深入的。
Python目前崗位供給多,但從業(yè)人員少,技術(shù)積累有限。可發(fā)展空間很大。
3.如何學(xué)習(xí)Python呢?
篇幅有限就展示到這里啦!喜歡記得收藏給我一個(gè)支持哦
文已收錄到 GitHub · AndroidFamily,有 Android 進(jìn)階知識體系,歡迎 Star。技術(shù)和職場問題,請關(guān)注公眾號 [彭旭銳] 進(jìn) Android 面試交流群。
大家好,我是小彭。
在之前的文章中,我們聊到了計(jì)算機(jī)的馮·諾依曼計(jì)算機(jī)架構(gòu),計(jì)算機(jī)由五大部件組成。那么,計(jì)算機(jī)的五大部件是如何連接成一個(gè)整體的呢?這就需要依賴總線系統(tǒng)。
學(xué)習(xí)路線圖:
在馮·諾依曼計(jì)算機(jī)架構(gòu)中,計(jì)算機(jī)由控制器、運(yùn)算器、存儲器、輸入設(shè)備和輸出設(shè)備五個(gè)部分組成,而這五個(gè)部分必須進(jìn)行 “連接” 起來相互通信才能形成一個(gè)完整的整體。 總線就是連接多個(gè)計(jì)算機(jī)部件的數(shù)據(jù)通信規(guī)范。
PC 計(jì)算機(jī)主板
—— 圖片引用自 Wikipedia
先解釋一下為什么現(xiàn)代的計(jì)算機(jī)系統(tǒng)要采用總線結(jié)構(gòu):
網(wǎng)狀拓?fù)浜涂偩€拓?fù)鋵Ρ?/span>
總線本身的電路功能,又可以拆分成 3 部分:
舉個(gè)例子,當(dāng) CPU 要從存儲器讀取數(shù)據(jù)時(shí),三類總線的工作過程概要如下:
總線內(nèi)部結(jié)構(gòu)
理解了總線的概念后,我們先來看總線系統(tǒng)的整體架構(gòu),現(xiàn)代計(jì)算機(jī)中的總線大多采用分層次多總線架構(gòu)。
在早期計(jì)算機(jī)中,會使用單一總線來連接計(jì)算機(jī)的各個(gè)部件,這種結(jié)構(gòu)叫單總線架構(gòu)。這種結(jié)構(gòu)實(shí)現(xiàn)簡單,但缺點(diǎn)有 2 個(gè):
單總線架構(gòu)
因此,單總線系統(tǒng)很容易形成系統(tǒng)的性能瓶頸,就算是增大總線的帶寬也無法從根本上解決系統(tǒng)性缺陷。目前,單總線結(jié)構(gòu)只出現(xiàn)在微型計(jì)算機(jī)中。大多數(shù)現(xiàn)代計(jì)算機(jī)都采用了分層次多總線結(jié)構(gòu),所有的設(shè)計(jì)思路都是圍繞單總線架構(gòu)存在的 2 個(gè)缺點(diǎn)展開的:
現(xiàn)代 CPU 中通常會使用高速緩存,由于 “CPU-高速緩存” 和 “CPU - 內(nèi)存” 的速度差非常大,計(jì)算機(jī)系統(tǒng)選擇在 CPU 芯片內(nèi)和 CPU 芯片外使用 雙獨(dú)立總線(Dual Independent Bus,DIB):
提示: 前端總線和系統(tǒng)總線的概念容易混淆,不同資料的說法不一。我的理解是:前端總線是 “特指” 某些 Intel CPU 架構(gòu)中,CPU 芯片與外部連接的這條總線,而系統(tǒng)總線 “泛指” 連接計(jì)算機(jī)各個(gè)部件的所有總線。小彭在后續(xù)專欄內(nèi)容都會按照此理解討論。
前端總線和后端總線
南北橋架構(gòu)是 Intel 提出的總線架構(gòu),也叫 Hub 架構(gòu) 。它將計(jì)算機(jī)部件分為高速部件和低速部件兩類,分為北橋芯片組合和南橋芯片組,中間用兩顆橋芯片連接。使用南北橋設(shè)計(jì)有 2 個(gè)優(yōu)點(diǎn):
南北橋架構(gòu)
前端總線是 CPU 連接外界的唯一通道,因此前端總線的數(shù)據(jù)傳輸能力對于計(jì)算機(jī)系統(tǒng)的整體性能影響非常大。 近年來隨著 CPU 主頻不斷提升,前端總線頻率卻一直跟不上后端總線頻率,從而出現(xiàn)性能瓶頸。
為了解決這個(gè)問題,傳統(tǒng)的南北橋架構(gòu)被重新設(shè)計(jì),北橋芯片的功能幾乎都移動到 CPU 內(nèi)部變成 “片上北橋”。前端總線被淘汰,CPU / 片上北橋繼續(xù)使用 DMI 連接南橋或 PCH 等外部設(shè)備。
總線既有共享性又有獨(dú)占性,聽起來有點(diǎn)矛盾,其實(shí)是表現(xiàn)的時(shí)機(jī)不一樣:
總線的獨(dú)占性天然地將事務(wù)串行化: 如果多個(gè)部件同時(shí)向總線發(fā)出總線事務(wù),總線仲裁(Bus Arbitration)單元會對競爭做出總裁,未獲勝的事務(wù)只能等待獲勝的事務(wù)處理完成后才能執(zhí)行。當(dāng)其中一個(gè)總線事務(wù)在執(zhí)行時(shí),其他總線事務(wù)都會被禁止。
參考資料