本書根據(jù)應用型本科高校計算機及相關專業(yè)的教學需求編寫,針對大學一年級學生的認知特點,按照計算機發(fā)展的主線,系統(tǒng)地介紹了計算機科學的主要理論和技術應用。全書共10章,主要內(nèi)容包括:計算機發(fā)展史、計算機的組成與工作原理、數(shù)據(jù)的表示和存儲、數(shù)據(jù)結(jié)構和算法、程序設計和軟件工程、操作系統(tǒng)、計算機網(wǎng)絡與因特網(wǎng)、數(shù)據(jù)庫系統(tǒng)、大數(shù)據(jù)與人工智能以及實驗等。本書旨在幫助學生對計算機學科進行整體認知,引發(fā)學生對計算機科學的興趣,因此在內(nèi)容選擇上注重理論引導,兼顧動手實踐,達到學以致用的目的。
本書可作為應用型本科高校計算機類專業(yè)的計算機導論或?qū)I(yè)導論教材,也可作為非計算機專業(yè)的計算機基礎教材,還可作為廣大計算機愛好者了解計算機基礎知識的參考書。
“計算機導論”課程是計算機科學與技術以及相關專業(yè)(包括數(shù)據(jù)科學與大數(shù)據(jù)技術、智能科學與技術、人工智能、計算機網(wǎng)絡、軟件工程、信息管理與信息系統(tǒng)等)的一門通識基礎課。課程的目的是引導學生對本專業(yè)的基礎知識和前沿發(fā)展有一個整體的認識,為學生后續(xù)的專業(yè)學習建立良好的開端,打下扎實的基礎。
本書針對應用型本科高校學生的特點,由淺入深地講解計算機科學與技術的相關知識和發(fā)展動態(tài),在內(nèi)容的組織上緊緊把握3個主線:一是以計算機發(fā)展的歷史為時間主線,貫穿計算機科學的各個主要知識模塊;二是以計算機各種資源的虛擬化為空間主線,從具體到抽象、以模塊化的方式介紹計算機科學的相關思想、理論和方法;三是以社會、道德與職業(yè)素養(yǎng)的培養(yǎng)為思政主線,將未來信息技術人才必備的道德、法律、文化、倫理等基本素質(zhì)和能力融入相應知識點進行講解,并開展開放性的專題討論。
本書在內(nèi)容的選擇上,以計算思維的思想為指引,理論聯(lián)系實際,講解計算機的硬件、軟件、應用等科學問題,兼顧知識性與趣味性。在知識點的選擇上,本書深度適中,更側(cè)重于廣度。每一章首先通過一個案例的導入,引起學生的學習興趣;然后通過本章導讀,進一步啟發(fā)學生進行思考;最后通過一個應用案例,將本章內(nèi)容的理論學習應用于解決具體的實際問題,做到理論聯(lián)系實際。
全書共10章,編寫分工為:第一章和第十章由陳燕副教授編寫,第二章和第三章由吳煒煒教授編寫,第四章和第七章由汪紅霞副教授編寫,第五章和第六章由王德成教授編寫,第八章由呂騰教授編寫,第九章由刁艷玉老師編寫。全書由呂騰統(tǒng)稿,配套的幻燈片由姚靜同學制作完成。
本書為安徽省高等學校省級質(zhì)量工程一流教材建設項目(2021yljc063)。
由于編寫者水平有限,加之計算機科學與技術的發(fā)展一日千里,書中難免存在一些不足之處,懇請讀者批評指正。
編 者?
2022年4月
第一章 計算機發(fā)展史 1
1.1 計算工具的發(fā)展 2
1.1.1 手動式計算工具 2
1.1.2 機械式計算工具 3
1.2 現(xiàn)代電子計算機的誕生和發(fā)展 4
1.2.1 世界上第一臺計算機ENIAC 5
1.2.2 現(xiàn)代計算機的主要特征 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
本章小結(jié) 14
習題 14
第二章 計算機的組成與工作原理 16
2.1 馮?諾依曼體系結(jié)構 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
本章小結(jié) 31
習題 31
第三章 數(shù)據(jù)的表示和存儲 33
3.1 信息與數(shù)據(jù) 34
3.2 計算機中的數(shù)制 36
3.2.1 十進制(Decimal) 36
3.2.2 二進制(Binary) 36
3.2.3 八進制(Octal) 37
3.2.4 十六進制(Hexadecimal) 37
3.3 數(shù)制間的轉(zhuǎn)換 38
3.3.1 二進制數(shù)、八進制數(shù)和十六
進制數(shù)轉(zhuǎn)換成十進制數(shù) 38
3.3.2 十進制數(shù)轉(zhuǎn)換成二進制數(shù)、
八進制數(shù)和十六進制數(shù) 38
3.3.3 二進制數(shù)轉(zhuǎn)換成八進制數(shù)和
十六進制數(shù) 39
3.3.4 八進制數(shù)和十六進制數(shù)
轉(zhuǎn)換成二進制數(shù) 40
3.4 數(shù)值型數(shù)據(jù)的表示 40
3.4.1 定點數(shù)的表示方法 40
3.4.2 浮點數(shù)的表示方法 41
3.5 字符型數(shù)據(jù)的編碼表示 41
3.5.1 ASCII碼 41
3.5.2 大端法和小端法 42
3.6 漢字的編碼表示 44
3.7 應用案例——查看和修改操作
?系統(tǒng)的文字編碼 45
本章小結(jié) 48
習題 48
第四章 數(shù)據(jù)結(jié)構和算法 49
4.1 數(shù)據(jù)結(jié)構 50
4.1.1 線性結(jié)構 52
4.1.2 樹形結(jié)構 56
4.1.3 圖形結(jié)構 59
4.2 算法 61
4.2.1 算法概述 61
4.2.2 搜索 66
4.2.3 排序 67
4.2.4 并行算法 70
4.3 應用案例——排序算法的實現(xiàn) 73
本章小結(jié) 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 結(jié)構化程序設計方法 83
5.2.3 面向?qū)ο蟪绦蛟O計方法 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
本章小結(jié) 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
本章小結(jié) 141
習題 141
第七章 計算機網(wǎng)絡與因特網(wǎng) 143
7.1 計算機網(wǎng)絡概述 144
7.1.1 計算機網(wǎng)絡的定義 144
7.1.2 計算機網(wǎng)絡的發(fā)展 144
7.1.3 計算機網(wǎng)絡的組成 146
7.1.4 計算機網(wǎng)絡的功能與分類 147
7.1.5 計算機網(wǎng)絡的性能指標 149
7.2 計算機網(wǎng)絡體系結(jié)構 151
7.2.1 計算機網(wǎng)絡體系結(jié)構的形成 151
7.2.2 劃分層次的必要性 152
7.2.3 具有七層協(xié)議的體系結(jié)構 152
7.2.4 實體、協(xié)議、服務和
服務訪問點 153
7.2.5 TCP/IP體系結(jié)構 154
7.3 因特網(wǎng)介紹 155
7.3.1 因特網(wǎng)概述 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 應用案例——計算機和網(wǎng)絡的
?簡單配置和測試 177
本章小結(jié) 185
習題 186
第八章 數(shù)據(jù)庫系統(tǒng) 188
8.1 數(shù)據(jù)管理技術的發(fā)展概況 189
8.1.1 人工管理階段 190
8.1.2 文件系統(tǒng)管理階段 190
8.1.3 數(shù)據(jù)庫系統(tǒng)管理階段 192
8.2 數(shù)據(jù)庫技術發(fā)展概況 194
8.2.1 網(wǎng)狀和層次數(shù)據(jù)庫管理系統(tǒng) 194
8.2.2 關系數(shù)據(jù)庫管理系統(tǒng) 196
8.2.3 數(shù)據(jù)庫管理系統(tǒng)和
方法的新進展 197
8.2.4 我國數(shù)據(jù)庫技術發(fā)展概況 203
8.3 數(shù)據(jù)庫系統(tǒng)簡述 205
8.3.1 數(shù)據(jù)庫 206
8.3.2 數(shù)據(jù)庫管理系統(tǒng) 206
8.3.3 系統(tǒng)的開發(fā)、維護和
使用人員 207
8.3.4 管理信息系統(tǒng) 207
8.4 數(shù)據(jù)模型 208
8.4.1 概念模型 208
8.4.2 邏輯模型 209
8.4.3 物理模型 209
8.5 關系模型和關系代數(shù) 209
8.5.1 基本術語 210
8.5.2 關系的性質(zhì) 211
8.5.3 關系完整性約束 212
8.5.4 關系代數(shù) 212
8.6 關系模式的規(guī)范化 218
8.6.1 函數(shù)依賴 219
8.6.2 范式 221
8.7 數(shù)據(jù)庫設計 224
8.7.1 數(shù)據(jù)庫設計的步驟 225
8.7.2 需求分析 225
8.7.3 概念設計 226
8.7.4 邏輯結(jié)構設計 227
8.7.5 物理結(jié)構設計 229
8.8 應用案例——學籍管理系統(tǒng)的
?實現(xiàn) 229
本章小結(jié) 233
習題 233
第九章 大數(shù)據(jù)與人工智能 235
9.1 大數(shù)據(jù) 236
9.1.1 大數(shù)據(jù)概述 236
9.1.2 數(shù)據(jù)科學和數(shù)據(jù)思維 237
9.1.3 大數(shù)據(jù)處理與可視化 239
9.2 人工智能 249
9.2.1 人工智能概述 249
9.2.2 人工神經(jīng)網(wǎng)絡和深度學習 256
9.2.3 機器人 270
9.3 大數(shù)據(jù)與人工智能的關系 272
9.4 大數(shù)據(jù)與人工智能的應用
?及社會問題 273
9.5 應用案例——手寫數(shù)字識別 275
本章小結(jié) 277
習題 278
第十章 實驗 279
參考文獻 280