用了很長時間葛圃,通讀了一遍《計算機(jī)科學(xué)概論》第12版诬烹,首先說一下整體印象型檀,在計算機(jī)科學(xué)層面冗尤,老外的書比國內(nèi)的某些“大教授”編寫的教科書明顯不是一個檔次,老外用通俗易懂的語言教人理解計算機(jī)科學(xué)胀溺,“大教授”用晦澀難懂的語言讓人遠(yuǎn)離計算機(jī)科學(xué)裂七。
這本書一共分為13章,包含緒論仓坞,數(shù)據(jù)存儲背零,數(shù)據(jù)操控,操作系統(tǒng)扯躺,組網(wǎng)及因特網(wǎng)捉兴,算法,程序設(shè)計語言录语,軟件工程倍啥,數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)庫系統(tǒng)澎埠,計算機(jī)圖形學(xué)虽缕,人工智能,計算方法蒲稳。鑒于時間原因及從核心出發(fā)的思想氮趋,我學(xué)習(xí)了前十章節(jié),后三章留待日后學(xué)習(xí)或者從其他專門書籍中學(xué)習(xí)江耀。
從緒論章節(jié)開始剩胁,講述了計算機(jī)科學(xué)的歷史來源,涉及的主題及基本方法論祥国,學(xué)習(xí)完緒論章節(jié)昵观,能對計算機(jī)科學(xué)有一個大概認(rèn)識晾腔,并對算法,抽象啊犬,創(chuàng)新灼擂,數(shù)據(jù),程序設(shè)計觉至,因特網(wǎng)及社會影響幾大核心主題有一個結(jié)構(gòu)化的理解剔应。
第一章是關(guān)于數(shù)據(jù)存儲的,其核心主題是:計算機(jī)世界里语御,信息是通過0和1這兩個符號表示和傳遞的峻贮,通過使用0和1,計算機(jī)可以表示文本(ASCII及UNICODE編碼)沃暗,數(shù)字(整數(shù)用二進(jìn)制補(bǔ)碼表示月洛,實數(shù)用二進(jìn)制浮點(diǎn)表示法表示),圖像(通過位圖孽锥,矢量圖的形式表示)嚼黔,聲音(通過采集方式或者樂譜形式表示),視頻(圖像集合+聲音數(shù)據(jù))惜辑;并通過簡單的門電路及觸發(fā)器原理講述了存儲二進(jìn)制位的實際電路構(gòu)成唬涧,并以此介紹了計算機(jī)的主存儲器(內(nèi)存),海量存儲器(外存盛撑,包括磁盤存儲器碎节,光盤存儲器,閃存存儲器)的基本構(gòu)成特點(diǎn)及性能抵卫;最后狮荔,介紹了Python語言的數(shù)據(jù)存儲語法及基本的運(yùn)算符及表達(dá)式,數(shù)據(jù)壓縮的通用技術(shù)及通信差錯的處理方法介粘。
第二章是關(guān)于計算機(jī)內(nèi)部數(shù)據(jù)操作的殖氏,其核心是:計算機(jī)的核心體系結(jié)構(gòu)包括CPU(運(yùn)算單元和控制單元),內(nèi)存姻采,總線雅采;計算機(jī)可以通過存儲程序概念保存程序及數(shù)據(jù)到內(nèi)存單元,并通過機(jī)器指令形式操控機(jī)器部件及數(shù)據(jù)慨亲;通過總線婚瓜,計算機(jī)(CPU+內(nèi)存)可以與計算機(jī)外部設(shè)備(鍵盤,鼠標(biāo)刑棵,打印機(jī)巴刻,顯示器等)通過控制器進(jìn)行通信,以存儲映射輸入輸出的兩種方式完成通信過程蛉签,并通過狀態(tài)字機(jī)制處理通信過程中的不匹配問題胡陪;通過對Python中的數(shù)據(jù)操作方法的簡要介紹(包括邏輯運(yùn)算與移位運(yùn)算茂附,控制結(jié)構(gòu)語法,輸入和輸出函數(shù)及自定義函數(shù))將本章的主要概念實際演示出來督弓;最后,介紹了計算機(jī)的其他體系結(jié)構(gòu)包括流水線結(jié)構(gòu)及多處理器機(jī)器的概念乒验。
第三章開始愚隧,利用前兩章的概念作為抽象工具,介紹了操作系統(tǒng)的歷史(批處理系統(tǒng)锻全,實時處理需要導(dǎo)致的分時及多任務(wù)處理概念狂塘,以及因此出現(xiàn)的多道程序設(shè)計方法),軟件分類(系統(tǒng)軟件+應(yīng)用軟件)鳄厌,操作系統(tǒng)的組成(用戶界面+文件管理程序+設(shè)備驅(qū)動程序+內(nèi)存管理程序)荞胡,進(jìn)程的概念(程序活動的執(zhí)行),進(jìn)程管理的方法(調(diào)度程序及分派程序)了嚎,信號量(為臨界區(qū)代碼或設(shè)備提供標(biāo)識符用于多進(jìn)程互斥訪問的方法)與死鎖(多進(jìn)程設(shè)計不良造成的進(jìn)程無法前進(jìn)狀態(tài))的分析表明了操作系統(tǒng)處理多進(jìn)程并發(fā)的方法泪漂;最后,用操作系統(tǒng)安全性(問題與解決辦法)的相關(guān)主題結(jié)束了本章節(jié)歪泳。
第四章主要介紹計算機(jī)網(wǎng)絡(luò)的相關(guān)知識萝勤,包括:組網(wǎng)方法(總線型網(wǎng)絡(luò)中的設(shè)備及帶沖突檢測的載波偵聽多址訪問協(xié)議,無線星型網(wǎng)絡(luò)中的設(shè)備及帶沖突避免的載波偵聽多址訪問協(xié)議)呐伞,通過進(jìn)程通信的方式引入了C/S模型及P2P模型敌卓,簡要介紹了以網(wǎng)絡(luò)為工具形成的軟件系統(tǒng)形式:分布式網(wǎng)絡(luò);接下來伶氢,重點(diǎn)描述了因特網(wǎng)(網(wǎng)絡(luò)的網(wǎng)絡(luò))的架構(gòu)方法趟径,設(shè)備,地址形式(IP地址及域名系統(tǒng))癣防,在因特網(wǎng)環(huán)境中的網(wǎng)絡(luò)應(yīng)用(SMTP協(xié)議下的郵件應(yīng)用蜗巧,Voip及因特網(wǎng)多媒體流通信);在以上知識的基礎(chǔ)上劣砍,構(gòu)建了因特網(wǎng)特殊應(yīng)用:萬維網(wǎng)(WWW)惧蛹,并介紹了萬維網(wǎng)中的標(biāo)記語言-HTML,XML以及萬維網(wǎng)客戶端和服務(wù)器的活動刑枝;網(wǎng)絡(luò)軟件的四層架構(gòu)及相應(yīng)層級上的網(wǎng)絡(luò)協(xié)議香嗓,重點(diǎn)介紹了TCP及UDP協(xié)議的區(qū)別與相似點(diǎn);最后装畅,以網(wǎng)絡(luò)安全性問題及相關(guān)解決方案的介紹結(jié)束靠娱。
第五章介紹了計算機(jī)科學(xué)的核心主題:算法。包括:算法的本質(zhì)及概念掠兄;算法的表示方法(原語像云,偽代碼锌雀,流程圖,機(jī)器語言迅诬,匯編語言與高級語言)腋逆;算法的發(fā)現(xiàn)過程(自頂向下逐步求精及自底向上逐步求解的方法);算法的兩種結(jié)構(gòu)(迭代及遞歸)侈贷,基本算法(順序搜索算法惩歉,二分搜索算法,插入排序算法俏蛮,選擇排序算法撑蚌,冒泡排序算法);算法的效率分析(時間復(fù)雜性及空間復(fù)雜性搏屑,本書主要介紹了時間復(fù)雜性的計算方法)及軟件正確性驗證(形式化驗證方法)争涌。
第六章涉及程序涉及語言方面的相關(guān)主題,通過本章學(xué)習(xí)辣恋,我了解到了:程序設(shè)計語言的概念及發(fā)展(機(jī)器語言->匯編語言->高級語言)亮垫,程序設(shè)計的四大范型(命令型范型,函數(shù)式范型抑党,說明性范型及面向?qū)ο蠓缎停┌瑐鹘y(tǒng)程序設(shè)計的概念(變量,常量底靠,字面量害晦,數(shù)據(jù)類型,數(shù)據(jù)結(jié)構(gòu)暑中,控制語句壹瘟,表達(dá)式及注釋,函數(shù))鳄逾,語言實現(xiàn)的過程(語法分析稻轨,詞法分析,代碼生成)雕凹,面向?qū)ο蟪绦蛟O(shè)計的基本概念(類和對象殴俱,構(gòu)造函數(shù),繼承枚抵,封裝线欲,多態(tài)性概念),程序設(shè)計并發(fā)活動(線程的概念及創(chuàng)建線程方法汽摹,對數(shù)據(jù)訪問的控制方法由線程控制或者數(shù)據(jù)自身的監(jiān)控程序控制)李丰。
第七章描述了現(xiàn)代軟件工程方面的主題,包括:軟件生命周期(開發(fā)階段逼泣,使用階段趴泌,維護(hù)階段)舟舒,在開發(fā)階段包括需求分析,設(shè)計及實現(xiàn)嗜憔;軟件模塊化設(shè)計方法(命令型程序中的函數(shù)模塊化秃励,面向?qū)ο蠓缎椭械膶ο竽K化,模塊化的低耦合吉捶,高內(nèi)聚以及信息隱藏的原則)莺治,在軟件設(shè)計過程中使用的UML即統(tǒng)一建模語言(實際使用用例圖,類圖及序列圖來描述軟件系統(tǒng))帚稠,并通過軟件質(zhì)量保證(測試+形式化方法),軟件相關(guān)文檔(用戶文檔+系統(tǒng)文檔+技術(shù)文檔)床佳,人機(jī)界面及軟件所有權(quán)方面的主題結(jié)束了本章節(jié)滋早。
接下來到了第八章,本章介紹了數(shù)據(jù)結(jié)構(gòu)的概念(通過語言設(shè)計數(shù)據(jù)集合砌们,隱藏技術(shù)細(xì)節(jié)杆麸,使應(yīng)用程序開發(fā)者使用概念結(jié)構(gòu)操控數(shù)據(jù)),典型數(shù)據(jù)結(jié)構(gòu)的概念(列表浪感,鏈表昔头,棧和隊列,樹及二叉樹)及實現(xiàn)方法(使用指針)影兽,通過傳統(tǒng)命令型程序中用戶定義的數(shù)據(jù)類型及抽象數(shù)據(jù)類型的介紹引入了類與對象這種特殊的數(shù)據(jù)結(jié)構(gòu)揭斧,并通過機(jī)器語言的指針實現(xiàn)方法引入了立即尋址,直接尋址及間接尋址的概念峻堰。
第九章介紹數(shù)據(jù)庫系統(tǒng)讹开,數(shù)據(jù)庫系統(tǒng)包括(應(yīng)用軟件+數(shù)據(jù)庫管理系統(tǒng)+實際數(shù)據(jù)庫),通過SQL語言捐名,可以借助數(shù)據(jù)庫管理系統(tǒng)提供的訪問數(shù)據(jù)庫的例程訪問實際數(shù)據(jù)庫旦万,可以從概念上訪問數(shù)據(jù)庫而不需要考慮存儲細(xì)節(jié),數(shù)據(jù)庫設(shè)計的方法包括傳統(tǒng)的關(guān)系型數(shù)據(jù)庫及面向?qū)ο髷?shù)據(jù)庫镶蹋,面向?qū)ο髷?shù)據(jù)庫從各種方面優(yōu)于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫成艘;簡要介紹了數(shù)據(jù)挖掘及數(shù)據(jù)倉庫的概念以及數(shù)據(jù)庫技術(shù)引發(fā)的社會問題。
一口氣寫完這篇贺归,是為了在輸入信息及知識的同時產(chǎn)生相關(guān)輸出淆两,整理自己的所學(xué),從中發(fā)現(xiàn)問題牧氮,以為下一階段學(xué)習(xí)提供參考琼腔,不得不說,這樣一套學(xué)習(xí)下來踱葛,對計算機(jī)科學(xué)有了一個全景式的認(rèn)知丹莲,并對計算機(jī)科學(xué)中的模型有了一個較為系統(tǒng)的認(rèn)知光坝,對常見的經(jīng)典問題及解決方案也有了一個基礎(chǔ)的理解,這本書先學(xué)到這里甥材,接下來需要學(xué)習(xí)產(chǎn)品相關(guān)的理論書籍及實用方法盯另,這本書先入書架,日后還將不斷翻看洲赵。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2017年11月24日