如何学习计算机思维,刘康平:为什么我们每个人都应该学习计算思维?

不久前,微软亚洲研究院资深学术合作经理刘康平应邀在“造就”做了演讲,以下为演讲节选,由“造就”授权转载。

e053b3e733118cda5b94fe3cd49fe977.png

刘康平 微软亚洲研究院资深学术合作经理

8193b28089a48173d02d330d55b8ad3c.png

以中国象棋为例,在这样一个棋局上,你怎么用最快的方式找到「将」和「帅」所有合法的位置?

我们要通过计算机来做自动的求解,所以用A来表示「将」,用B来表示「帅」,然后因为它们只能在9个位置移动,所以我们用1到9进行编号,因为计算机最擅长处理数字。

规则很简单,「将」在9个位置的任何一个,比如说在1的时候,「帅」只能在其他的6个位置,1、4、7因为跟「将」在一条直线上,是非法的位置。

90e2b34021c3f25fb7c6ae946bda8ea0.png

第一, 用抽象的思维方式对这个问题做了分析和描述,尤其是一种数学上的表达;

第二, 在这个数学表达的基础之上,找到了解决的方法,这就是计算机算法;

第三, 通过编程,把这个算法告诉计算机,编程语言是人和计算机之间沟通的语言。

计算机科学还有另外一个非常重要的思想,叫做分层(layer)。我们通过分层,可以把一个难的、复杂的问题,分解成若干个简单的问题,分而治之。

通过分层,我们可以很好地隐藏掉很多技术细节,让我们可以关注问题本身,让我们可以很容易通过编程来实现创意。

上面象棋的代码是用C语言写的,要读懂有一点难度。

535f54593552dc97203f954ffc217121.png

不过你也可以像玩游戏一样编程。

这是Minecraft的一个可视化编程环境,左边是运行区域,可以看到你编写的程序的运行效果;中间是编程可能用到的武器,你的工具、模块等;右边是编程的工作空间。

我们现在要做的问题是,左边这个小人怎么能够最快速的采集到3块红石?此时就要分析,上面有不止一块红石,我们要采集哪3块?并且红石下面可能有熔岩,你必须放上一块圆石才能经过。到了红石的跟前,需要用“摧毁工具”模块来开采红石。

4d876a2da10c0fba520bb9b504184914.gif

开采完之后,我们要判断底下有没有熔岩。所以我把这个判断模块拖过来,如果有熔岩就放下一块圆石,然后继续前进。

注意看操作界面,左边是运行效果,右边有一个不断移动的黄色高亮框,显示当前正在执行哪个模块,也就是哪行代码。

在计算机领域有个概念,叫缓存(cache),就是把用户频繁使用的数据放到离计算最近的地方,也就是缓存里。这样当用户需要使用该数据的时候,就可以很快拿到。

就像我儿子一样,他今天要上数学课,不需要重新回家拿数学课本,因为课本就在他的书包里。

第二,我们有很多条队,这就叫并行计算,或者多线程。通过并行计算,我们就可以大大提高工作效率。

6d8be642dda9226e6f2b561c96b74d33.png

所以我想说,计算思维真的就像阅读、写作、数学一样,应该成为大家必备的一项技能。有了它,你可以自己动手去实现创意。

但如果遇到更复杂的问题,就需要其他领域的专业知识。这时我们可以实现交叉创新,跟其他领域的专家合作。

我算一个摄影爱好者,尤其爱拍花。我们已经发现的花有25万种之多,很多都说不上名字。

77aae11f36c4d1d4a5d9ff43fac5a465.png

那么我们能够用计算机帮助识别花卉吗?可以,这是一个计算机视觉的问题,但是这个问题仅仅依靠计算机科学家很难独立解决。

所以我们和中科院植物所合作,推出了手机app「微软识花」。中科院植物所拥有数百万带标注的花卉图片,更重要的是,他们有植物学的专业知识。

0b2304d36fa115093c92ad7537e56a5e.png

​敦煌莫高窟经过了千年的岁月洗礼,风雨侵蚀和人为破坏,使得文化遗产的保护迫在眉睫。微软亚洲研究院为敦煌量身定制了一台十亿像素的数字相机(手机像素现在一般是千万级别,十亿是一千万的100倍)。

