计算思维程序实践(开源鸿蒙版)

依托“101计划”课程体系,全面融入开源鸿蒙(OpenHarmony)生态,面向新的计算范式、编程范式、开发范式和学习范式
分享 推荐 0 收藏 2 阅读 250
战德臣 , 李蒙 (作者) 978-7-115-69493-5

关于本书的内容有任何问题,请联系 人邮-王丹

(1)教学定位新颖,重构课程学习逻辑。作为教育部 “101 计划”《计算机科学导论——计算思维程序实践》配套开源鸿蒙版教材,贯彻 “以程序实现为目的、语言为辅助” 教学理念,跳出传统教材偏重语法讲授的模式,引导学生为构建计算系统而学习编程,重在培养计算解决问题的意识与实践赋能能力。
(2)分层分级的实验体系,适配多元化学情。设计不编程体验、研读调试、初 / 中 / 高级编程、闯关式编程等多档实验模式,区分不同专业、不同编程基础学生的学习需求,配套对应学分建议,文科、理工各类专业均可选用,方便教师灵活组织课堂与实践教学。
(3)技术平台特色鲜明,贴合国产技术生态。全书基于 ArkTS 语言、开源鸿蒙平台开发实践案例,将计算思维训练和国产应用开发技术相结合,14 个实践项目全部落地为鸿蒙应用,兼顾思维训练与国产技术实操能力培养。
(4)采用演进式项目设计,注重学生创新能力激发。书中只提供项目初始版本代码,设置五级阶梯式程序实现路径,不输出定型成品程序。鼓励学习者在理解基础版本之后自主修改、扩展迭代,在改造程序的过程中完成从读懂代码到创新开发的能力跃迁。

内容摘要

        本书主要讲解计算思维的核心概念与实践方法,结合鸿蒙应用开发技术,通过丰富的案例项目帮助读者掌握计算思维在真实场景中的应用。全书共16章,主要内容包括计算思维基础、鸿蒙应用开发语法、数值计算与曲线绘制、数据预测与曲线拟合、面向对象与扫雷程序、系统思维与机器程序执行仿真、化整为零思维与文件存储仿真、递归思维与分形图绘制、表达式解析与二十四点游戏、回溯思维与数独程序、非精确求解与旅行商问题仿真、博弈思维与五子棋游戏、网络构建与连通仿真、网络协议与数据传输仿真、关系型数据库系统管理、机器学习与卷积神经网络建模等。本书内容特色在于以“理论引导+案例实践”为主线,每章围绕“数据结构—可视化输出—基本算法—人机交互—完整系统”五步实践框架展开,配套完整的项目代码、界面演进图和函数调用关系图,注重通过联想体验与编程项目深化计算思维的理解与应用。
        本书可作为高等院校计算机科学与技术、软件工程、人工智能、物联网工程等专业的教材,也可供鸿蒙应用开发领域的技术人员学习使用,还可作为计算思维与算法设计研究人员的参考用书。

目录

第 1 章 计算思维基础 .............................. 1
1.1 为什么要学习计算思维 .................. 1
1.1.1 计算与社会 / 自然深度融合 ...... 1
1.1.2 新工科、新医科、新农科与新文科 ....................................... 1
1.2 什么是计算思维 .............................. 3
1.3 典型的计算思维 — 计算之树 ...... 4
1.4 怎样学习与实践计算思维 .............. 5
1.4.1 联想体验式学习计算思维 ....... 5
1.4.2 编程项目式实践计算思维 ....... 5
1.5 本书的基本思想与内容组织思路 .................................................. 6

第 2 章 鸿蒙应用开发语法基础 ............ 10
2.1 ArkTS 基础语法 ............................ 10
2.1.1 TS 语法介绍 ........................... 10
2.1.2 ArkTS 语法扩展功能 ............. 15
2.2 通用事件、通用属性与常用 UI 组件 ................................................ 21
2.2.1 通用事件 ................................. 21
2.2.2 通用属性 ................................. 21
2.2.3 基础组件 ................................. 22
2.2.4 容器组件 ................................. 23
2.2.5 绘制组件 ................................. 25
2.2.6 画布组件 ................................. 26
2.3 常用 UI 布局 .................................. 26
2.3.1 布局概述 ................................. 26
2.3.2 线性布局 ................................. 28

