对于生活在科技和智能自动化时代的孩子们来说,理解计算机的思维方式,运用计算思维去解决生活中的问题,被认为和听、说、读、写、算一样,是每个人必备的思维能力。然而,到底什么才是计算思维呢?

计算思维是一种运用计算机科学基本概念求解问题、设计系统和理解人类行为的方式。

——卡内基梅隆大学 周以真教授

对于计算思维,不同领域的科学家有不同理解。总的来说,计算思维指的是一种解决问题的思维过程,是能够清晰、抽象地将问题和解决方案用信息处理(机器或人),并有效执行的过程。

我们可以通过生活中的案例理解一下运用计算思维是如何解决问题的:

查找:如果要在英汉词典中查一个英文单词,相信读者不会从第一页开始一页页地翻看,而是会根据字典是有序排列的事实,快速地根据目录定位单词词条。这正是计算机中广泛使用的索引技术。计算机也是这样查找文件的,搜索引擎同样是这样的原理。

回溯:人们走到一个岔路口,会选择一条路走下去,如果最后发现此路不通就会原路返回,返回岔路口选择另一条路。这种回溯法实际上是一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现不满足求解条件时,就“回溯”返回,尝试别的路径。

计算机是通过一步一步地执行指令来解决问题的。从问题的计算机表示、算法设计直到编程实现,计算思维贯穿于计算的全过程。学习计算思维,就是学会像计算机科学家一样思考和解决问题。

计算思维在编程中如何体现

计算思维是分解、模式识别/数据表示,泛化/抽象和形成算法的一个过程。通过分解问题,使用数据表示法定义涉及的变量,并创建算法,得出通用的解决方案。

看起来有些复杂,我们以机器人设计与编程课程中的一节体验课——《运动助手计步器》为例,帮助大家理解算法思维是怎样的一个过程。

拆解问题

拆解,即将问题分解为更小、更易管理的部分,然后专注于解决每个小问题。我们可以将复杂的问题分解为各个小部分,直至这些小部分变得简单而易于解决。

创建可在计算装置上实现的算法和过程时,分解是一项重要技能,因为计算机需要非常具体的指令。它们需要得知完成任务所需的每一个小步骤。在《运动助手计步器》这节课当中,要实现计步的功能,就需要分解整个任务:

1. 通过加速度传感器收集横向运动的数据

2. 数据转换为计算机能理解的数值

3. 横向的加速度数值变化超过一定范围则程序计算为一步

4. 通过程序,累计增加的步数

5.循环执行以上步骤

模式识别/数据表示

计算机如何识别传感器收集到的加速度变化的数据呢?我们可以将步数设置为程序中的变量,将步数设为大X,将加速度设为小x。通过变量的赋值,让计算机理解现实中的运动,这一步非常重要。

不同时间加速度的值,可以设为x1和x2。x1-x2的绝对值,大于一定数值则计算为一步。在本课中,可以设置当加速度值超过200个单位的变化时,计为一步,运动步数(X)增加1。

泛化抽象

泛化抽象的过程,就是抽离出现象的原理与规律,并通过计算机可以理解的方式表示出来。计步器的原理,是将加速度前后的波动,算成步数。步数增加后,再重复执行这个过程。

反映到程序中,每计一步,输出数值,之后重复执行计步,再输出数值。以流程图来表示这个过程,可以帮助我们理清整个程序的逻辑顺序。

创建算法

最后一步,就是形成计算机可以执行的程序,也就是算法。凤凰机器人采用图形化编程软件,让程序语言模块化,编写程序变得简单。

该程序的关键在于条件语句的设置,即“如果为...则...”语句。条件语句的设置为程序确立了清晰的思路。程序以加速度的变化作为主要变量,通过计算加速度的波动,来计算步数,并且可以无限循环执行,达到不间断计步的功能。

计算思维为什么重要?

通过这样一个执行运动计步的编程过程,计算思维的每个步骤都得到了淋漓尽致地体现。我们在生活中常常需要分解问题,抽离问题的本质,循序渐进地处理问题,这些都是计算思维的具体体现。

无论孩子未来是否从事计算机相关领域

在人工智能时代,数字与信息技术无处不在

每个人都需要理解智能硬件与程序的原理

理解智能化社会运行的逻辑

拥有更强的分析问题、解决问题的能力

以便于更好地适应智能时代

计算思维,是孩子终身需要的思维能力!

