如何學習計算機思維,劉康平:為什么我們每個人都應該學習計算思維?

不久前,微軟亞洲研究院資深學術合作經理劉康平應邀在“造就”做了演講,以下為演講節選,由“造就”授權轉載。

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.pswp.cn/news/532727.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/532727.shtml
英文地址,請注明出處:http://en.pswp.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可執行文件 只要能完成…

計算機械功的公式,機械功率計算公式

初中物理公式物理量(單位) 公式 備注 公式的變形速度V(m/S) v S /t (S::路程; t::時間 )重力G(N) Gmg (m:質量;g:9.8N/kg或者10N/kg)密度ρ(kg/m3) ρ m:質量/V:體積 (m:…

饑荒聯機自建服務器有什么用,聯機版饑荒使用專用服務器的好處 | 手游網游頁游攻略大全...

發布時間: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#/ 背景 回顧 文件系統 …

計算機-p命令,OD(電腦命令)_百度百科

od 命令用途是以指定格式顯示文件。常見的文件為文本文件和二進制文件。此命令主要用來查看保存在二進制文件中的值。比如,程序可能輸出大量的數據記錄,每個數據是一個單精度浮點數。這些數據記錄存放在一個文件中,如果想查看下這個數據&…

Linux下編譯、鏈接、加載運行C++ OpenCV的兩種方式及常見問題的解決

Linux下編譯、鏈接、加載運行C OpenCV的兩種方式及常見問題的解決 在Linux下安裝完OpenCV C之后(還沒有安裝的讀者請參考Ubuntu 18.04 安裝OpenCV C),本文將探索Linux下編譯、鏈接C OpenCV的兩種方式,并且給出筆者在初次嘗試時遇…

win10無法檢驗服務器出示的ssl證書,win10系統網站啟用ssL安全證書的操作方法

win10系統網站啟用ssL安全證書的操作方法?很多win10用戶在使用電腦的時候,會發現win10系統網站啟用ssL安全證書的的現象,根據小編的調查并不是所有的朋友都知道win10系統網站啟用ssL安全證書的的問題怎么解決,不會的朋友也不用擔心&#xff…

Linux下構建自己的C++共享庫并配合pkg-config生成鏈接選項

Linux下構建自己的C共享庫并配合pkg-config生成鏈接選項 本文將以C鏈表的新建、打印操作為例構建自己的共享庫,并在實際調試代碼時嘗試使用。我們在做數據結構題時經常需要將鏈表打印出來看一下結果,但是并沒有一種庫函數可以讓我們直接調用來打印自己的…

webkitlineclamp css3,-webkit-line-clamp

無標題文檔static:對象遵循常規流。top,right,bottom,left等屬性不會被應用。 relative: 對象遵循常規流,并且參照自身在常規流中的位置通過top,right,bottom,left屬性進…

Linux內核初探

Linux內核初探 內核的組成部分 kernel:內核核心文件,一般為bzp_w_picpath,經過壓縮處理的鏡像文件;通常內核核心文件保存在/boot/目錄下,名稱為vmlinuz-version-release kernel object(ko):內核對象&…

Nplayer本地文件拷到服務器,手把手教你簡易NAS構建,手機/平板/智能電視隨意調取,家庭存儲云共享,有了自己的網絡云盤后再也不用擔心容量不夠了!...

之前嫌鍵盤俠煩,寫這些也沒意義所以把賬號注銷了文章刪除了,現在想了想我抗吧12級老蛆還噴不過這幫小兔崽子?換了skt.ruo穢土轉生,求噴子和我在各評論對線。特別是匿名dog見一個懟死一個。下面是之前號寫的內容原文 -#簡介NAS全稱…

gdb 入門

gdb 入門 簡介 gdb是GNU開源組織發布的一個強大的Linux下的程序調試工具。 一般來說,GDB主要幫助你完成下面四個方面的功能: 1、啟動你的程序,可以按照你的自定義的要求隨心所欲的運行程序。 2、可讓被調試的程序在你所指定的調置的斷點…

視頻監控系統中的平臺服務器,【視頻監控主機 網絡視頻集中管理平臺服務器】 - 太平洋安防網...

完善的管理功能管理系統內所有設備的接入及設備權限。設備狀態監視。系統資源及用戶權限分配及系統搶權管理。電子地圖。實現系統內視頻流的管理和轉發控制。可通過WEB遠程管理。強大的報警事件管理功能系統具備完善的報警及處理功能,能根據預先編寫事件 處理預案對…

Linux下的CUDA多版本管理

Linux下的CUDA多版本管理 關于CUDA、cuDNN等的簡介和安裝可參考:顯卡、顯卡驅動、CUDA、CUDA Toolkit、cuDNN 梳理。 CUDA多版本 有時我們會在一臺機器上同時看到多個版本的CUDA,比如nvcc -V和nvidia-smi的輸出就可能會不同: 在我們實驗室…

電腦顯示無法連接sql服務器,他人的電腦為什么無法連接我電腦上的sql sever服務器...

如果SQL2005連接不上,并且服務器上所有與防火相關的東西都關閉了,還是連接不上。進行如下操作:一、為 SQL 啟用遠程連接1. 單擊“開始”,依次指向“程序”、“Microsoft SQL Server 2005”和“配置工具”,然后單擊“SQL Server 外…

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以及如何基于…

圖像卷積及其計算(特征圖尺寸、參數量、計算量)

圖像卷積及其計算(特征圖尺寸、參數量、計算量) 卷積前后特征圖尺寸的計算 定義參數如下: 輸入特征圖尺寸: WWWWWW卷積核尺寸: FFFFFF步長: SSS填充的像素數:PPP 則有輸出特征圖尺寸為 NNNN…

圖解自監督學習(CV)

圖解自監督學習(CV) 譯自:https://amitness.com/2020/02/illustrated-self-supervised-learning/ 作者:Amit Chaudhary 注:譯者在某些地方對原文的表述做了調整,使其適合漢語的閱讀習慣,并在…