第 3 章 数值计算与曲线绘制 ................ 32
3.1 数值计算的典型方法 .................... 32
3.1.1 什么是数值计算 ..................... 32
3.1.2 插值与误差 ............................. 32
3.1.3 数列与泰勒级数 ..................... 34
3.1.4 数值微分、积分与牛顿迭代 ......................................... 36
3.2 数值计算与曲线绘制项目总体设计 ................................................ 37
3.2.1 项目总体思路 ......................... 38
3.2.2 项目案例代码结构 ................. 38
3.2.3 项目主要函数调用关系图与项目输出界面演进图 ............. 39
3.2.4 项目开发环境说明 ................. 39
3.3 数据的变化与基本控制:X1 数据结构 .................................. 39
3.4 屏幕元素及其显示输出:X2 可视化输出 .............................. 43
3.5 算法设计与函数实现:X3 基本算法 .................................. 45
3.6 屏幕元素事件识别与控制:X4 人机交互 .................................. 49
3.7 算法优化与系统功能拓展:X5 完整系统 .................................. 51

第 4 章 数据预测与曲线拟合 ................. 53
4.1 数据预测的典型方法 .................... 53
4.1.1 数据预测与曲线拟合 ............. 53
4.1.2 最小二乘法 ............................. 53
4.1.3 梯度下降法 ............................. 55
4.2 数据预测与曲线拟合项目总体设计 ................................................ 57
4.2.1 项目总体思路 ......................... 57
4.2.2 项目案例代码结构 ................. 58
4.2.3 项目主要函数调用关系图与项目输出界面演进图 ............. 58
4.2.4 项目开发环境说明 ................. 59
4.3 数据的变化与基本控制:X1 数据结构 .................................. 60
4.4 屏幕元素及其显示输出:X2 可视化输出 .............................. 61
4.5 算法设计与函数实现:X3 基本算法 .................................. 63
4.6 屏幕元素事件识别与控制:X4 人机交互 .................................. 67
4.7 算法优化与系统功能拓展:X5 完整系统 .................................. 70

第 5 章 面向对象与扫雷程序 ................. 73
5.1 面向对象思维与图形用户界面 ................................................ 73
5.1.1 面向对象的基本概念 ............. 73
5.1.2 图形用户界面 ......................... 74
5.1.3 使用 ArkUI 框架制作图形用户界面 ................................. 75
5.2 扫雷程序项目总体设计 ................ 77
5.2.1 项目总体思路 ......................... 78
5.2.2 数据结构设计 ......................... 78
5.2.3 项目涉及的类库资源 ............. 80
5.2.4 项目主要函数调用关系图与项目输出界面演进图 ............. 80
5.2.5 项目开发环境说明 ................. 81
5.3 数据的变化与基本控制:X1 数据结构 .................................. 81
5.4 屏幕元素及其显示输出:X2 可视化输出 .............................. 82
5.5 算法设计与函数实现:X3 基本算法 ................................. 83
5.6 屏幕元素事件识别与控制:X4 人机交互 ................................. 85
5.7 算法优化与系统功能拓展:X5 完整系统 ................................. 90

第 6 章 系统思维与机器程序执行仿真 ............................................ 93
6.1 一种系统思维 — 实现机器程序自动执行的系统 ........................... 93
6.1.1 存储程序与冯 诺依曼计算机 .................................... 93
6.1.2 运算器和控制器 —CPU 的计算部件和指令执行部件......... 93
6.1.3 机器指令与机器程序 ............ 95
6.1.4 机器程序的存储与执行......... 95
6.2 机器程序执行仿真项目总体设计 ............................................... 96
6.2.1 项目总体思路 ........................ 96
6.2.2 项目涉及的类库资源 ............ 97
6.2.3 项目主要函数调用关系图与项目输出界面演进图 ............ 98
6.2.4 项目开发环境说明 ................ 99
6.3 数据的变化与基本控制:X1 数据结构 ................................. 99
6.4 屏幕元素及其显示输出:X2 可视化输出 ........................... 102
6.5 算法设计与函数实现:X3 基本算法 ............................... 105
6.6 屏幕元素事件识别与控制:X4 人机交互 ............................... 107
6.7 算法优化与系统功能拓展:X5 完整系统 ................................ 110

