大學計算機——理解和運用計算思維(人工智能通識版)(第3版)

戰德臣 李雪 聶蘭順 谷松林

  • 大學計算機——理解和運用計算思維(人工智能通識版)(第3版)-preview-1
  • 大學計算機——理解和運用計算思維(人工智能通識版)(第3版)-preview-2
大學計算機——理解和運用計算思維(人工智能通識版)(第3版)-preview-1

商品描述

本書是面向大學低年級學生和中學高年級學生的大學計算機/計算思維通識教育/人工智能通識教育類課程的教材。全書以精煉的語言講述計算思維與人工智能,以豐富的示例和演練幫助讀者在學習的過程中理解和運用計算思維與人工智能,以問題引導、深入淺出、案例分析、多視角討論、圖示化手段等,引導讀者對計算思維與人工智能從一個較淺的理解層次逐步過渡到較深入的理解層次。全書共分17章。第1~2章通過趣味示例使讀者體驗計算思維的魅力,把握計算思維的本質。第3~4章通過簡單示例使讀者理解機器如何能夠自動執行程序,這是理解計算思維的基礎。第5~6章通過跟隨練習使讀者體驗程序構造的基本手段,這是計算思維的本質之一。第7章簡明介紹了計算機語言與程序編寫。第8章從資源管理的視角,使讀者理解復雜計算環境,這也是計算思維在管理領域的應用。第9章介紹問題求解與算法,這是計算與計算機的靈魂。第10~12章引導讀者探索數據化思維,第13~15章引導讀者探索網絡化思維,第16~17章引導讀者探索機器學習與人工智能,尤其是大模型、AIGC及其應用。數據化思維、網絡化思維、智能化思維本質上都是計算思維。 本書內容豐富,重點突出,強化了從學習者角度漸進式體驗、理解和運用計算思維和人工智能,講解清晰、層層遞進,圖文並茂,可讀性強,尤其是深入淺出地講解了當前人工智能浪潮下大模型和AIGC方面的相關知識。本書適合作為計算機類專業的計算機(專業)導論課程、非計算機專業的大學計算機課程、計算思維導論課程、計算科學導論課程、信息科學導論課程、人工智能通識課程等的教材,也可作為中學高年級學生開設的信息技術類、計算思維類、人工智能類課程的教材。

作者簡介

戰德臣,哈爾濱工業大學教授,國家級教學名師,教育部高等學校大學計算機課程教學指導委員會委員,黑龍江省普通高等學校在線開放課程教學指導委員會副主任兼秘書長,高等學校慕課聯盟聯席會標準宣貫組組長,國家級一流課程負責人,國家級教學成果一等獎獲得者,全國優秀教材 (高等教育類)二等獎獲得者

目錄大綱

1 什麼是計算思維 1

1.1 趣味故事:用小白鼠檢驗毒水瓶 1

1.2 什麼是計算思維 2

1.2.1 二進制思維 2

1.2.2 二分法 ——人類普遍應用的思維 3

1.2.3 過程化與符號變換思維 4

1.2.4 計算思維的概念 5

1.3 擴展學習:計算思維的價值在哪裏 5

1.3.1 0和1及其特性 6

1.3.2 偶校驗:判斷數據傳輸有無錯誤 7

1.3.3 類比小白鼠問題判斷哪一位出錯 8

1.4 基礎知識:進位計數制及其相互轉換 10

1.4.1 二進制、十進制與r進制 10

1.4.2 進位計數制之間的相互轉換 11

1.5 計算之樹——大學計算思維教育空間 13

1.6 為什麼要學習和怎樣學習計算思維 14

1.6.1 為什麼:設計、構造和應用典型的計算工具需要計算思維 14

1.6.2 怎樣學:了解認知學習的不同深度 15

1.6.3 怎樣學:對比-聯想式學習方法 15

2 計算思維基礎:0和1與邏輯 17

2.1 用0和1表示萬事萬物 17

2.1.1 用0和1進行編碼 18

2.1.2 用0和1編碼表示英文字母與符號 18

2.1.3 用0和1表示中文文字 19

2.1.4 用0和1表示圖像 21

2.1.5 習與練:識別01串表示的語義 22

2.1.6 擴展學習:用0和1表示萬事萬物 23

2.2 用0和1與邏輯表達計算 26

