计算机科学导论:基于机器人的实践方法 / 重点大学计算机教材
¥35.00定价
作者: 陈以农
出版时间:2013-08
出版社:机械工业出版社
- 机械工业出版社
- 9787111435884
- 1版
- 182961
- 45156565-9
- 压膜装
- 16开
- 2013-08
- 500
- 196
- 工学
- 计算机科学与技术
- TP3
- 计算机
- 本科
内容简介
陈以农主编的《计算机科学导论(基于机器人的实践方法)》是为大学本科计算机科学和计算机工程专业编写的入门教材,也适用于机械、电气、电子、测控,自动化等专业。教材以培养学生对工程专业的兴趣为主导,培养问题解决能力为目标,内容丰富有趣,从具体到抽象,简单易学,却具有挑战。与其他的计算机科学和工程导论教材不同,本教材以动手实验为中心向概念拓展。实验的设计以理论为基础,以系统化的工程项目开发过程为指导,以人性化团队合作为框架解决每一个工程问题。《计算机科学导论(基于机器人的实践方法)》以最新图形化编程语言为工具,机器人实验、手机应用和Web应用的开发既有趣、又实用,从浅到深,步步为营,每周一章,从问题到答案,概念清晰,实验步骤详尽。本教材使用的所有开发环境和教辅资源均可免费在教学中使用。本课程内容已经在多所大学教授多年。
目录
序
作者简介
前言
教学建议
第1章 团队建设和职业发展机会/1
1.1 团队建设活动/1
1.1.1 合作模式/1
1.1.2 团队组建练习/1
1.2 计算机科学和工程的职业发展机会/1
1.2.1 相关的计算机课程体系/2
1.2.2 国内IT行业就业形势分析/2
1.2.3 国外计算机相关行业职位及就业形势分析/5
1.3 职业机会练习/7
1.3.1 工程方向的职业机会/7
1.3.2 软件工程方向的职业机会/8
1.3.3 计算机和数学领域的职业机会/8
1.3.4 美国最好的职业/8
第2章 机器人开发环境和VPL入门/9
2.1 预备知识/9
2.2 实验前测验/14
2.3 实验任务/16
2.3.1 显示“Hello World”/16
2.3.2 最喜爱的电影/18
2.3.3 字符串长度/20
2.3.4 使用Switch块求字符串长度的程序/22
2.3.5 创建一个While循环块/23
2.3.6 创建活动模块/26
2.3.7 Drive-By-Wire仿真/28
2.3.8 改进驾驶体验/30
第3章 计算机组成与逻辑设计/32
3.1 预备知识/32
3.2 实验前测验/37
3.3 实验任务/38
第4章 计算机系统和设计/42
4.1 预备知识/42
4.1.1 计算机系统分类/42
4.1.2 计算机的基本组成形式/43
4.1.3 计算机工作的基本原理/44
4.1.4 Intel通用计算机架构/45
4.1.5 多样的并行处理技术/47
4.1.6 Tick-Tock/48
4.1.7 CPU微架构/48
4.2 实验前测验/49
4.3 实验任务/50
4.3.1 构建2-1多路选择器 /50
4.3.2 构建4-1多路选择器/53
4.3.3 构建一位ALU/54
4.3.4 测试一位ALU/55
4.3.5 使用Counter Service产生自动测试用例(选作题)/55
第5章 遥控机器人的设计和触摸传感器/56
5.1 预备知识/56
5.1.1 传感器和执行器/56
5.1.2 NXT智能块/57
5.1.3 蓝牙连接/58
5.1.4 VPL程序与机器人之间的对应关系/59
5.2 实验前测验/59
5.3 实验任务/60
5.3.1 组装机器人/60
5.3.2 建立机器人与计算机之间的通信/61
5.3.3 用Drive-By-Wire控制机器人/61
5.3.4 触摸传感器/63
5.3.5 协调触摸传感器和马达/64
第6章 机器人执行器的设计与构造/66
6.1 机器人设计项目的目标与任务/66
6.1.1 问题描述和需求/66
6.1.2 文档/67
6.1.3 任务/67
6.1.4 评测和打分/67
6.2 实验前测验/68
6.3 实验任务/69
6.3.1 从正式的会议规范开始/69
6.3.2 头脑风暴得出解决方案/69
6.3.3 决定行动方案/69
6.3.4 实现解决方案/69
6.3.5 对机器人的手臂编程/69
6.3.6 含执行器控制的Drive-By-Wire/71
6.3.7 测试和评价:用测试数据完成KTDA表/72
6.3.8 提交会议纪要/72
第7章 事件驱动编程与传感器的编程/73
7.1 预备知识/73
7.1.1 引言/73
7.1.2 事件驱动编程 /73
7.1.3 传感器/75
7.1.4 相扑机器人的算法/76
7.1.5 穿越迷宫的算法/77
7.1.6 VPL代码分析和个案研究/78
7.2 实验前测验/79
7.3 实验任务:传感器的编程与相扑机器人/80
7.3.1 正式会议和会议纪要/80
7.3.2 使用触摸传感器来检测和躲避障碍物/80
7.3.3 使用光传感器来检测和躲避障碍物/81
7.3.4 使用光传感器实现基本相扑算法/82
7.3.5 使用光传感器和触摸传感器实现相扑算法/83
7.3.6 使用光传感器、触摸传感器和超声波传感器实现相扑算法/83
7.3.7 模拟的传感器和迷宫算法1:看侧前方的算法/83
7.3.8 模拟的传感器和迷宫算法2:使用模块化设计/85
7.3.9 在程序里增加触摸传感器(选做练习)/88
第8章 用有限状态机解决迷宫问题/90
8.1 预备知识/90
8.1.1 有限状态机/90
8.1.2 Right-Then-Left算法的实现/93
8.2 实验前测验/98
8.3 实验任务/98
8.3.1 在VPL中实现基本的自动售货机/98
8.3.2 在仿真的迷宫中实现一个仿真机器人/99
8.3.3 使用超声波传感器来检测和避开障碍物/99
8.3.4 从虚拟现实到物理环境/100
8.3.5 改进算法性能/101
8.3.6 作业提交的要求/102
第9章 优化自治迷宫算法/103
9.1 迷宫算法的评估/103
9.2 实验前测验/105
9.3 实验任务/106
9.3.1 讨论和会议纪要/106
9.3.2 使用2个距离值的自治编程/106
9.3.3 改进算法性能/106
9.3.4 使用距离传感器和触摸传感器实现沿墙走的算法/106
9.3.5 使用超声波传感器的相扑机器人/107
第10章 机器人现场测试和机器人比赛准备/108
10.1 准备工作/108
10.2 实验任务/108
10.2.1 讨论和会议纪要/108
10.2.2 寻宝比赛/108
10.2.3 迷宫导航比赛的实践/108
10.2.4 相扑机器人比赛的实践/108
10.2.5 完成会议纪要/109
10.2.6 使用游戏操作杆远程控制寻宝比赛/109
第11章 机器人比赛/114
11.1 寻宝/114
11.2 自治迷宫遍历/114
11.3 相扑机器人/115
11.4 其他类型的比赛和应用/115
第12章 Android手机App的开发/116
12.1 预备知识/116
12.2 实验前测验/117
12.3 Android手机编程与实验/118
12.3.1 Hello World/118
12.3.2 Magic 8 Ball/119
12.3.3 Paint Pic/120
12.3.4 摩尔泥游戏/120
12.3.5 股票报价/120
12.3.6 股票走势/120
12.3.7 记忆游戏/123
12.3.8 定义你的新App/123
第13章 Web应用的开发/124
13.1 预备知识/124
13.1.1 编程的基本概念/124
13.1.2 面向服务的架构的基本概念/128
13.1.3 编程环境Visual Studio/129
13.2 实验内容/131
13.2.1 开始使用Visual Studio开发环境和C#/131
13.2.2 创建你自己的Web浏览器/134
13.2.3 创建一个Web应用程序/135
13.2.4 创建一个在线自动售货机/139
13.2.5 使用加密/解密服务建立一个安全应用程序/142
第14章 移动计算/146
14.1 预备知识/146
14.2 Windows手机编程与实验/147
14.2.1 练习:创建一个Windows Phone Application项目/147
14.2.2 设计用户界面/149
14.2.3 单步调试执行/151
14.2.4 手机旋转/152
14.2.5 手机动画程序/153
14.2.6 ml的代码/157
14.2.7 Windows Phone猜数游戏/159
14.2.8 面向服务的计算和Windows
作者简介
前言
教学建议
第1章 团队建设和职业发展机会/1
1.1 团队建设活动/1
1.1.1 合作模式/1
1.1.2 团队组建练习/1
1.2 计算机科学和工程的职业发展机会/1
1.2.1 相关的计算机课程体系/2
1.2.2 国内IT行业就业形势分析/2
1.2.3 国外计算机相关行业职位及就业形势分析/5
1.3 职业机会练习/7
1.3.1 工程方向的职业机会/7
1.3.2 软件工程方向的职业机会/8
1.3.3 计算机和数学领域的职业机会/8
1.3.4 美国最好的职业/8
第2章 机器人开发环境和VPL入门/9
2.1 预备知识/9
2.2 实验前测验/14
2.3 实验任务/16
2.3.1 显示“Hello World”/16
2.3.2 最喜爱的电影/18
2.3.3 字符串长度/20
2.3.4 使用Switch块求字符串长度的程序/22
2.3.5 创建一个While循环块/23
2.3.6 创建活动模块/26
2.3.7 Drive-By-Wire仿真/28
2.3.8 改进驾驶体验/30
第3章 计算机组成与逻辑设计/32
3.1 预备知识/32
3.2 实验前测验/37
3.3 实验任务/38
第4章 计算机系统和设计/42
4.1 预备知识/42
4.1.1 计算机系统分类/42
4.1.2 计算机的基本组成形式/43
4.1.3 计算机工作的基本原理/44
4.1.4 Intel通用计算机架构/45
4.1.5 多样的并行处理技术/47
4.1.6 Tick-Tock/48
4.1.7 CPU微架构/48
4.2 实验前测验/49
4.3 实验任务/50
4.3.1 构建2-1多路选择器 /50
4.3.2 构建4-1多路选择器/53
4.3.3 构建一位ALU/54
4.3.4 测试一位ALU/55
4.3.5 使用Counter Service产生自动测试用例(选作题)/55
第5章 遥控机器人的设计和触摸传感器/56
5.1 预备知识/56
5.1.1 传感器和执行器/56
5.1.2 NXT智能块/57
5.1.3 蓝牙连接/58
5.1.4 VPL程序与机器人之间的对应关系/59
5.2 实验前测验/59
5.3 实验任务/60
5.3.1 组装机器人/60
5.3.2 建立机器人与计算机之间的通信/61
5.3.3 用Drive-By-Wire控制机器人/61
5.3.4 触摸传感器/63
5.3.5 协调触摸传感器和马达/64
第6章 机器人执行器的设计与构造/66
6.1 机器人设计项目的目标与任务/66
6.1.1 问题描述和需求/66
6.1.2 文档/67
6.1.3 任务/67
6.1.4 评测和打分/67
6.2 实验前测验/68
6.3 实验任务/69
6.3.1 从正式的会议规范开始/69
6.3.2 头脑风暴得出解决方案/69
6.3.3 决定行动方案/69
6.3.4 实现解决方案/69
6.3.5 对机器人的手臂编程/69
6.3.6 含执行器控制的Drive-By-Wire/71
6.3.7 测试和评价:用测试数据完成KTDA表/72
6.3.8 提交会议纪要/72
第7章 事件驱动编程与传感器的编程/73
7.1 预备知识/73
7.1.1 引言/73
7.1.2 事件驱动编程 /73
7.1.3 传感器/75
7.1.4 相扑机器人的算法/76
7.1.5 穿越迷宫的算法/77
7.1.6 VPL代码分析和个案研究/78
7.2 实验前测验/79
7.3 实验任务:传感器的编程与相扑机器人/80
7.3.1 正式会议和会议纪要/80
7.3.2 使用触摸传感器来检测和躲避障碍物/80
7.3.3 使用光传感器来检测和躲避障碍物/81
7.3.4 使用光传感器实现基本相扑算法/82
7.3.5 使用光传感器和触摸传感器实现相扑算法/83
7.3.6 使用光传感器、触摸传感器和超声波传感器实现相扑算法/83
7.3.7 模拟的传感器和迷宫算法1:看侧前方的算法/83
7.3.8 模拟的传感器和迷宫算法2:使用模块化设计/85
7.3.9 在程序里增加触摸传感器(选做练习)/88
第8章 用有限状态机解决迷宫问题/90
8.1 预备知识/90
8.1.1 有限状态机/90
8.1.2 Right-Then-Left算法的实现/93
8.2 实验前测验/98
8.3 实验任务/98
8.3.1 在VPL中实现基本的自动售货机/98
8.3.2 在仿真的迷宫中实现一个仿真机器人/99
8.3.3 使用超声波传感器来检测和避开障碍物/99
8.3.4 从虚拟现实到物理环境/100
8.3.5 改进算法性能/101
8.3.6 作业提交的要求/102
第9章 优化自治迷宫算法/103
9.1 迷宫算法的评估/103
9.2 实验前测验/105
9.3 实验任务/106
9.3.1 讨论和会议纪要/106
9.3.2 使用2个距离值的自治编程/106
9.3.3 改进算法性能/106
9.3.4 使用距离传感器和触摸传感器实现沿墙走的算法/106
9.3.5 使用超声波传感器的相扑机器人/107
第10章 机器人现场测试和机器人比赛准备/108
10.1 准备工作/108
10.2 实验任务/108
10.2.1 讨论和会议纪要/108
10.2.2 寻宝比赛/108
10.2.3 迷宫导航比赛的实践/108
10.2.4 相扑机器人比赛的实践/108
10.2.5 完成会议纪要/109
10.2.6 使用游戏操作杆远程控制寻宝比赛/109
第11章 机器人比赛/114
11.1 寻宝/114
11.2 自治迷宫遍历/114
11.3 相扑机器人/115
11.4 其他类型的比赛和应用/115
第12章 Android手机App的开发/116
12.1 预备知识/116
12.2 实验前测验/117
12.3 Android手机编程与实验/118
12.3.1 Hello World/118
12.3.2 Magic 8 Ball/119
12.3.3 Paint Pic/120
12.3.4 摩尔泥游戏/120
12.3.5 股票报价/120
12.3.6 股票走势/120
12.3.7 记忆游戏/123
12.3.8 定义你的新App/123
第13章 Web应用的开发/124
13.1 预备知识/124
13.1.1 编程的基本概念/124
13.1.2 面向服务的架构的基本概念/128
13.1.3 编程环境Visual Studio/129
13.2 实验内容/131
13.2.1 开始使用Visual Studio开发环境和C#/131
13.2.2 创建你自己的Web浏览器/134
13.2.3 创建一个Web应用程序/135
13.2.4 创建一个在线自动售货机/139
13.2.5 使用加密/解密服务建立一个安全应用程序/142
第14章 移动计算/146
14.1 预备知识/146
14.2 Windows手机编程与实验/147
14.2.1 练习:创建一个Windows Phone Application项目/147
14.2.2 设计用户界面/149
14.2.3 单步调试执行/151
14.2.4 手机旋转/152
14.2.5 手机动画程序/153
14.2.6 ml的代码/157
14.2.7 Windows Phone猜数游戏/159
14.2.8 面向服务的计算和Windows