第 7 章 化整为零思维及磁盘管理与文件存取仿真 ........................... 113
7.1 一种资源管理思维 — 化整为零 ...................................... 113
7.1.1 化整为零与还零为整 ........... 113
7.1.2 磁盘与文件的化整为零与还零为整 ............................... 113
7.1.3 典型操作系统的磁盘与文件管理 ....................................... 115
7.2 磁盘管理与文件存取仿真项目总体设计 ...................................... 116
7.2.1 项目总体思路 ....................... 117
7.2.2 项目主要函数调用关系图与项目输出界面演进图 ........... 118
7.2.3 项目开发环境说明 ............... 119
7.3 数据的变化与基本控制:X1 数据结构 ................................ 119
7.4 屏幕元素及其显示输出:X2 可视化输出 ............................ 121
7.5 算法设计与函数实现:X3 基本算法 ................................ 125
7.6 屏幕元素事件识别与控制:X4 人机交互 ................................ 127
7.7 算法优化与系统功能拓展:X5 完整系统 ................................ 130

第 8 章 递归思维与分形图案绘制 ...... 133
8.1 递归思维与分形图案 .................. 133
8.1.1 递归与迭代 ........................... 133
8.1.2 分形:数学之美 ................... 135
8.1.3 用 Y 形绘制分形树的递归程序的构造 ........................... 135
8.2 分形图案绘制项目总体设计 ...... 136
8.2.1 项目总体思路 ....................... 137
8.2.2 主页面相关引用 ................... 137
8.2.3 项目主要组件及类的调用关系 ....................................... 138
8.2.4 项目开发环境说明 ............... 138
8.3 数据的变化与基本控制:X1 数据结构 ................................ 138
8.4 屏幕元素及其显示输出:X2 可视化输出 ............................ 140
8.5 算法设计与函数实现:X3 基本算法 ................................ 141
8.6 屏幕元素事件识别与控制:X4 人机交互 ................................ 143
8.7 算法优化与系统功能拓展:X5 完整系统 ................................ 145

第 9 章 表达式解析思维与二十四点游戏 .......................................... 149
9.1 表达式解析与语法树 .................. 149
9.1.1 表达式及其解析与执行 ....... 149
9.1.2 树 ........................................... 149
9.1.3 将表达式解析结果表达为语法树 ................................... 151
9.2 二十四点游戏项目总体设计 ...... 153
9.2.1 项目总体思路 ....................... 154
9.2.2 项目主要函数调用关系图与项目输出界面演进图 ........... 155
9.2.3 项目开发环境说明 ............... 156
9.3 数据的变化与基本控制:X1 数据结构 ................................ 156
9.4 屏幕元素及其显示输出:X2 可视化输出 ............................ 159
9.5 算法设计与函数实现:X3 基本算法 ................................ 161
9.6 屏幕元素事件识别与控制:X4 人机交互 ................................ 163
9.7 算法优化与系统功能拓展:X5 完整系统 ................................ 165

第 10 章 回溯思维与数独程序 ............ 167
10.1 精确求解典型思维 — 回溯 .... 167
10.1.1 回溯算法 ............................. 167
10.1.2 回溯的递归实现 ................. 168
10.2 数独程序项目总体设计 ............ 170
10.2.1 项目总体思路 ..................... 170
10.2.2 数据结构设计 ..................... 170
10.2.3 项目主要函数调用关系图与项目输出界面演进图 ..... 171
10.2.4 项目开发环境说明 ............. 172
10.3 数据的变化与基本控制:X1 数据结构 .............................. 172
10.4 屏幕元素及其显示输出:X2 可视化输出 .......................... 174
10.5 算法设计与函数实现:X3 基本算法 .............................. 176
10.6 屏幕元素事件识别与控制:X4 人机交互 .............................. 178
10.7 算法优化与系统功能拓展:X5 完整系统 .............................. 182