2.2.1 基本邏輯運算:與、或、非、異或 26

2.2.2 基於0和1表達的邏輯運算 27

2.2.3 習與練:應用邏輯運算表達復雜計算關系 28

2.3 用0和1與邏輯實現自動化 30

2.3.1 用開關性元件實現基本邏輯運算 30

2.3.2 用另一種符號表達邏輯運算 31

2.3.3 習與練:應用邏輯運算認識電子電路 32

2.4 為什麼要學習和怎樣學習本章內容 33

2.4.1 為什麼:符號化-計算化-自動化思維是計算機最本質的思維模式 33

2.4.2 怎樣學:習練式學習方法 34

3 計算思維基礎:0和1與機器程序 35

3.1 如何讓機器自動計算一個多項式 35

3.2 用0和1表達機器中的數據:機器數 36

3.2.1 機器存儲數據的一些限制 36

3.2.2 有符號數及符號的表達 37

3.2.3 擴展學習:小數點的表達 39

3.2.4 擴展學習:減法是可以用加法實現的 40

3.3 用0和1表達機器能夠完成的動作(指令):一種形式的編碼 41

3.4 用0和1表達機器程序 43

3.4.1 習與練:讀一讀機器程序 43

3.4.2 習與練:改一改機器程序 43

3.5 基礎知識:機器語言、匯編語言與高級語言 45

3.5.1 計算機語言 45

3.5.2 機器語言及微程序語言 45

3.5.3 匯編語言 45

3.5.4 高級語言 46

3.6 為什麼要學習和怎樣學習本章內容 47

3.6.1 為什麼:數據、指令和程序是計算思維最基本的內容 47

3.6.2 怎樣學:體驗式學習方法 47

4 機器程序的執行 48

4.1 機器數據和機器程序的保存與讀寫:存儲器 48

4.1.1 存儲單元:存儲地址與存儲內容的區別 49

4.1.2 習與練:讀一讀存儲器中的程序與數據 50

4.2 從概念層面理解機器程序的執行 53

4.3 從內部結構層面理解機器程序的執行 54

4.3.1 運算器:實現基本運算的部件 54

4.3.2 控制器:機器程序的解讀與執行部件 54

4.3.3 一臺完整的計算機 55

4.3.4 擴展學習:信號傳遞次序的控制機制——時鐘與節拍 56

4.4 從動態執行過程層面理解機器程序的執行 57

4.4.1 機器指令的執行:取指令與執行指令 57

4.4.2 習與練:場景中模擬機器程序的執行 58

4.5 為什麼要學習和怎樣學習本章內容 61

4.5.1 為什麼:學習計算機,首先要理解機器程序是如何被執行的 61

4.5.2 怎樣學:場景理解式學習方法 62

5 程序構造是一種計算思維 63

5.1 表達程序的一種簡單方法:數值與運算組合式 63

5.1.1 一種簡單的語言:運算組合式 63

5.1.2 習與練:用運算組合式進行組合構造訓練 65

5.2 程序構造的基本:命名計算對象 67

5.2.1 計算對象的命名、再構造與計算執行 67

5.2.2 習與練:計算對象的命名、再構造與計算執行 68

5.3 程序構造的基本:定義新運算/新過程 69

5.3.1 定義新運算符,即新的運算(或新的過程) 69

5.3.2 習與練:新運算符的定義、使用與計算執行 71

5.3.3 運算組合式的兩種計算模式 74

5.4 擴展學習:復雜程序的構造 75

5.4.1 運算組合式中條件的表達方法 75

5.4.2 習與練:用條件運算組合式構造復雜的程序 76

5.5 為什麼要學習和怎樣學習本章內容 78

5.5.1 為什麼:程序是體現計算系統千變萬化功能的表達手段 78

5.5.2 怎樣學:練中學與學中練 79

6 程序的基本構造手段:遞歸與疊代 81

6.1 一些需要遞歸表達的示例 81

6.2 計算中的遞推式與遞歸函數 83

6.2.1 遞推式與遞歸函數的概念 83

6.2.2 習與練:體驗遞歸函數的構造魅力 84

6.3 體驗兩種不同遞歸函數的魅力 86

6.3.1 習與練:體驗兩種遞歸函數的計算過程 86

6.3.2 兩種遞歸函數的計算過程分析 87

