根據(jù)計算機科學與技術專業(yè)、網(wǎng)絡工程專業(yè)、軟件工程專業(yè)以及信息管理與信息系統(tǒng)專業(yè)的規(guī)范和應用型本科院校的教學需求特點,本著“通俗易懂,注重理論、兼顧實踐、科學導學”的原則,本書從計算機硬件、軟件、網(wǎng)絡和應用等幾個方面對計算機科學與技術專業(yè)課程和相關知識點進行了介紹。主要內(nèi)容包括計算機專業(yè)知識體系、計算機發(fā)展史、計算機體系結構、計算機網(wǎng)絡、操作系統(tǒng)、軟件與程序設計、數(shù)據(jù)庫、軟件工程、人工智能、計算機安全、計算機新技術和應用。
計算機科學導論是計算機科學與技術專業(yè)學生入學學習的第一門專業(yè)必修課,它構建在計算學科認知模型的基礎上,并以計算機科學的內(nèi)容為背景,從學科思想與方法層面對計算學科進行導引,著力提高學生的計算思維能力。它來源于ACM教育委員會對“整個計算學科綜述性導引”(計算機科學導論)課程構建的要求,即用嚴密的方式將學生引入計算學科各個富有挑戰(zhàn)性的領域之中。本教材為學生正確認知計算學科提供方法,為今后深入學習計算機課程作鋪墊。
通過計算機科學導論的學習可以讓學生更好的了解計算學科各主領域的基本內(nèi)容及其相應的課程設置、計算學科中的核心概念、數(shù)學方法、系統(tǒng)科學方法、社會和職業(yè)問題等內(nèi)容。通過本課程的學習最終幫助學生能夠了解計算機行業(yè)的技術標準、知識產(chǎn)權、產(chǎn)業(yè)政策和法律法規(guī),能夠分析計算機工程實踐的經(jīng)濟效益與社會效益。在計算機軟硬件開發(fā)工程實踐過程中具有明確的環(huán)保意識和可持續(xù)發(fā)展理念。能夠理解和評價針對復雜工程問題的計算機軟硬件工程實踐對環(huán)境和社會可持續(xù)發(fā)展的影響。了解職業(yè)性質和責任,能夠在計算機工程實踐中自覺遵守職業(yè)道德和規(guī)范,具有責任感。本課程的任務是:
。1)使計算機專業(yè)的學生剛進入大學就能全面了解計算機領域的專業(yè)知識,最新發(fā)展及應用。使學生更好的掌握計算機硬件技術、軟件技術、數(shù)據(jù)庫技術、多媒體技術、網(wǎng)絡技術、信息安全技術、職業(yè)道德、法律法規(guī)。
。2)使學生對今后學習的主要知識,專業(yè)方向有一個了解,為后繼課程構建一個基本知識框架,為今后學習和掌握專業(yè)知識進行科學研究奠定基礎,通過學習計算機科學導論使學生了解計算機行業(yè)的技術標準、軟硬件發(fā)展知識,新技術和計算機行業(yè)發(fā)展趨勢。
。3)為學生今后的專業(yè)學習做一個良好的鋪墊,使學生了解相關的職業(yè),職業(yè)道德法律法規(guī)。
全書共分12章,主要內(nèi)容包括:計算機的發(fā)展過程與趨勢、計算基礎、計算機組成、計算機網(wǎng)絡、程序設計語言、算法與數(shù)據(jù)結構、數(shù)據(jù)庫、軟件工程、操作系統(tǒng)、多媒體技術、社會與職業(yè)道德、計算機新技術。內(nèi)容密切結合教指委對該課程的基本教學要求,同時兼顧計算機軟件和硬件的最新發(fā)展,結構嚴謹,層次分明,敘述準確。各高?筛鶕(jù)實際教學學時、學生的基礎對教學內(nèi)容進行適當?shù)倪x取。
本書由甘勇、尚展壘、韓麗等編著,其中鄭州輕工業(yè)學院的甘勇、尚展壘任主編,鄭州輕工業(yè)學的韓麗、張旭、常化文任副主編。參加本書編寫的還有鄭州輕工業(yè)學院的盧冰、朱會東、孟潁輝、南姣芬、王華。其中,第1章由甘勇和尚展壘編寫,第2、9章張旭編寫,第3章由南姣芬編寫,第4章由韓麗編寫,第5、6章由盧冰編寫,第7、12章由王華編寫,第8章由朱會東編寫,第10章由;木帉懀11章由孟潁輝編寫。韓麗、張旭還負責本書的統(tǒng)稿和組織工作。在本書的編寫過程中得到了鄭州輕工業(yè)學院、河南省高等學校計算機教育研究會以及電子工業(yè)出版社的大力支持和幫助,在此由衷地向他們表示感謝!
由于編者水平有限,書中不足和疏漏之處,敬請廣大讀者特別是同行專家們批評指正。
收起全部↑
甘勇,男,1965年5月出生。中共黨員。研究生學歷,鄭州輕工業(yè)學院計算機與通信工程系學院教授,院長。擔任中國計算機學會微機專委常委、河南省計算機學會理事、河南省高校計算機教育研究會副理事長、鄭州市青聯(lián)委員、河南省軟件行業(yè)協(xié)會常務理事。榮獲過河南省優(yōu)秀專家、河南省管優(yōu)秀青年科技專家、河南省跨世紀學術和技術帶頭人培養(yǎng)對象、河南省優(yōu)秀教師等榮譽稱號。
第1章 概述 1
1.1 計算機發(fā)展前史 1
1.2 計算機的發(fā)展與應用 6
1.2.1 電子計算機的發(fā)展 6
1.2.2 計算機的應用領域 8
1.3 計算機模型 10
1.3.1 圖靈模型 10
1.3.2 馮?諾依曼模型 11
1.4 計算機應用系統(tǒng)的計算模式 12
1.4.1 單主機計算模式 13
1.4.2 分布式客戶/服務器計算模式 13
1.4.3 瀏覽器/服務器計算模式 14
1.4.4 新的計算模式 14
1.5 計算學科 17
1.5.1 計算學科的歷史背景 17
1.5.2 計算學科領域的分化及主要內(nèi)容 18
1.6 小結 20
第2章 計算基礎 23
2.1 數(shù)制 23
2.1.1 數(shù)制的定義 23
2.1.2 數(shù)制的規(guī)律 24
2.1.3 常用的數(shù)制 24
2.1.4 二進制數(shù) 26
2.1.5 數(shù)制轉換 29
2.2 數(shù)據(jù)存儲的組織方式 32
2.2.1 數(shù)據(jù)存儲單位 33
2.2.2 存儲設備結構 33
2.2.3 編址與地址 34
2.3 數(shù)值在計算機中的表示 34
2.3.1 數(shù)的定點和浮點表示 35
2.3.2 數(shù)的編碼表示 35
2.3.3 計算機中數(shù)的浮點表示 37
2.4 信息編碼 39
2.4.1 二―十進制編碼(BCD碼) 39
2.4.2 字符編碼 39
2.4.3 漢字編碼 41
2.4.4 多媒體信息編碼 43
2.5 小結 45
第3章 計算機組成 48
3.1 計算機的系統(tǒng)組成 48
3.1.1 計算機的硬件系統(tǒng) 49
3.1.2 計算機的軟件系統(tǒng) 55
3.1.3 計算機軟硬件系統(tǒng)之間的關系 57
3.2 計算機的工作原理 57
3.2.1 計算機指令 57
3.2.2 計算機的工作原理 58
3.3 計算機的性能評價 59
3.4 小結 60
第4章 計算機網(wǎng)絡 61
4.1 計算機網(wǎng)絡概述 61
4.1.1 計算機網(wǎng)絡的概念 61
4.1.2 計算機網(wǎng)絡的組成 62
4.1.3 計算機網(wǎng)絡的發(fā)展 62
4.1.4 計算機網(wǎng)絡的分類 63
4.1.5 計算機網(wǎng)絡體系結構 64
4.1.6 網(wǎng)絡服務應用模式 66
4.2 網(wǎng)絡中間系統(tǒng) 67
4.2.1 網(wǎng)絡傳輸介質 67
4.2.2 網(wǎng)絡接口卡 70
4.2.3 集線器 70
4.2.4 交換機 71
4.2.5 路由器 71
4.3 計算機局域網(wǎng) 72
4.3.1 局域網(wǎng)概述 72
4.3.2 載波偵聽多路訪問/沖突檢測協(xié)議 73
4.3.3 以太網(wǎng) 74
4.4 Internet的基礎知識 75
4.4.1 Internet的概述 75
4.4.2 Internet的接入 77
4.4.3 IP地址與MAC地址 78
4.4.4 WWW服務 85
4.4.5 域名系統(tǒng) 88
4.4.6 電子郵件 91
4.4.7 文件傳輸 91
4.4.8 遠程登錄服務 92
4.4.9 Intranet 92
4.5 小結 92
第5章 程序設計語言 96
5.1 程序設計概述 96
5.1.1 什么是程序 96
5.1.2 程序設計的步驟 97
5.1.3 程序設計語言的發(fā)展 98
5.2 程序設計語言模式 99
5.2.1 過程式模式 99
5.2.2 面向對象模式 100
5.2.3 函數(shù)式模式 101
5.2.4 邏輯式模式 101
5.3 程序編譯過程 102
5.3.1 編譯過程概述 102
5.3.2 詞法分析 102
5.3.3 語法分析 103
5.3.4 語義分析和中間代碼生成 103
5.3.5 目標代碼優(yōu)化 103
5.3.6 目標代碼生成 104
5.3.7 表格管理和出錯管理 104
5.4 過程式語言的共同概念 104
5.4.1 基本數(shù)據(jù)類型 104
5.4.2 變量和常量 105
5.4.3 運算符與表達式 105
5.4.4 控制結構 105
5.4.5 函數(shù) 107
5.5 面向對象語言的特性 107
5.5.1 面向對象的基本概念 108
5.5.2 面向對象的特征 108
5.5.3 面向對象的特點 109
5.6 當下主流語言的介紹 109
5.6.1。谜Z言 109
5.6.6 C++ 110
5.6.3 Java 111
5.6.4 Python 111
5.6.5 C# 112
5.6.6 PHP 113
5.6.7 JavaScript 113
5.6.8 Perl 114
5.6.9 Visual Basic.NET 114
5.6.10 Ruby 115
5.7 小結 115
第6章 算法與數(shù)據(jù)結構 116
6.1 算法概述 116
6.1.1 算法及特性 116
6.1.2 算法的描述方式 117
6.1.3 算法的度量 119
6.2 數(shù)據(jù)結構概述 120
6.2.1 什么是數(shù)據(jù)結構 120
6.2.2 數(shù)據(jù)結構的基本術語 120
6.3 線性結構 121
6.3.1 線性表 121
6.3.2 棧 123
6.3.3 隊列 123
6.3.4 串 123
6.4 樹狀結構 124
6.4.1 樹 124
6.4.2 二叉樹 125
6.4.3 樹的存儲 127
6.4.4 樹和森林的遍歷 128
6.5 圖 128
6.5.1 圖的定義與術語 128
6.5.2 圖的存儲 129
5.5.3 圖的遍歷 130
6.5.4 最小生成樹 131
6.5.5 最短路徑 132
6.6 排序 132
6.7 計算思維與算法設計技巧 134
6.7.1 計算思維 134
6.7.2 貪心算法 134
6.7.3 分治算法 135
6.7.4 動態(tài)規(guī)劃 136
6.7.5 回溯算法 136
6.7.6 分支界限法 137
6.6 小結 138
第7章 數(shù)據(jù)庫技術概述 140
7.1 數(shù)據(jù)庫系統(tǒng)概述 140
7.1.1 數(shù)據(jù)庫的基本概念 140
7.1.2 數(shù)據(jù)管理技術的發(fā)展 142
7.1.3 數(shù)據(jù)庫系統(tǒng)的構成 144
7.1 數(shù)據(jù)模型 145
7.2.1 數(shù)據(jù)模型的三要素 145
7.2.2 數(shù)據(jù)模型的分類 146
7.2.3 概念模型與邏輯模型 146
7.2.4 實體聯(lián)系模型 147
7.2.5 常見邏輯模型介紹 147
7.3 關系數(shù)據(jù)庫基本概念 148
7.3.1 關系模型基本概念 149
7.3.2 關系模型的規(guī)范化 150
7.4 關系數(shù)據(jù)庫設計 151
7.4.1 系統(tǒng)規(guī)劃 151
7.4.2 需求分析 152
7.4.3 概念設計 152
7.4.4 邏輯設計 153
7.4.5 物理設計 153
7.4.6 系統(tǒng)實現(xiàn) 154
7.4.7 運行與維護 154
7.5 結構化查詢語言 155
7.5.1 數(shù)據(jù)定義 156
7.5.2 數(shù)據(jù)查詢 157
7.5.3 數(shù)據(jù)操縱 158
7.5.4 數(shù)據(jù)控制 158
7.6 數(shù)據(jù)庫管理軟件介紹 159
7.7 小結 161
第8章 軟件工程 163
8.1 軟件工程概述 163
8.1.1 軟件的定義 163
8.1.2 軟件危機 164
8.1.1 軟件工程的定義 165
8.2 軟件開發(fā)模型 166
8.2.1 軟件生存周期 166
8.2.2 瀑布模型 167
8.2.3 原型模型 168
8.2.4 增量模型 168
8.2.5 螺旋模型 168
8.3 軟件開發(fā)方法 169
8.3.1 結構化方法 169
8.3.2 面向對象的軟件開發(fā)方法 170
8.4 軟件開發(fā)過程 170
8.4.1 可行性研究 170
8.4.2 需求分析 171
7.4.3 總體設計 174
8.4.4 詳細設計 177
8.4.5 編碼實現(xiàn) 180
8.5 軟件質量 180
8.5.1 軟件可靠性 180
8.5.2 軟件質量的度量 181
8.5.3 軟件評審 182
8.6 軟件維護 182
8.6.1 軟件維護的定義 182
8.6.2 軟件維護的分類 182
8.7 軟件項目管理 183
8.7.1 軟件開發(fā)成本估算 183
8.7.2 風險分析 184
8.7.3 軟件開發(fā)進度安排 184
8.7.4 軟件項目的組織 184
8.8 小結 185
第9章 操作系統(tǒng) 186
9.1 操作系統(tǒng)概述 186
9.2 操作系統(tǒng)的發(fā)展史 187
9.1.2 手工操作(無操作系統(tǒng)) 187
9.2.2 批處理系統(tǒng) 187
9.2.3 多道程序系統(tǒng)(多道批處理系統(tǒng)) 188
9.2.4 分時系統(tǒng) 189
9.2.5 實時系統(tǒng) 189
9.2.6 通用操作系統(tǒng) 190
9.2.7 操作系統(tǒng)的進一步發(fā)展 190
9.3 操作系統(tǒng)的特征 191
9.4 操作系統(tǒng)的功能 192
9.4.1 處理機管理 192
9.4.2 存儲管理 195
9.4.3 設備管理 198
9.4.4 文件管理 199
9.4.5 用戶接口 201
9.5 操作系統(tǒng)的分類 201
9.6 主流操作系統(tǒng) 202
9.7 未來操作系統(tǒng)發(fā)展趨勢 204
9.8 小結 204
第10章 多媒體技術概述 207
10.1 多媒體的基本概念 207
10.1.1 媒體 207
10.1.2 多媒體 208
10.1.3 多媒體系統(tǒng) 208
10.1.4 多媒體技術 209
10.2 音頻處理技術 209
10.2.1 聲音的本質與聽覺系統(tǒng) 210
10.2.2 聲音信號的數(shù)字化 211
10.2.3 聲音文件的存儲格式 213
10.2.4 音頻處理軟件 214
10.3 色彩信息的表示 216
10.3.1 視覺系統(tǒng)對顏色的感知特點 217
10.3.2 顏色的數(shù)字化 217
10.3.3 常見顏色模型 219
10.3.4 顏色模型之間的轉換 221
10.4 圖像處理技術 222
10.4.1 圖像處理概述 222
10.4.2 數(shù)字圖像的屬性 223
10.4.3 圖像的種類 226
10.4.4 數(shù)字圖像處理常用的 方法 228
10.4.5 圖像文件的存儲格式 228
10.6 視頻處理技術 230
10.6.1 視頻概述 230
10.6.2 彩色視頻的編碼方法 231
10.6.3 視頻技術相關術語 231
10.6.4 視頻文件的存儲格式 232
10.7 計算機圖形學 234
10.7.1 計算機圖形學概述 234
10.7.2 計算機圖形學的應用 236
10.7.3 光柵圖形學概述 238
10.7.4 OpenGL簡介 240
10.8 多媒體數(shù)據(jù)壓縮技術 241
10.8.1 多媒體信息的冗余性 242
10.8.2 數(shù)據(jù)壓縮編碼技術 242
10.8.3 常見多媒體壓縮算法 243
10.9 小結 245
第11章 社會和職業(yè)問題 247
11.1 計算機與社會 247
11.1.1 計算機對社會的影響 247
11.1.2 社會計算 249
11.2 計算機與道德 249
11.2.1 計算機從業(yè)人員職業(yè)道德 249
11.2.2 計算機用戶道德 251
11.2.3 計算機犯罪 252
11.2.4 隱私與言論自由 253
11.3 知識產(chǎn)權 254
11.4 個人與團隊 255
11.4.1 個人在團隊中的作用 255
11.4.2 個人與團隊的合作 256
11.5 計算機與哲學 257
11.5.1 計算機哲學 257
11.5.2 計算機教育哲學 257
11.6 小結 258
第12章 計算機新技術 260
12.1 人工智能 260
12.1.1 人工智能的概念 260
12.1.2 人工智能的發(fā)展階段 261
12.1.3 人工智能的研究領域 261
12.1.4 人工智能的研究方法 262
12.2 物聯(lián)網(wǎng) 263
12.2.1 物聯(lián)網(wǎng)概述 263
12.2.2 物聯(lián)網(wǎng)的發(fā)展趨勢 263
12.2.3 物聯(lián)網(wǎng)的關鍵技術 264
13.3 大數(shù)據(jù) 265
12.3.1 大數(shù)據(jù)的基本概念和特征 265
12.3.2 大數(shù)據(jù)的發(fā)展趨勢 265
12.3.3 大數(shù)據(jù)的處理技術 266
12.4 云計算與云平臺 268
12.4.1 云計算 268
12.4.2 云平臺 270
12.5 小結 271