第 11 章 非精确求解思维与旅行商问题求解仿真 ........................ 184
11.1 最优化问题 ................................ 184
11.1.1 旅行商问题 ......................... 184
11.1.2 算法的时间复杂性与问题的计算复杂性 ......................... 185
11.1.3 问题的遍历算法求解与贪心算法求解 ............................. 185
11.2 旅行商问题求解仿真项目总体设计 ............................................ 187
11.2.1 项目总体思路 ..................... 188
11.2.2 项目案例代码结构 ............. 188
11.2.3 项目主要函数调用关系图与项目输出界面演进图 ......... 189
11.2.4 项目开发环境说明 ............. 191
11.3 数据的变化与基本控制:X1 数据结构 .............................. 191
11.4 屏幕元素及其显示输出:X2 可视化输出 .......................... 193
11.5 算法设计与函数实现:X3 基本算法 .............................. 195
11.6 屏幕元素事件识别与控制:X4 人机交互 .............................. 199
11.7 算法优化与系统功能拓展:X5 完整系统 .............................. 201
11.7.1 关于高德开放平台的介绍 ..................................... 201
11.7.2 代码实现 ............................. 201

第 12 章 博弈思维与五子棋游戏 ........ 206
12.1 博弈思维 .................................... 206
12.1.1 什么是博弈思维 ................. 206
12.1.2 五子棋游戏之博弈局面评估 ..................................... 207
12.1.3 五子棋游戏之博弈落子决策:蒙特卡洛树搜索 ................. 209
12.2 五子棋游戏项目总体设计........ 210
12.2.1 项目总体思路 .................... 210
12.2.2 项目案例代码结构 ............. 211
12.2.3 项目主要函数调用关系图与项目输出界面演进图 ......... 211
12.3 数据的变化与基本控制:X1 数据结构 ............................. 213
12.4 屏幕元素及其显示输出:X2 可视化输出 ......................... 213
12.5 算法设计与函数实现:X3 基本算法 ............................. 215
12.6 屏幕元素事件识别与控制:X4 人机交互 ............................. 222
12.7 算法优化与系统功能拓展:X5 完整系统 ............................. 223

第 13 章 网络化思维及网络构建与连通仿真 ............................... 232
13.1 网络化思维 ............................... 232
13.1.1 计算机网络与网络拓扑 ..... 232
13.1.2 局域网与广域网 ................ 233
13.1.3 计算机网络设备 ................ 234
13.1.4 网络分层:五层网络结构 .................................... 235
13.2 网络构建与连通仿真项目总体设计 ........................................... 237
13.2.1 项目总体思路 .................... 237
13.2.2 主页面相关引用 ................ 238
13.2.3 项目主要函数调用关系图与项目输出界面演进图 ........ 238
13.2.4 项目开发环境说明 ............ 239
13.2.5 操作逻辑说明 .................... 239
13.3 数据的变化与基本控制:X1 数据结构 ............................. 239
13.4 屏幕元素及其显示输出:X2 可视化输出 ......................... 243
13.5 算法设计与函数实现:X3 基本算法 ............................. 246
13.6 屏幕元素事件识别与控制:X4 人机交互 ............................. 248
13.7 算法优化与系统功能拓展:X5 完整系统 ............................. 251