6.4 習與練:遞歸與疊代的運用 88

6.4.1 語言語法要素的遞歸定義及運用 88

6.4.2 漢諾塔——一種似乎只能用遞歸求解的問題 91

6.5 擴展學習:遞歸程序的執行過程 92

6.5.1 實現階乘運算的遞歸程序和疊代程序執行過程比較 92

6.5.2 實現斐波那契數列的遞歸程序和疊代程序執行過程比較 94

6.6 為什麼要學習和怎樣學習本章內容 95

6.6.1 為什麼:遞歸和疊代是表達機器重復執行動作的基本方法 95

6.6.2 怎樣學:模擬式學習方法 96

7 計算機語言與程序編寫 97

7.1 一個高級語言程序設計的示例及分析 97

7.2 高級語言程序的基本要素 100

7.2.1 常量、變量與賦值語句 100

7.2.2 算術表達式、比較表達式與邏輯表達式 101

7.2.3 分支結構控制語句If 102

7.2.4 有界循環結構控制語句For 103

7.2.5 條件循環結構控制語句Do While 104

7.2.6 函數結構語句 105

7.2.7 系統函數及其調用 106

7.2.8 幾種計算機語言的程序基本要素書寫規範比較 106

7.3 習與練:用高級語言編寫程序 108

7.3.1 基本表達式及賦值語句的書寫練習 108

7.3.2 基本程序控制語句的書寫練習 108

7.3.3 啤酒瓶問題求解的程序設計 109

7.3.4 利用差分法求解多項式的程序設計:疊代法 110

7.3.5 閱讀並模擬執行高級語言程序 112

7.4 為什麼要學習和怎樣學習本章內容 114

7.4.1 為什麼:計算機語言是人與機器交流的工具 114

7.4.2 怎樣學:寫程序與讀程序 114

8 理解復雜計算環境:計算思維與管理 115

8.1 基本的計算環境:存儲體系 115

8.1.1 不同類型的存儲器 115

8.1.2 不同類型的存儲器需組合使用,實現性能-價格的優化 116

8.1.3 現代計算機的基本計算環境 118

8.2 計算環境的管理者:操作系統 119

8.2.1 操作系統的作用 119

8.2.2 用“分工-合作-協同”的思維理解操作系統 120

8.3 習與練:存儲資源的化整為零與還零為整 122

8.3.1 一個化整為零的示例 122

8.3.2 磁盤與文件管理 123

8.3.3 進一步理解化整為零與還零為整 126

8.4 現代計算機的演進與發展 128

8.4.1 了解操作系統管理CPU的方式 128

8.4.2 現代計算機的演進與發展 130

8.5 為什麼要學習和怎樣學習本章內容 132

8.5.1 為什麼:由理解“計算資源的管理”到理解“社會資源的管理” 132

8.5.2 怎樣學:化復雜為簡單 133

9 問題求解策略與算法表達 134

9.1 問題求解與算法:兩個問題的提出 134

9.2 算法及其基本表達方法 137

9.2.1 一種問題求解思維及算法的概念 137

9.2.2 算法的3種基本表達方法 138

9.2.3 習與練:基本算法的表達 140

9.3 習與練:用遍歷策略與貪心策略進行問題求解 144

9.3.1 用遍歷策略求解TSP問題與背包問題 144

9.3.2 遍歷策略求解存在什麼問題 146

9.3.3 用貪心策略求解TSP問題與背包問題 148

9.4 習與練:算法表達 150

9.4.1 TSP問題求解的算法表達 150

9.4.2 背包問題求解的算法表達 151

9.5 為什麼要學習和怎樣學習本章內容 152

9.5.1 為什麼:所有的計算問題都體現為算法 152

9.5.2 怎樣學:閱讀算法、表達算法與構造算法 153

10 數據管理思維也是一種計算思維 154

10.1 數據與數據管理 154

10.2 數據的基本形態:表與關系 155

10.2.1 熟悉表及其相關的術語 155

10.2.2 習與練:深入理解“表/關系”的特性 157

10.3 數據表的基本操作:關系操作 160

10.3.1 熟悉表的基本操作:關系操作 160

10.3.2 習與練:用關系操作及其組合操縱數據 161

10.4 擴展學習:關系及關系代數 165

