本書根據應用型本科高校計算機及相關專業(yè)的教學需求編寫,針對大學一年級學生的認知特點,按照計算機發(fā)展的主線,系統(tǒng)地介紹了計算機科學的主要理論和技術應用。全書共10章,主要內容包括:計算機發(fā)展史、計算機的組成與工作原理、數據的表示和存儲、數據結構和算法、程序設計和軟件工程、操作系統(tǒng)、計算機網絡與因特網、數據庫系統(tǒng)、大數據與人工智能以及實驗等。本書旨在幫助學生對計算機學科進行整體認知,引發(fā)學生對計算機科學的興趣,因此在內容選擇上注重理論引導,兼顧動手實踐,達到學以致用的目的。
本書可作為應用型本科高校計算機類專業(yè)的計算機導論或專業(yè)導論教材,也可作為非計算機專業(yè)的計算機基礎教材,還可作為廣大計算機愛好者了解計算機基礎知識的參考書。
“計算機導論”課程是計算機科學與技術以及相關專業(yè)(包括數據科學與大數據技術、智能科學與技術、人工智能、計算機網絡、軟件工程、信息管理與信息系統(tǒng)等)的一門通識基礎課。課程的目的是引導學生對本專業(yè)的基礎知識和前沿發(fā)展有一個整體的認識,為學生后續(xù)的專業(yè)學習建立良好的開端,打下扎實的基礎。
本書針對應用型本科高校學生的特點,由淺入深地講解計算機科學與技術的相關知識和發(fā)展動態(tài),在內容的組織上緊緊把握3個主線:一是以計算機發(fā)展的歷史為時間主線,貫穿計算機科學的各個主要知識模塊;二是以計算機各種資源的虛擬化為空間主線,從具體到抽象、以模塊化的方式介紹計算機科學的相關思想、理論和方法;三是以社會、道德與職業(yè)素養(yǎng)的培養(yǎng)為思政主線,將未來信息技術人才必備的道德、法律、文化、倫理等基本素質和能力融入相應知識點進行講解,并開展開放性的專題討論。
本書在內容的選擇上,以計算思維的思想為指引,理論聯系實際,講解計算機的硬件、軟件、應用等科學問題,兼顧知識性與趣味性。在知識點的選擇上,本書深度適中,更側重于廣度。每一章首先通過一個案例的導入,引起學生的學習興趣;然后通過本章導讀,進一步啟發(fā)學生進行思考;最后通過一個應用案例,將本章內容的理論學習應用于解決具體的實際問題,做到理論聯系實際。
全書共10章,編寫分工為:第一章和第十章由陳燕副教授編寫,第二章和第三章由吳煒煒教授編寫,第四章和第七章由汪紅霞副教授編寫,第五章和第六章由王德成教授編寫,第八章由呂騰教授編寫,第九章由刁艷玉老師編寫。全書由呂騰統(tǒng)稿,配套的幻燈片由姚靜同學制作完成。
本書為安徽省高等學校省級質量工程一流教材建設項目(2021yljc063)。
由于編寫者水平有限,加之計算機科學與技術的發(fā)展一日千里,書中難免存在一些不足之處,懇請讀者批評指正。
編 者?
2022年4月
第一章 計算機發(fā)展史 1
1.1 計算工具的發(fā)展 2
1.1.1 手動式計算工具 2
1.1.2 機械式計算工具 3
1.2 現代電子計算機的誕生和發(fā)展 4
1.2.1 世界上第一臺計算機ENIAC 5
1.2.2 現代計算機的主要特征 5
1.2.3 電子計算機的發(fā)展 5
1.3 計算機的分類 6
1.3.1 按用途分類 6
1.3.2 按性能分類 7
1.4 微型機的發(fā)展 8
1.5 我國計算機的發(fā)展 9
1.5.1 我國計算機的初創(chuàng)時期 9
1.5.2 我國計算機的發(fā)展歷程 10
1.5.3 我國計算機的主要成就 11
1.6 計算機的應用 13
本章小結 14
習題 14
第二章 計算機的組成與工作原理 16
2.1 馮?諾依曼體系結構 17
2.1.1 馮?諾依曼計算機的基本特征 17
2.1.2 馮?諾依曼計算機的基本部件 18
2.1.3 馮?諾依曼計算機的工作原理 19
2.2 計算機硬件系統(tǒng) 20
2.2.1 CPU 20
2.2.2 存儲器 21
2.2.3 輸入設備 25
2.2.4 輸出設備 27
2.2.5 主板 28
2.3 計算機軟件系統(tǒng) 29
本章小結 31
習題 31
第三章 數據的表示和存儲 33
3.1 信息與數據 34
3.2 計算機中的數制 36
3.2.1 十進制(Decimal) 36
3.2.2 二進制(Binary) 36
3.2.3 八進制(Octal) 37
3.2.4 十六進制(Hexadecimal) 37
3.3 數制間的轉換 38
3.3.1 二進制數、八進制數和十六
進制數轉換成十進制數 38
3.3.2 十進制數轉換成二進制數、
八進制數和十六進制數 38
3.3.3 二進制數轉換成八進制數和
十六進制數 39
3.3.4 八進制數和十六進制數
轉換成二進制數 40
3.4 數值型數據的表示 40
3.4.1 定點數的表示方法 40
3.4.2 浮點數的表示方法 41
3.5 字符型數據的編碼表示 41
3.5.1 ASCII碼 41
3.5.2 大端法和小端法 42
3.6 漢字的編碼表示 44
3.7 應用案例——查看和修改操作
?系統(tǒng)的文字編碼 45
本章小結 48
習題 48
第四章 數據結構和算法 49
4.1 數據結構 50
4.1.1 線性結構 52
4.1.2 樹形結構 56
4.1.3 圖形結構 59
4.2 算法 61
4.2.1 算法概述 61
4.2.2 搜索 66
4.2.3 排序 67
4.2.4 并行算法 70
4.3 應用案例——排序算法的實現 73
本章小結 76
習題 76
第五章 程序設計和軟件工程 79
5.1 程序設計語言 80
5.1.1 程序的概念 80
5.1.2 程序設計語言的分類 80
5.1.3 程序設計語言的選擇 82
5.2 程序設計方法 83
5.2.1 程序設計的基本過程 83
5.2.2 結構化程序設計方法 83
5.2.3 面向對象程序設計方法 85
5.3 軟件工程 87
5.3.1 軟件危機 88
5.3.2 軟件工程 89
5.3.3 軟件生命周期 91
5.3.4 軟件工程方法學 93
5.3.5 軟件測試 97
5.4 設計模式 100
5.4.1 設計模式的原則 101
5.4.2 設計模式的類型 102
5.5 應用案例——九九乘法表 106
本章小結 107
習題 107
第六章 操作系統(tǒng) 109
6.1 操作系統(tǒng)概述 110
6.1.1 操作系統(tǒng)的目標和作用 110
6.1.2 操作系統(tǒng)的發(fā)展史 115
6.2 操作系統(tǒng)的功能 122
6.2.1 處理機管理功能 122
6.2.2 存儲器管理功能 125
6.2.3 設備管理功能 126
6.2.4 文件管理功能 128
6.2.5 操作系統(tǒng)與用戶之間的接口 129
6.3 常用操作系統(tǒng)介紹 130
6.4 應用案例——Windows的使用 132
6.4.1 桌面、圖標和任務欄 133
6.4.2 窗口 134
6.4.3 對話框 136
6.4.4 控制面板 137
本章小結 141
習題 141
第七章 計算機網絡與因特網 143
7.1 計算機網絡概述 144
7.1.1 計算機網絡的定義 144
7.1.2 計算機網絡的發(fā)展 144
7.1.3 計算機網絡的組成 146
7.1.4 計算機網絡的功能與分類 147
7.1.5 計算機網絡的性能指標 149
7.2 計算機網絡體系結構 151
7.2.1 計算機網絡體系結構的形成 151
7.2.2 劃分層次的必要性 152
7.2.3 具有七層協(xié)議的體系結構 152
7.2.4 實體、協(xié)議、服務和
服務訪問點 153
7.2.5 TCP/IP體系結構 154
7.3 因特網介紹 155
7.3.1 因特網概述 155
7.3.2 Internet的接入 162
7.3.3 IP地址與MAC地址 163
7.3.4 WWW服務 168
7.3.5 域名系統(tǒng) 173
7.3.6 電子郵件 175
7.3.7 文件傳輸 176
7.4 應用案例——計算機和網絡的
?簡單配置和測試 177
本章小結 185
習題 186
第八章 數據庫系統(tǒng) 188
8.1 數據管理技術的發(fā)展概況 189
8.1.1 人工管理階段 190
8.1.2 文件系統(tǒng)管理階段 190
8.1.3 數據庫系統(tǒng)管理階段 192
8.2 數據庫技術發(fā)展概況 194
8.2.1 網狀和層次數據庫管理系統(tǒng) 194
8.2.2 關系數據庫管理系統(tǒng) 196
8.2.3 數據庫管理系統(tǒng)和
方法的新進展 197
8.2.4 我國數據庫技術發(fā)展概況 203
8.3 數據庫系統(tǒng)簡述 205
8.3.1 數據庫 206
8.3.2 數據庫管理系統(tǒng) 206
8.3.3 系統(tǒng)的開發(fā)、維護和
使用人員 207
8.3.4 管理信息系統(tǒng) 207
8.4 數據模型 208
8.4.1 概念模型 208
8.4.2 邏輯模型 209
8.4.3 物理模型 209
8.5 關系模型和關系代數 209
8.5.1 基本術語 210
8.5.2 關系的性質 211
8.5.3 關系完整性約束 212
8.5.4 關系代數 212
8.6 關系模式的規(guī)范化 218
8.6.1 函數依賴 219
8.6.2 范式 221
8.7 數據庫設計 224
8.7.1 數據庫設計的步驟 225
8.7.2 需求分析 225
8.7.3 概念設計 226
8.7.4 邏輯結構設計 227
8.7.5 物理結構設計 229
8.8 應用案例——學籍管理系統(tǒng)的
?實現 229
本章小結 233
習題 233
第九章 大數據與人工智能 235
9.1 大數據 236
9.1.1 大數據概述 236
9.1.2 數據科學和數據思維 237
9.1.3 大數據處理與可視化 239
9.2 人工智能 249
9.2.1 人工智能概述 249
9.2.2 人工神經網絡和深度學習 256
9.2.3 機器人 270
9.3 大數據與人工智能的關系 272
9.4 大數據與人工智能的應用
?及社會問題 273
9.5 應用案例——手寫數字識別 275
本章小結 277
習題 278
第十章 實驗 279
參考文獻 280