第 14 章 网络协议与数据传输过程仿真 ........................................ 253
14.1 网络分层协议的概念与作用 .... 253
14.1.1 因特网与 TCP/IP 协议族 ................................. 253
14.1.2 应用层协议 ......................... 254
14.1.3 传输层协议 ......................... 255
14.1.4 网络层协议 ......................... 256
14.1.5 数据链路层协议 ................. 256
14.1.6 数据封包、解包与传输过程示例 ..................................... 257
14.2 网络协议仿真项目总体设计 .... 258
14.2.1 项目总体思路 ..................... 259
14.2.2 主页面相关引用 ................. 259
14.2.3 项目主要函数调用关系图与项目输出界面演进图 ......... 259
14.2.4 项目开发环境说明 ............. 261
14.2.5 操作逻辑说明 ..................... 261
14.3 数据的变化与基本控制:X1 数据结构 .............................. 261
14.4 屏幕元素及其显示输出:X2 可视化输出 .......................... 264
14.5 算法设计与函数实现:X3 基本算法 .............................. 264
14.6 屏幕元素事件识别与控制:X4 人机交互 .............................. 271
14.7 算法优化与系统功能拓展:X5 完整系统 .............................. 276

第 15 章 关系数据库与数据库系统管理程序 ................................ 278
15.1 初识关系数据库系统 ................ 278
15.1.1 数据库与关系数据库 ......... 278
15.1.2 SQL ..................................... 278
15.1.3 嵌入式 SQL ........................ 279
15.2 关系数据库系统项目总体设计 ............................................ 281
15.2.1 项目总体思路 ..................... 281
15.2.2 项目主要函数调用关系图与项目输出界面演进图 ......... 282
15.2.3 项目开发环境说明 ............. 283
15.3 数据的变化与基本控制:X1 数据结构 .............................. 283
15.4 屏幕元素及其显示输出:X2 可视化输出 .......................... 286
15.5 算法设计与函数实现:X3 基本算法 .............................. 289
15.6 屏幕元素事件识别与控制:X4 人机交互 .............................. 291
15.7 算法优化与系统功能拓展:X5 完整系统 .............................. 293

第 16 章 机器学习思维、卷积神经网络建模与训练 ............................ 298
16.1 机器学习与卷积神经网络 ........ 298
16.1.1 机器学习 ............................. 298
16.1.2 卷积 ..................................... 298
16.1.3 卷积神经网络 ..................... 300
16.1.4 卷积神经网络的训练 ......... 301
16.1.5 深度神经网络 ..................... 301
16.2 卷积神经网络建模与训练项目总体设计 .................................... 302
16.2.1 项目总体思路 ..................... 302
16.2.2 项目涉及的相关类库资源 ..................................... 303
16.2.3 项目主要函数调用关系图与项目输出界面演进图 ......... 303
16.2.4 项目开发环境说明 ............. 304
16.3 数据的变化与基本控制:X1 数据结构 .............................. 304
16.4 屏幕元素及其显示输出:X2 可视化输出 .......................... 306
16.5 算法设计与函数实现:X3 基本算法 .............................. 307
16.6 屏幕元素事件识别与控制:X4 人机交互 .............................. 310
16.7 算法优化与系统功能拓展:X5 完整系统 .............................. 314

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

战德臣
哈尔滨工业大学二级教授/博士生导师、计算学部教学委员会主任、学校MOOC推进工作办公室主任、国家教学名师;黑龙江省普通高等学校在线教学指导委员会副主任兼秘书长;教育部高等学校大学计算机课程教学指导委员会委员。获国家级教学成果一等奖2项(2018届序2和2022届序1),首届国家教材建设奖优秀教材二等奖,省级教学成果特等奖4项、一等奖4项,省级优秀教材奖一等奖1项,高校计算机专业优秀教师奖励计划获奖者;获省级科技进步一等奖1项、二等奖3项。2门国家精品在线开放课程暨首批国家级一流课程负责人。受教指委、慕课联盟及250余所大学邀请,作特邀报告或专场报告700余场。主编的《计算机科学导论——计算+、互联网+与人工智能+》和《计算机科学导论》——计算思维程序实践》为计算机领域“101计划”核心教材。

李蒙
博士,教授,2016年6月毕业于蒙特利尔大学电气工程系,主要从事国产开源操作系统、多机器人协同、嵌入式人工智能算法等方面的研究。作为项目负责人,主持的教育部-华为产学合作协同育人项目获评华为结题优秀等级。参与《开源操作系统测试规范》团体标准撰写,荣获2024年广东省计算机学会教育教学成果奖(高等教育)一等奖。

购买本书用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部