登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書

『簡體書』计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法 第2版

書城自編碼: 3040625
分類:簡體書→大陸圖書→計算機/網絡程序設計
作者: 陈以农 陈文智 韩德强
國際書號(ISBN): 9787111574446
出版社: 机械工业出版社
出版日期: 2017-08-01
版次: 2 印次: 1
頁數/字數: 217/202000
書度/開本: 16开 釘裝: 平装

售價:HK$ 56.6

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
听闻远方有你2
《 听闻远方有你2 》

售價:HK$ 51.4
牛津分配正义手册
《 牛津分配正义手册 》

售價:HK$ 432.0
全域增长:从战略制定到战术执行
《 全域增长:从战略制定到战术执行 》

售價:HK$ 141.6
澎湖湾的荷兰船:十七世纪荷兰人怎么来到台湾
《 澎湖湾的荷兰船:十七世纪荷兰人怎么来到台湾 》

售價:HK$ 79.2
银元时代生活史
《 银元时代生活史 》

售價:HK$ 105.6
大唐兴衰三百年3:从女主当国到开元盛世
《 大唐兴衰三百年3:从女主当国到开元盛世 》

售價:HK$ 69.6
直击核心:通向卓越教练之路的革命性方法
《 直击核心:通向卓越教练之路的革命性方法 》

售價:HK$ 117.6
高性能储能器件电解质:设计、制备与应用
《 高性能储能器件电解质:设计、制备与应用 》

售價:HK$ 105.6

 

