计算机科学与工程导论
¥
29.25
7.5折
¥
39
全新
库存4件
作者陈以农,陈文智,韩德强 著
出版社机械工业出版社
ISBN9787111574446
出版时间2017-07
装帧平装
开本16开
定价39元
货号1201557187
上书时间2024-10-27
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
陈文智,浙江大学教授,博士生导师。主要研究方向为计算机系统级软件、计算机网络和安全、嵌入式系统及应用、计算机体系结构。承担国家自然基金、国家“863”重大项目、核高基重点项目、科技支撑计划项目、科技重大专项等重量科研项目10余项,在高水平学术期刊或会议发表论文50余篇,获国家发明授权20余项。主讲“嵌入式系统”“操作系统”“计算机体系结构”“不错计算机体系结构”“软件工程”“计算机系统综合”等课程。是重量精品资源共享课程负责人,出版重量规划教材和其他教材近10部。曾获浙江省科技进步一等奖、浙江省教学成果一等奖。2013年获全国宝钢很好教师奖。
陈以农,亚利桑那州立大学计算机系不错讲师。机器人程序主任、软件实验室科学家。编写过多本教材。
目录
推荐序
前言
教学建议
章职业发展机会和团队建设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.2VIPLEIoT/机器人开发环境12
2.2.1VIPLE的工程设计过程12
2.2.2VIPLE的活动和服务13
2.3VIPLE的使用18
2.3.1创建程序显示“HelloWorld”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用ASUVIPLE来解决事件驱动问题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.1VIPLE机器服务58
5.2VIPLE支持的机器人平台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.9Web2D模拟器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在Web2D模拟器中实现两距离局部最优算法所涉及的活动76
5.5.15Web3D模拟器76
第6章机器人硬件组成77
6.1VIPLE计算与通信模型77
6.2机器人硬件总体结构79
6.3主控板79
6.3.1IntelGalileo开发板80
6.3.2IntelEdison模块81
6.3.3Arduino/Genuino10182
6.3.4TICC3200LaunchPad83
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.3Init活动110
7.1.4Left1和Right1活动110
7.1.5Right90和Left90活动111
7.1.6Backward和Forward活动111
7.1.7ResetState活动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从EV3Brick得到传感器读数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
0章机器人比赛133
10.1寻宝133
10.2自治迷宫遍历133
10.3相扑机器人134
1章服务计算与Web应用的开发135
11.1并行处理技术135
11.2文本语言编程的基本概念136
11.3面向服务的架构的基本概念140
11.4VisualStudio编程环境144
11.5实验内容145
11.5.1VIPLE中的并行和面向服务计算145
11.5.2开始使用VisualStudio开发环境和C#进行编程146
11.5.3创建你自己的Web浏览器150
11.5.4创建一个Web应用程序151
11.5.5创建一个在线自动售货机154
11.5.6使用加密/解密服务建立一个安全的应用程序157
2章Android手机App的开发161
12.1预备知识161
12.2Android手机编程162
12.2.1HelloWorld163
12.2.2Magic8Ball164
12.2.3PaintPic165
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使用AppInventor编程NXTRobot177
12.2.11猜数游戏181
12.2.12简单的侧滑板游戏183
12.2.13记忆游戏186
3章演讲文稿设计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
4章演讲和演讲评分205
附录机器人课程设计项目和比赛规则206
内容摘要
本书以培养学生对计算机科学与工程专业的兴趣为宗旨,以培养问题解决能力为目标,从具体到抽象,将计算机科学的基本原理和动手实践有机结合,通过图形化的编程语言、机器人实验、手机应用和Web开发等工具及案例,使学生了解基本的程序设计、计算机原理、软件工程等计算机知识,并把整门课组织成了一个完整的工程项目。
精彩内容
前 言计算机工业一直引导着世界工业的发展,也是其他行业前进的动力源。计算机科学和计算机工程专业是计算机工业以及相关产业发展的源泉,也一直是全世界最有价值的专业之一。然而,2000 年的网络泡沫使计算机工业受到重创,也使计算机科学及相关专业的学位价值次受到质疑。计算机科学和计算机工程专业的生源也受到挑战,甚至出现了一场世界范围内的计算机科学生源危机。然而,2000年的网络泡沫的影响是短暂的,计算机工业很快恢复并创造出更高的价值。例如,亚马逊的市值在2000 年从其峰值107 美元/ 股一度跌到7美元/ 股。今天,亚马逊的市值已经远远超过2000 年的107 美元/ 股的峰值,并发展成为一家云计算服务的主要提供商。Google更是从一家网络公司发展成为世界优选的公司之一,其业务包含互联网、云计算、移动计算、智能手表、汽车等行业。 然而,计算机工业的恢复并没有消除计算机专业的生源危机。以美国亚利桑那州立大学(ASU)为例。2002 年前,ASU 每年有200 名新生进入计算机科学专业。到2004 年,就只有100 名新生入学。美国其他大学的情况也与之类似。2008 年,美国计算机协会(ACM)发布的计算机科学教学大纲报告(http://www.acm.org/ education/curricula/ComputerScience2008.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 编写一个运算器,并测试实现的运算器能否正确完成运算任务。当设计了一个迷宫漫游算法后,学生必须把该算法编程到机器人中,测试机器人能否在迷宫中不迷路。 所以,我们的教材不但必须保证原理的正确,还必须保证正确的原理能被学生在给定的时间内实现。为此,我们必须验证每一个实验和每一个练习的正确性和时间要求。编写这样的教材和讲授这样的课程,会花费更多的精力和时间,但是我们坚信这样的教材和这样的课程是学生想要学的,是学生能学透和记住的,这样才能培养出真正有知识和能力的学生。正是这样的教学理念,使我们走到一起,联手编写了本书。 本教材的版于2013年出版,本教材的第2版在版的基础上做了重大的改进。首先,主要的编程软件从微软的MRDS VPL更新到ASU VIPLE (Visual IoT/Robotics Programming Language Environment)。支持的机器人平台也从乐高增加到多个其他平台,包括Intel Edison和Galileo平台、ARM pcDuino平台、TI的平台。VIPLE还有三个内建仿真平台:Unity模拟器平台、Web 2D模拟器平台和Web 3D模拟器平台。ASU VIPLE
— 没有更多了 —
以下为对购买帮助不大的评价