10.4.1 關系:“表”的數學定義 165

10.4.2 關系代數:“表”操作的數學定義 167

10.5 為什麼要學習和怎樣學習本章內容 170

10.5.1 為什麼:數據管理需要抽象、理論和設計 170

10.5.2 怎樣學:理解-區分-命名-表達 171

11 數據庫系統與數據庫語言 172

11.1 數據庫系統與數據庫管理系統 172

11.1.1 數據庫系統 172

11.1.2 關系數據庫管理系統的基本思維模式 174

11.2 關系數據庫語言SQL 175

11.2.1 由關系模型初步認識SQL 175

11.2.2 SQL語言總體概覽 176

11.2.3 熟悉建立數據庫的SQL語句 177

11.2.4 習與練:利用SQL語言建立數據庫 178

11.3 習與練:用SQL語言進行數據查詢 180

11.3.1 熟悉SELECT-FROM-WHERE-ORDER BY語句 180

11.3.2 習與練:用SELECT-FROM-WHERE-ORDER BY語句進行數據查詢 181

11.4 習與練:用SQL語言進行數據統計計算 184

11.4.1 熟悉SELECT-FROM-WHERE-GROUP BY語句 184

11.4.2 習與練:用SELECT-FROM-WHERE-GROUP BY語句進行統計計算 185

*11.5 擴展學習:用SQL語言進行復雜查詢 187

11.5.1 熟悉子查詢 187

11.5.2 利用子查詢進行復雜查詢 188

*11.6 擴展學習:數據庫管理系統的功能 190

11.7 為什麼要學習和怎樣學習本章內容 191

11.7.1 為什麼:數據管理也是計算思維 191

11.7.2 怎樣學:案例式對比式學習 192

12 數據與社會:數據也是生產力 193

12.1 什麼是大數據 193

12.2 數據分析示例:多維數據分析 194

12.2.1 一個例子:超市數據庫 194

12.2.2 熟悉最基本的數據分析方法——二維交叉表 196

12.2.3 由二維數據分析發展為多維數據分析 197

12.3 數據挖掘示例:炒股不看股盤看微博 199

12.3.1 啤酒與尿布的故事 199

12.3.2 理解一些基本概念 200

12.3.3 由事務數據庫挖掘關聯規則——數據挖掘示例 201

12.3.4 還能挖掘什麼樣的規則 205

12.3.5 還能從哪些形式數據中挖掘 206

12.4 大數據與社會 206

12.4.1 大數據運用的一個例子 206

12.4.2 大數據價值發現:不一樣的思維 207

12.4.3 大數據的隱私問題 208

*12.5 擴展學習:大數據的管理 209

12.5.1 大數據管理:由結構化到非結構化 209

12.5.2 各種資源聚集成庫 210

12.6 為什麼要學習和怎樣學習本章內容 211

12.6.1 為什麼:大數據改變了人的觀念,不可能的也許就是可能 211

12.6.2 怎樣學:思維上要浮想聯翩,技術上要不求甚解 212

13 網絡化社會基礎:計算機網絡 213

13.1 計算機網絡——社會互聯的基礎 213

13.1.1 通信基礎 213

13.1.2 協議、分層與不同的編解碼器 218

13.1.3 計算機網絡的分類 220

13.2 對比郵政網絡,理解計算機網絡 222

13.2.1 解剖郵政網絡 222

13.2.2 對比郵政網絡,理解計算機網絡中的有關層次及概念 223

13.3 擴展學習:TCP/IP不同層次協議的簡要解析 226

13.3.1 網絡層(IP層)——對應收發郵局層 226

13.3.2 應用層——對應發件人/ 收件人層 228

13.3.3 傳輸層——對應聚集點/分送點層 231

13.3.4 數據鏈路層——對應發送站點/接收站點層 232

13.3.5 物理層——對應運輸層 233

13.4 為什麼要學習和怎樣學習本章內容 233

13.4.1 為什麼:互聯互通是信息社會的高級階段 233

13.4.2 怎樣學:類比分析式學習法 233

14 信息網絡:信息組織與信息傳播的基本思維 234

14.1 機器成為信息的新載體,互聯網成為信息傳播的新手段 234

14.2 標記語言:信息網絡構建的基礎 236

14.2.1 熟悉信息網絡中一種廣泛應用的語言:標記語言 236

