
出版社: 中国青年
原售价: 88.00
折扣价: 22.00
折扣购买: 计算思维养成指南(少儿编程高手密码编程思维应对人工智能挑战)
ISBN: 9787515358697
李泽,国内资深创客,软件设计师、信息系统项目管理师。2013年毕业于新疆医科大学信息管理与信息系统专业,有十余年编程实战经验。教育部教育装备研究与发展中心中小学人工智能教材项目课标组和编写组成员,《青少年编程能力等级》标准主要起草人,工信部人才交流中心“蓝桥杯青少年创意编程大赛”Scratch专家委员会委员。自媒体“科技传播坊”(公众号:kejicbf)研发百余集少儿编程教学视频,已出版《Scratch高手密码》《计算思维养成指南》等共十余本著作。 陈婷婷,北京交通大学硕士。曾就职于索尼移动通信产品有限公司,八年软件开发工作经验,通过国际PMP认证,2017年底加入编程猫负责教研工作。参与教育部教育装备研究与发展中心中小学人工智能教材项目,负责小学人工智能编程课程研发设计工作。 金乔,美国明尼苏达大学计算机科学与工程系在读博士,在中国科学院自动化研究所获得硕士学位,山东大学获得本科学位。主要研究方向为情感计算及面向儿童的人机交互技术。在ACM Interaction Design and Children(儿童交互设计)等国际会议发表多篇论文,拥有三项国家发明专利,参与过多个儿童认知与编程环境相关的国家自然基金项目。
前言 在人工智能时代,我们和智能设备打交道的机会越来越多,很多重复的事情都交给了智能软硬件,那么人类的价值怎么体现呢?当前人工智能技术与人类的最大区别在于,人类能够寻找到目标并主动解决问题,这是前者所不具备的。换言之,人具有主观能动性,具备主动解决问题的能力。计算思维正是扩展该能力的维度,特别是信息时代的难题。什么是计算思维? 简单地说,计算思维就是人们在解决计算问题时蕴含的思维方式。这里的“计算”不只是加减乘除等数学计算方法,还涵盖了更宽泛的概念,涉及逻辑推理和问题求解等方方面面。显然,它与计算机并无直接关联.古人们的智慧也闪烁着计算思维的光芒。例如,建筑项目的规划、十进制、割圆术、银票、镖局和钱庄、货比三家、托物言志的诗歌、排兵布阵的战术等,上述场景分别体现了如下思维方式:可行性分析、信息编码、极限思维、契约和签名、代理、比较、抽象具象。本书之后会对这些思维方式做细致的讲解。为什么古人没有把这些通用的思维方式总结出来呢? 计算机从诞生至今仅70多年,但却极大地促进了社会的发展,推动了社会的进步。另一方面,它也极大地增强了人类解决问题的能力:你可以快速进行3D建模并直观地展示模型并收集反馈,你可以快速求解古人不可想象的复杂计算问题(比如计算圆周率小数点后1000位),你可以快速分享自己的才艺给全世界,你可以轻松统计出长篇小说的词频,你可以快速设计出使用手机控制家用电器的物联网装置,你可以……随着创意的交点越来越多,解决问题的速度越 来越快,通用的思维模式体现得愈加频繁。终于,周以真教授于2006年提出了“计算思维”的概念,并将其定义为“运用计算机科学的基础概念进行问题求解、系统设计,以及人类行为理解等涵盖计算机科学之广度的一系列思维活动”。因此,通过计算机去寻找这些思维模式是非常好的路径,本书的“后记”部分详细展示了这一过程,在此不再赘述。那么学习计算思维,对我们有什么帮助呢? 最直接的益处在于拓宽我们解决问题的边界。本书会带你了解89个计算思维,展示它们在日常生活中和编程中的体现。你会发现,考场上的两套文具和硬盘备份具有相同的思维模式,乐高积木的设计和软件升级也有类似的思想,去餐厅点餐和面向接口程序设计异曲同工,做好最坏打算的习惯和编程中异常机制的思维方式完全一致。最终你会恍然大悟,这些思维方式可以用于解决其他生活或程序上的问题。 ······ ······ ······ ······ Chapter 1 挖掘身边的疑问——发现并分析问题 01 为什么要把商品分类摆放? 生活中的计算思维 购物时,你会先在心中明确要购买的商品。进入超市后,再根据超市指引找到对应的货架。货架上的商品整齐地摆放着,很容易就能让你做出选择。购物体验一气呵成,可是你有思考过为什么整体流程这么顺畅吗? 有时,习以为常的体验会让人忘记其设计的初心。假设你面对的是一个没有任何分类规则的货架,当你想购买一个商品时,你可能会毫无方向地随意寻找,从而浪费大量时间。 人类的记忆和货架一样,越结构化越高效运作。为了节约顾客挑选的时间,超市工作人员会根据一定规则对商品进行分类摆放。例如,饮品货架可以按照碳酸饮料、果汁、茶饮料、饮用水、纯奶、奶制品饮料的规则进行摆放。分类货架和未分类货架上摆放的都是完全相同的商品,但是结果却大不相同。 灵感小笔记 生活中有哪些被你忽略却又重要的分类呢? 什么是分类/ 分组? 把无序的事物按照特定的规则进行分类,让它们成组。 程序中的计算思维 在程序设计中,分类能够帮助我们提升一层抽象的语义,或是简化大量代码。先来看一个Kitten案例,假设上面三个角色是敌军,下面三个角色是友军。 现在想要实现一个效果:当友军的某个角色碰到任一敌军后,该友军角色就会减少生命值。友军的常规实现方法如右中图所示。 这样做,缺点有很多。如当敌军的角色数量越来越多,友军的脚本数量也在不断增加。尤其是当出现克隆体后,友军的脚本已经无法编写。那么我们能否使用分类思想,把友军和敌军划分成两类呢? Kitten提供了“阵营”积木,它可以将角色分类,并用颜色加以区分。假设友军为红色阵营,敌军为蓝色阵营。当友军的某个角色碰到蓝色阵营的某个角色,即碰到了某个敌军,则减少生命值。这样一来,整个程序脚本量大大减少,且很容易处理敌军是克隆体的情形。 适用读者:8-18岁的青少年人群 陶行知先生曾说过这样一句话:教育的目的在于解决问题。而学习计算思维,就是为了更好地解决问题。计算思维是众多的思维方式和方法,旨在帮助孩子提高解决问题的能力,学习掌握更多解决问题的思维方式! 计算思维是什么?简单说,就是人们在解决计算问题时蕴含的思维方式。但这里的“计算”不单指加减乘除的计算问题,还涉及逻辑推理和问题求解等方方面面。 你能想象考场上准备两套文具和硬盘备份具有相同的思维模式?去餐厅点餐和面向接口程序设计思维有异曲同工之妙?乐高积木的设计和软件设计意外蕴含着类似的思想 ··· ···