计算机思维采用抽象和分解,凤凰机器人----什么是计算思维?凤凰机器人的编程课中是如何体现它的?...相关推荐

  1. 计算机思维采用抽象和分解,Python促进计算机思维的培养

    <Python促进计算机思维的培养>由会员分享,可在线阅读,更多相关<Python促进计算机思维的培养(3页珍藏版)>请在装配图网上搜索. 1.Python促进计算机思维的培养 ...

  2. 计算思维与计算机科学为代表,21世纪核心能力:计算思维(不是编程)

    关于计算思维的一个常见误解是"计算思维与编程是同一件事情".这不太准确.虽然编程是教授计算思维的常用工具,但计算思维却不仅仅是编程,而是在编程之前,用于理解问题.分析问题和制定解决 ...

  3. 计算是计算机科学独有的方法,大学计算机基础教学中的计算思维培养.doc

    大学计算机基础教学中的计算思维培养 龚沛曾 杨志强 ? 2012-06-26 08:58:58 来源:<中国大学教学>2012年第05期 摘要:首先仔细地分析了计算思维的定义,提出了计算思 ...

  4. 卡内基·梅隆大学计算机科学系主任周以真的父母是中国人吗,计算机与计算思维...

    [计算机与计算思维]读后感 首先,通过阅读我了解到了计算思维的概念.2006年3月,美国卡内基·梅隆大学计算机科学系主任周以真(Jeannette M. Wing)教授在美国计算机权威期刊<Co ...

  5. 计算机思维游戏推理论文,基于严肃游戏的计算思维培养

    摘要:在分析严肃游戏这一新兴的教学方式的基础上,提出基于严肃游戏培养计算思维能力的观点,以案例的形式讨论严肃游戏与计算思维能力培养的几种结合方式.介绍以各门专业知识为目的跨学科的严肃游戏文案设计训练. ...

  6. 计算思维与大学计算机基础教育,计算思维与大学计算机基础教育(3)

    计算思维是通过约简.嵌入.转化和仿真等方法,把一个困难的问题阐释为如何求解它的思维方法. 计算思维是一种递归思维,是一种并行处理,是一种把代码译成数据又能把数据译成代码,是一种多维分析推广的类型检查方 ...

  7. 计算机基础——计算思维

    计算思维 计算思维使运用计算机科学的基本理念,进行问题求解,系统设计以及理解人类行为. 也就是说,计算思维是一种解决问题的思考方式,而不是具体的科学知识,这种思考方式要运用计算机科学的基本理念,而且运 ...

  8. 什么专业要学计算机思维导论,大学计算机:计算思维导论CAP

    什么是自动计算? 视频中举了求解一元二次方程的例子来阐述"人"计算与"机器"计算的思维差别.你还能举出其他的例子吗?巴贝奇采用差分原理进行计算,你知道是怎样的吗 ...

  9. 大一计算机思维知识点,大学计算机基础教学中计算思维的培养途径

    摘要:从几个侧面思考和探究在大学计算机基础教学中培养学生计算思维的途径,提出通过整合教学内容,将不同的知识点归纳为不同的知识单元:通过实验教学,提升学生运用计算思维处理问题的能力. 关键词:计算思维: ...

最新文章

  1. 第二十一节(数组概要, 一维、二维数组的声明和使用,数组的排序,数组的查找,)...
  2. SQL Select语句完整的执行顺序:
  3. PolyBase 指南
  4. wine应用运行后字体都是问号
  5. 『设计模式』Web程序开发最基本的编程模式--MVC编程模式
  6. MTK(android init.rc) 写一个开机启动的服务
  7. java 干支_Java實現干支紀年法
  8. java linux urlencode_Javascript下的urlencode编码解码方法decodeURIComponent()
  9. oracle 12 跟踪,Oracle 12C 块修改跟踪(Block chage tracking) 功能
  10. 吴恩达机器学习课程笔记
  11. 电子邮件如何追溯到他们的源IP地址
  12. 新书推荐——Windows Server系统配置与管理项目化教程(Windows Server2016微课版)
  13. 图形界面操作pandas:计算变异系数(极差 四分位差 方差 标准差 协方差 变异系数)
  14. 12306 抢票 python + selenium + chrome (一) 搜索和参考
  15. 基于深度相机的下肢外骨骼的自适应梯级步态生成方法
  16. linux 开启rsh权限,开启rsh服务
  17. 移动硬盘安装ubuntu20.04.5(重装无数次的一个教程)
  18. 第二章华氏度摄氏度转换
  19. Paying More Attention to Self-attention: Improving Pre-trained Language Models via Attention Guiding
  20. vscode 链接不到扩展商店

热门文章

  1. ALD和CVD晶体管薄膜技术
  2. HarmonyOS技术特性
  3. 客快物流大数据项目(五十六): 编写SparkSession对象工具类
  4. Python:urllib2模块的基本使用
  5. java读取文本单词_使用Java计算文本文件中的单词数
  6. python 判断字符串是否全部为数字组成(使用isdigit)
  7. Error: Invoke-customs are only supported starting with Android O (--min-api 26)
  8. Android 实现一个验证码倒计时(Handler postDelayed 实现验证码倒计时)
  9. Android Environment 的作用以及常用的方法
  10. 如何在Fragment中使用findViewById