內容簡介:
本书以培养学生对计算机科学与工程专业的兴趣为宗旨,以培养问题解决能力为目标,从具体到抽象,将计算机科学的基本原理和动手实践有机结合,通过图形化的编程语言、机器人实验、手机应用和Web开发等工具及案例,使学生了解基本的程序设计、计算机原理、软件工程等计算机知识,并把整门课组织成了一个完整的工程项目。
關於作者:
陈以农,亚利桑那州立大学计算机系高级讲师。机器人程序主任、软件实验室科学家。编写过多本教材。
目錄
目录
推荐序
前 言
教学建议
第1章 职业发展机会和团队建设1
1.1计算机科学和工程的课程体系及职业发展1
1.1.1计算机科学和工程的课程体系1
1.1.2 计算机就业形势分析2
1.1.3 计算机不同领域的职业机会5
1.2 团队建设6
1.2.1 合作模式6
1.2.2 团队组建6
第2章机器人开发环境和VIPLE入门7
2.1 工作流和可视化编程7
2.2 VIPLE IoT机器人开发环境12
2.2.1 VIPLE的工程设计过程12
2.2.2 VIPLE的活动和服务13
2.3 VIPLE的使用18
2.3.1创建程序显示“Hello World”19
2.3.2 最喜欢的电影20
2.3.3使用或并和If活动创建条件循环21
2.3.4 使用While循环24
2.3.5 使用全局变量创建一个活动25
2.3.6 创建Counter活动27
2.3.7 建立一个2-1多路选择器28
第3章 逻辑设计与计算机组成31
3.1仿真——设计过程中的关键步骤31
3.2 计算机系统32
3.2.1 计算机系统的类型32
3.2.2 计算机系统的组成33
3.3在VIPLE中创建计算机系统部件39
3.3.1 创建逻辑与门39
3.3.2 创建一个1位全加器41
3.3.3 创建一个2-1多路选择器42
3.3.4 创建一个4-1多路选择器42
3.3.5 创建一个1位ALU43
3.3.6 自动测试44
第4章事件驱动编程和有限状态机46
4.1 引言46
4.2 事件驱动编程46
4.3 有限状态机48
4.4用ASU VIPLE来解决事件驱动问题51
4.4.1 创建一个事件驱动计数器52
4.4.2 实现一个自动售货机52
4.4.3 用事件来实现自动售货机52
4.4.4 车库门控制器53
4.4.5 奇偶校验54
4.4.6 并行计算55
4.4.7 线控的模拟55
第5章模拟环境下的机器人以及迷宫导航58
5.1 VIPLE机器服务58
5.2 VIPLE支持的机器人平台60
5.3 穿越迷宫的算法62
5.4使用有限状态机的迷宫导航算法63
5.5在VIPLE模拟器中实现自治迷宫导航算法66
5.5.1 理解迷宫算法66
5.5.2 学习沿墙算法67
5.5.3编程Web机器人使之绕右墙走67
5.5.4使用两距离局部最优算法遍历迷宫68
5.5.5理解Unity模拟器和VIPLE程序68
5.5.6 实现VIPLE框图69
5.5.7实现两距离局部最优算法的活动69
5.5.8两距离局部最优算法的Main框图70
5.5.9 Web 2D模拟器71
5.5.10配置VIPLE以使用Web模拟器72
5.5.11在Web模拟器中实现沿墙算法的Main框图73
5.5.12在Web模拟器中实现沿墙算法所涉及的活动73
5.5.13在Web模拟器中实现两距离局部最优算法的Main框图75
5.5.14在Web 2D模拟器中实现两距离局部最优算法所涉及的活动76
5.5.15 Web 3D模拟器76
第6章 机器人硬件组成77
6.1 VIPLE计算与通信模型77
6.2 机器人硬件总体结构79
6.3 主控板79
6.3.1 Intel Galileo开发板80
6.3.2 Intel Edison模块81
6.3.3 ArduinoGenuino 10182
6.3.4 TI CC3200 LaunchPad83
6.3.5 专用机器人主控模块84
6.4 传感器模块84
6.4.1 超声波传感器85
6.4.2 红外传感器85
6.4.3 光传感器颜色传感器86
6.5 舵机87
6.6 组装伽利略机器人90
6.7爱迪生机器人硬件和软件的安装97
6.7.1 爱迪生机器人的硬件安装97
6.7.2 爱迪生机器人的软件安装101
第7章 Intel机器人编程109
7.1 采用沿墙算法的迷宫导航109
7.1.1 沿墙迷宫导航(Main框图的第一部分)109
7.1.2 沿墙迷宫导航(Main框图的第二部分)110
7.1.3 Init活动110
7.1.4 Left1和Right1活动110
7.1.5 Right90和Left90活动111
7.1.6 Backward和Forward活动111
7.1.7 ResetState活动112
7.2 采用局部最优算法的迷宫导航112
7.2.1 用两距离算法解决迷宫问题112
7.2.2 在VIPLE里控制Intel机器人114
7.2.3 在VIPLE程序里实现活动114
7.2.4 使用一个简化的有限状态机115
7.3 使用事件驱动编程的迷宫导航115
7.3.1 使用事件驱动编程的Left90活动116
7.3.2 使用事件驱动编程的Left1和Backward活动116
7.3.3 基于事件驱动活动的Main框图116
7.4 使用光传感器实现基本相扑算法117
第8章 乐高EV3机器人编程118
8.1 准备知识118
8.1.1 从EV3 Brick得到传感器读数118
8.1.2 蓝牙连接118
8.1.3 通过程序得到传感器读数119
8.1.4 通过蓝牙或者Wi-Fi将机器人连接到VIPLE119
8.2 远程控制EV3机器人121
8.2.1 在VIPLE中通过连线驱动机器人121
8.2.2 改进驱动体验122
8.3 使用VIPLE的循迹和相扑机器人程序122
8.3.1 安装一个颜色传感器122
8.3.2 循迹122
8.3.3 使用光传感器实现基本相扑算法123
8.3.4 使用光传感器和接触传感器的相扑算法124
8.4 使用VIPLE的EV3沿墙程序124
8.4.1 沿墙迷宫导航(Main框图)124
8.4.2 编写Init活动125
8.4.3 编写Left1活动126
8.4.4 编写Right90活动126
8.4.5 编写Backward活动126
8.4.6 编写ResetState活动126
8.4.7 编写Forward活动127
8.4.8 在沿墙算法里配置传感器127
8.5 使用事件驱动编程的沿墙算法127
8.5.1 使用事件驱动编程的Left90活动128
8.5.2 基于事件驱动活动的Main框图128
8.6 采用局部最优试探算法的迷宫导航129
8.6.1 实现局部最优算法的Main框图129
8.6.2 实现SensorRight90130
第9章机器人现场测试和机器人比赛准备131
9.1 准备工作131
9.2 实验作业131
9.2.1 讨论和会议纪要131
9.2.2 寻宝比赛131
9.2.3 迷宫导航比赛的实践132
9.2.4 相扑机器人比赛的实践132
9.2.5 完成会议纪要132
第10章 机器人比赛133
10.1 寻宝133
10.2 自治迷宫遍历133
10.3 相扑机器人134
第11章服务计算与Web应用的开发135
11.1 并行处理技术135
11.2 文本语言编程的基本概念136
11.3 面向服务的架构的基本概念140
11.4 Visual Studio编程环境144
11.5 实验内容145
11.5.1VIPLE中的并行和面向服务计算145
11.5.2开始使用Visual Studio开发环境和C#进行编程146
11.5.3 创建你自己的Web浏览器150
11.5.4 创建一个Web应用程序151
11.5.5创建一个在线自动售货机154
11.5.6使用加密解密服务建立一个安全的应用程序157
第12章Android手机App的开发161
12.1 预备知识161
12.2 Android手机编程162
12.2.1 Hello World163
12.2.2 Magic 8 Ball164
12.2.3 Paint Pic165
12.2.4 摩尔泥游戏165
12.2.5 股票报价165
12.2.6 股票走势165
12.2.7 射盘子游戏167
12.2.8 射击多个盘子170
12.2.9 打砖块游戏172
12.2.10 使用App Inventor编程NXT Robot177
12.2.11 猜数游戏181
12.2.12 简单的侧滑板游戏183
12.2.13 记忆游戏186
第13章 演讲文稿设计197
13.1 演讲前的准备197
13.1.1 组织演讲稿的技术内容197
13.1.2 演示幻灯片设计198
13.1.3用Excel求解模型和创建图表199
13.1.4演示幻灯片的评价和评分标准200
13.2 演讲实践前的测验200
13.3 演讲内容设计与实践201
13.3.1 截屏和图片的编辑201
13.3.2 插入视频201
13.3.3使用Excel求解模型和创建图表202
13.3.4 复制和特殊粘贴203
13.3.5正式会议中的会议纪要和幻灯片设计203
13.3.6 创建PPT幻灯片204
13.3.7 幻灯片制作的分工204
第14章 演讲和演讲评分205
附录 机器人课程设计项目和比赛规则206
內容試閱
前言计算机工业一直引导着世界工业的发展,也是其他行业前进的动力源。计算机科学和计算机工程专业是计算机工业以及相关产业发展的源泉,也一直是全世界最有价值的专业之一。然而,2000 年的网络泡沫使计算机工业受到重创,也使计算机科学及相关专业的学位价值第一次受到质疑。计算机科学和计算机工程专业的生源也受到挑战,甚至出现了一场世界范围内的计算机科学生源危机。然而,2000年的网络泡沫的影响是短暂的,计算机工业很快恢复并创造出更高的价值。例如,亚马逊的市值在2000 年从其峰值107 美元 股一度跌到7美元 股。今天,亚马逊的市值已经远远超过2000 年的107 美元 股的峰值,并发展成为一家云计算服务的主要提供商。Google更是从一家网络公司发展成为世界最大的公司之一,其业务包含互联网、云计算、移动计算、智能手表、汽车等行业。
然而,计算机工业的恢复并没有消除计算机专业的生源危机。以美国亚利桑那州立大学(ASU)为例。2002 年前,ASU 每年有200 名新生进入计算机科学专业。到2004 年,就只有100 名新生入学。美国其他大学的情况也与之类似。2008 年,美国计算机协会(ACM)发布的计算机科学教学大纲报告(http:www.acm.org educationcurriculaComputerScience2008.pdf)正式定义2000 年之后计算机科学进入生源危机,必须采取有效措施来解决这一危机。ACM 在长达108 页的报告中用了一整章来阐述这一危机的解决方案。
ACM 的报告指出,网络泡沫的影响只是计算机科学专业进入生源危机的导火索,致使计算机科学生源持续危机的真正原因是陈旧的教学方法和内容。计算机科学专业课程,特别是计算机入门课程的教学方法和内容必须使学生感兴趣,想挑战,还要能激发学生的创造性。ACM 报告建议从三方面来改进教学方法和内容。
第一,应用领域。计算机科学的教学内容必须更紧密地与应用相结合。
第二,课程设置。计算机科学的教学必须增加学生感兴趣的课程,例如,游戏编程、多媒体计算、机器人、移动计算。
第三,教学方法。教学过程必须生动有趣,以激发学生的学习兴趣,听课的同时必须动手实践,内容有挑战性但必须基于学生的接受能力,教学必须与就业机会相结合。
在ACM 大纲的指导下,很多大学开始在计算机的课程中增加学生感兴趣的内容。机器人的引入最为广泛。
为什么基于机器人的计算机科学入门课程没有在10 年、20 年或30 年前发生呢?有多方面的原因:
第一,计算机科学专业的生源一直很好,计算机教育主要注重内容和系统化,没有太多考虑学生的兴趣。
第二,机器人硬件价格高,无法用于大班课程。
第三,机器人涉及硬件和软件,编程复杂,不宜作为入门课程的内容。
近10 年来,这几方面都发生了根本的变化。计算机科学专业的生源在2000 年后受到挑战。机器人硬件价格大幅下降,特别是面向服务的软件技术、云计算和可视化编程技术使机器人的编程应用在大学一年级甚至高中教学中成为可能。计算机教育专家和计算机工程师携手合作,开发了多种可视化的教育编程平台,使没有计算机知识和编程基础的高中生和大学低年级的学生能够很快学会计算机应用编程。例如,美国MIT开发的Scratch以及卡内基·梅隆大学开发的Alice动画和编程平台能让学生把他们的故事变成电影和游戏。MIT的App Inventor能让学生很快学会手机App编程。
乐高的NXT 2.0和EV3机器人编程平台采取了轨道式积木编程模式,简单易学,适合中小学的兴趣教学。然而,NXT 2.0和EV3只能用于编程乐高机器人,而乐高机器人在中国价格昂贵,限制了它的广泛应用。
Intel最新开发的物联网服务编排层(IoT Services Orchestration Layer)在Linux操作系统上用可视化的语言编程物联网设备,可以读写连接于物联网控制板上的设备。
微软的机器人开发工作室(MRDS)的VPL(Visual Programming Language,可视化程序设计语言)可用于编程和控制乐高NXT机器人和多种机器人,包括iRobot、Fischertechnik、LEGO Mindstorms NXT、Parallax robots和微软的仿真机器人等。MRDS VPL可以用于编程从简单到复杂的各种应用,广泛用于高中和大学教学中。从2006年发布至今,MRDS VPL建立了一个巨大的用户社区。遗憾的是,在微软的重构过程中,MRDS VPL项目被终止。尽管微软继续支持MRDS VPL的免费下载,但MRDS VPL不再支持新的机器人平台,例如,MRDS VPL不支持取代乐高NXT的EV3机器人。
为了让MRDS VPL的用户社区能够继续他们的机器人程序开发,基于对工作流和可视化语言多年的研究和开发,亚利桑那州立大学(ASU)于2015年发布了ASU VIPLE机器人开发平台,该平台由陈以农博士领导的物联网及机器人教育实验室开发。陈以农博士于2003年和2005年受微软资助,参与了MRDS VPL的早期研究。从2006年微软发布起,ASU一直使用MRDS VPL作为计算机导论课实验工具。当微软终止MRDS VPL项目后,ASU物联网及机器人教育实验室以MRDS VPL功能和编程模式为设计说明,自主开发了VIPLE平台。VIPLE有以下特点:
继承了MRDS VPL的属性和编程模式,具有MRDS VPL编程经历的教师和学生可以直接使用VIPLE。VPL的教学资料也能为VIPLE平台所用。
扩展了MRDS VPL支持的机器人平台,例如,VIPLE可以编程乐高的EV3机器人。使用MRDS VPL编程乐高NXT机器人的学校可以直接升级到EV3。
在VIPLE程序与机器人之间采用了面向服务的标准通信接口JSON和开源的机器人中间件,可让通用机器人平台接入。
开发了以Linux为操作系统的VIPLE中间件并以Intel Edison的机器人作为默认平台和套件。VIPLE中间件已经移植到其他机器人平台。Galileo和Edison的机器人价格不到乐高EV3的一半,从而可使基于VIPLE和Intel机器人的教学能够推广到更多学校。
除了MRDS VPL的机器人编程功能外,VIPLE还支持通用的服务计算。VIPLE支持C#源代码模块的插入,也可以调用Web服务来完成VIPLE库程序中没有的功能。
ASU VIPLE支持设计思维和使用可视化编程。开发者只需绘制应用程序的流程图(规格设计)而无须编写文本代码。开发环境中的编译工具能够把流程图直接转换成可执行的程序,从而使软件开发变得更容易、更快速。整个软件的开发过程就是一个简单的拖放过程,即把代表服务的模块拖放到流程图的设计平面,然后用连线把它们连接起来。这个简单的过程可以使没有程序设计经验的人在几分钟内创建自己的机器人应用程序。经过一个学期的学习和动手实践后,学生可以编出较为复杂的智能程序,使机器人能探索未知迷宫并走出迷宫。
ASU VIPLE可用作机器人导论、计算机导论、通信导论或工程导论等课程的实验工具。
下面通过几个程序案例来展示VIPLE编程的简单性和实用性,特别是与计算机导论的相关性和对计算机导论课程实验的支持。
案例1:ASU VIPLE实现的计数器该计数器程序从0计到10,并用语音输出服务读出所生成的数字:The number is 0,1,2,3,4,5,6,7,8,9,10。
案例2:车库门遥控器下图的有限状态机描述了一个单键遥控器。当车库门处于关闭状态时,按下遥控键将使车库门开启。当车库门处于开启状态时,按下遥控键将使车库门关闭。当车库门处于开启或关闭过程中时,按下遥控键将使车库门停止运动,再按下遥控键将使车库门继续向之前的方向运行。
 上图的有限状态机可用下图的ASU VIPLE程序实现。所使用的单键是控制键Ctrl。