用这台相机,一次性就可以拍下整个佛龛的图像,甚至连阴影处的几何细节也相当丰富。这种方式可以大大提高文化遗产数字化的效率。

82b33e19af26e0bbdc072e358b709d79.png

我儿子今年12岁,8岁的时候开始学习编程,现在写了有几千行代码,号称有4年多的编程经验。

在今天这样一个技术驱动的数字经济时代,我们每个人都需要进行不断的自我迭代,而迭代的一个途径,就是学习计算思维,了解编程。

这样每个人都可能成为数字时代的创造者,甚至领导者。

b3b6a36e1931b92932f65ded05c921db.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/532727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

链接与加载-NJU-JYY

(2021) 19 [代码讲解] 从零实现动态加载 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频:https://www.bilibili.com/video/BV1N741177F5?p15 讲义:http://jyywiki.cn/OS/2021/slides/C9.slides#/ 背景 回顾: ELF可执行文件 只要能完成…

饥荒联机自建服务器有什么用,联机版饥荒使用专用服务器的好处 | 手游网游页游攻略大全...

发布时间:2016-02-15存档保存位置是?很多玩家对此并不是很了解,不过别着急哟,下面99单机小编就为你带来高玩分享的相关技巧心得攻略,希望大家能喜欢. 联机版的存档与单机版是不同的,由于联机版饥荒建 ...标签:游戏资讯 攻略秘籍发布时间:201…

(2021) 26 [持久化] 持久数据的可靠性:RAID和journaling

(2021) 26 [持久化] 持久数据的可靠性:RAID和journaling 南京大学操作系统课蒋炎岩老师网络课程笔记。 视频:https://www.bilibili.com/video/BV1HN41197Ko?p26 讲义:http://jyywiki.cn/OS/2021/slides/16.slides#/ 背景 回顾 文件系统 …

win10无法检验服务器出示的ssl证书,win10系统网站启用ssL安全证书的操作方法

win10系统网站启用ssL安全证书的操作方法?很多win10用户在使用电脑的时候,会发现win10系统网站启用ssL安全证书的的现象,根据小编的调查并不是所有的朋友都知道win10系统网站启用ssL安全证书的的问题怎么解决,不会的朋友也不用担心&#xff…

Nplayer本地文件拷到服务器,手把手教你简易NAS构建,手机/平板/智能电视随意调取,家庭存储云共享,有了自己的网络云盘后再也不用担心容量不够了!...

之前嫌键盘侠烦,写这些也没意义所以把账号注销了文章删除了,现在想了想我抗吧12级老蛆还喷不过这帮小兔崽子?换了skt.ruo秽土转生,求喷子和我在各评论对线。特别是匿名dog见一个怼死一个。下面是之前号写的内容原文 -#简介NAS全称…

gdb 入门

gdb 入门 简介 gdb是GNU开源组织发布的一个强大的Linux下的程序调试工具。 一般来说,GDB主要帮助你完成下面四个方面的功能: 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 2、可让被调试的程序在你所指定的调置的断点…

Linux下的CUDA多版本管理

Linux下的CUDA多版本管理 关于CUDA、cuDNN等的简介和安装可参考:显卡、显卡驱动、CUDA、CUDA Toolkit、cuDNN 梳理。 CUDA多版本 有时我们会在一台机器上同时看到多个版本的CUDA,比如nvcc -V和nvidia-smi的输出就可能会不同: 在我们实验室…

ONNX初探

ONNX初探 转载自:https://blog.csdn.net/just_sort/article/details/112912272 0x0. 背景 最近看了一些ONNX的资料,一个最大的感受就是这些资料太凌乱了。大多数都是在介绍ONNX模型转换中碰到的坑点以及解决办法。很少有文章可以系统的介绍ONNX的背景…

服务器修改地址,服务器修改管理地址

服务器修改管理地址 内容精选换一换在弹性云服务器上安装完成后输入公网IP,无法连接目的虚拟机,端口无法访问工具。源端网络未连通目的端。目的端安全组未开放8084端口。目的端网络ACL禁用了8084端口。登录源端服务器后,在源端服务器中ping 目…