14.2.2 萬維網的基本思維 239

14.3 無限資源庫的發掘和利用 243

14.3.1 網絡自動搜索——搜索引擎 244

14.3.2 互聯網半/非結構化數據管理:XML 245

*14.3.3 擴展學習:半/非結構化數據(文檔)的查找與搜索 249

14.3.4 擴展學習:互聯網網頁排序的基本思維 250

14.4 為什麼要學習和怎樣學習本章內容 253

14.4.1 為什麼:互聯網的智能化基礎 253

14.4.2 怎樣學:內容驅動技術的學習方法 253

15 網絡與社會:互聯的世界 254

15.1 互聯網的創新思維 254

15.1.1 大眾產生內容,大眾創造價值 254

15.1.2 大眾開發軟件,大眾消費軟件,大眾創造價值 255

15.1.3 由購買轉為租用,由銷售轉為出租:雲計算/雲服務 257

15.2 “互聯網+”的創新思維 258

15.2.1 什麼是“互聯網+” 258

15.2.2 基於物聯網的產品全生命期服務:不賣產品賣服務 258

15.2.3 萬般皆服務與共享經濟 259

15.3 網絡化與社會:問題與挑戰 261

15.4 為什麼要學習和怎樣學習本章內容 262

15.4.1 為什麼:自動化-網絡化-智能化是發展趨勢 262

15.4.2 怎樣學:不怕做不到,只怕想不到 262

16 機器學習、深度學習與強化學習:使機器具有智能 263

16.1 機器學習的相關概念 263

16.1.1 樣本、特征與標簽 264

16.1.2 模型 265

16.1.3 兩類問題:回歸問題與分類問題 265

16.1.4 訓練與測試 267

16.1.5 機器學習的一般過程 268

16.2 統計機器學習 270

16.2.1 基於統計信息的特征表示 270

16.2.2 基於數據統計的機器學習 273

16.2.3 基於自動學習的特征表示 273

16.3 神經網絡與深度學習 276

16.3.1 生物神經元與MP神經元模型 276

16.3.2 感知機與BP神經網絡 278

16.3.3 卷積與卷積神經網絡 280

16.3.4 深度神經網絡與深度學習 282

16.4 強化學習 283

16.4.1 有監督學習、無監督學習與強化學習 283

16.4.2 蒙特卡洛樹搜索與路徑規劃 284

16.4.3 強化學習與文本生成 286

16.5 為什麼要學習和怎樣學習本章內容 288

16.5.1 為什麼:基於大數據的人工智能,基礎是機器學習 288

16.5.2 怎樣學:思維轉變很重要 289

17 大模型、AI智能體與AIGC 290

17.1 大模型與生成式人工智能 290

17.1.1 人工智能相關的概念 290

17.1.2 人工智能三大流派 291

17.1.3 大模型與生成式人工智能的發展歷程 293

17.2 大模型的基礎:Transformer 295

17.2.1 Transformer的核心思想概述 295

17.2.2 Transformer的輸入:Token與嵌入 295

17.2.3 Transformer的核心:自註意力及其計算 296

17.2.4 Transformer的基本構件:編碼器與解碼器 299

17.3 由Transformer到語言大模型、視覺大模型與多模態大模型 300

17.3.1 基於Transformer的預訓練語言大模型:BERT與GPT 300

17.3.2 語言大模型的分類和發展 302

17.3.3 中國的語言大模型DeepSeek及更多 303

17.3.4 由語言大模型到視覺大模型到多模態大模型 305

17.4 AIGC:人工智能生成內容 307

17.4.1 什麼是AIGC 307

17.4.2 AIGC的基本邏輯:生成式對抗網絡模型 307

17.4.3 AIGC能夠生成什麼——典型案例 308

17.5 大模型的應用方法 310

17.5.1 大模型應用層次 310

17.5.2 大模型微調的參數含義 312

17.5.3 大模型的提示詞工程 313

17.6 人工智能+X:國家人工智能規劃 315

17.6.1 AI+教育 316

17.6.2 AI+城市 316

17.6.3 AI+農業 316

17.6.4 AI+交通 317

17.6.5 AI+醫療 317

17.6.6 AI+Science 317

17.7 為什麼要學習和怎樣學習本章內容 317