案例3:遥控Intel机器人以下VIPLE程序可以实现用计算机键盘方向键来遥控Intel机器人的移动,空格键是停止移动。
案例4:迷宫机器人编程以下程序展示了迷宫机器人编程过程。该机器人具有一个测距传感器,根据前方、左方和右方的距离来决定下一步的走向。
与通常的介绍原理的教材不同,本书是一本介绍原理并实现原理的教材。学懂一个原理后,学生还必须把该原理应用到实践中。比如,当学懂了运算器的工作原理后,学生必须用VPL 编写一个运算器,并测试实现的运算器能否正确完成运算任务。当设计了一个迷宫漫游算法后,学生必须把该算法编程到机器人中,测试机器人能否在迷宫中不迷路。
所以,我们的教材不但必须保证原理的正确,还必须保证正确的原理能被学生在给定的时间内实现。为此,我们必须验证每一个实验和每一个练习的正确性和时间要求。编写这样的教材和讲授这样的课程,会花费更多的精力和时间,但是我们坚信这样的教材和这样的课程是学生想要学的,是学生能学透和记住的,这样才能培养出真正有知识和能力的学生。正是这样的教学理念,使我们走到一起,联手编写了本书。
本教材的第1版于2013年出版,本教材的第2版在第1版的基础上做了重大的改进。首先,主要的编程软件从微软的MRDS VPL更新到ASU VIPLE Visual IoTRobotics Programming Language Environment。支持的机器人平台也从乐高增加到多个其他平台,包括Intel Edison和Galileo平台、ARM pcDuino平台、TI的平台。VIPLE还有三个内建仿真平台:Unity模拟器平台、Web 2D模拟器平台和Web 3D模拟器平台。ASU VIPLE可以在中文和英文菜单之间随时切换。
由于工作量巨大,还有许多老师和学生参与了编写和校验工作,在此表示衷心的感谢。本教材基于自主开发的软件平台,许多学生参与了开发工作。 Garrett Drown开发了第1版的eRobotics的可视化编程语言;Calvin Cheng为VIPLE的早期开发提供帮助,并在EV3 API的开发上做出了贡献;Gennaro De Luca负责VIPLE的主要开发工作;Tara De Vries对VIPLE开发中的服务集成做出了贡献;Megan Plachecki、John Robertson和Sami Mian在JSON的接口设计、Edison机器人的中间件实现以及机器人的硬件实现方面做出了贡献;Matthew De Rosa开发了第1版VIPLE Unity模拟器;Yufeng Ouyang 和Kaiyi Huang等开发了第2版的Unity模拟器;Adam Lew、Joshua Owens、Ankit Patel、Harshil Patel、Peter Tueller和Spencer Rodewald在Web 2D模拟器开发中做出了贡献; Alexandra Porter、David Orellana、Matthew Miller 开发了Web 3D 模拟器。
如何开设一门受学生欢迎的计算机入门课程是一个值得持续探索的课题,我们也在进一步的尝试和不断完善中。因此,本书中难免有疏漏和不当之处,欢迎各位同行和读者批评指正。
作者201

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.