ONNX再探

ONNX再探 本文转自:https://blog.csdn.net/just_sort/article/details/113802330 这篇文章从多个角度探索了ONNX,从ONNX的导出到ONNX和Caffe的对比,以及使用ONNX遭遇的困难以及一些解决办法,另外还介绍了ONNXRuntime以及如何基于…

图解自监督学习(CV)

图解自监督学习(CV) 译自:https://amitness.com/2020/02/illustrated-self-supervised-learning/ 作者:Amit Chaudhary 注:译者在某些地方对原文的表述做了调整,使其适合汉语的阅读习惯,并在…

机器学习中的归纳偏置

机器学习中的归纳偏置 带着偏见看世界,否则你根本没有看待世界的方式。 本文主要参考整理自知乎问题:如何理解Inductive bias? No-Free-Lunch(NLF)定理指出学习是不可能的,除非有先验知识。通常情况下&…

【c语言数据结构笔记】1.2 数据结构

1.2数据结构 数据元素并独立 结构实体关系 形式定义&#xff08;D&#xff0c;S&#xff09; 其中D是数据元素的有限集&#xff0c;S是D上关系的有限集 eg&#xff1a;12位数&#xff1a;132423451233 分成三组四位数 次序关系<a1,a2><a2,a3> 遵守次序关系 eg&…

使用Apex进行混合精度训练

使用Apex进行混合精度训练 转自&#xff1a;https://fyubang.com/2019/08/26/fp16/ 你想获得双倍训练速度的快感吗&#xff1f; 你想让你的显存空间瞬间翻倍吗&#xff1f; 如果我告诉你只需要三行代码即可实现&#xff0c;你信不&#xff1f; 在这篇博客里&#xff0c;瓦砾…

【数据结构1.3笔记】研究内容

1.3研究内容 数据结构&#xff08;D&#xff0c;S&#xff09; {逻辑结构&#xff1a; {物理结构&#xff08;存储结构&#xff09; {数据的运算 1.逻辑结构 1 集合&#xff1a;集合&#xff0c;没有逻辑关系 2 线性结构 “一对一” 3树形结构 层次关系 4图形结构 练习&…

2019年蓝桥杯第一题

第一题 标题&#xff1a;组队&#xff08;本题总分&#xff1a;5 分&#xff09; 作为篮球队教练&#xff0c;你需要从以下名单中选出 1 号位至 5 号位各一名球员&#xff0c; 组成球队的首发阵容。 每位球员担任 1 号位至 5 号位时的评分如下表所示。请你计算首发阵容 1 号位…

深度学习编译:MLIR初步

深度学习编译MLIR初步 深度模型的推理引擎 目前深度模型的推理引擎按照实现方式大体分为两类&#xff1a;解释型推理引擎和编译型推理引擎。 解释型推理引擎 一般包含模型解析器&#xff0c;模型解释器&#xff0c;模型优化器。 模型解析器负责读取和解析模型文件&#xff…

深入浅出LLVM

深入浅出LLVM 转自&#xff1a;https://www.jianshu.com/p/1367dad95445 什么是LLVM&#xff1f; LLVM项目是模块化、可重用的编译器以及工具链技术的集合。 美国计算机协会 (ACM) 将其2012 年软件系统奖项颁给了LLVM&#xff0c;之前曾经获得此奖项的软件和技术包括:Java、A…

一分钟系列:什么是虚拟内存?

一分钟系列&#xff1a;什么是虚拟内存&#xff1f; 转自&#xff1a;https://mp.weixin.qq.com/s/opMgZrXV-lfgOWrNUMKweg 注&#xff1a;一分钟系列的篇幅都不长&#xff0c;适合吃饭蹲坑、地铁公交上食用&#xff5e; 内存对于用户来说就是一个字节数组&#xff0c;我们可…

11-Kafka

1 Kafka Kafka是一个分布式流式数据平台&#xff0c;它具有三个关键特性 Message System: Pub-Sub消息系统Availability & Reliability&#xff1a;以容错及持久化的方式存储数据记录流Scalable & Real time 1.1 Kafka架构体系 Kafka系统中存在5个关键组件 Producer…