\n
{!– PGC_VIDEO:{“hash_id”: 11986638699045001049, “thumb_height”: 360, “group_id”: 6368646109150101762, “media_id”: 5567486222, “neardup_id”: 11986638699045001049, “vname”: “\劉\康\平2.MP4”, “src_thumb_uri”: “12eb0013a7e3464df7d7”, “sp”: “toutiao”, “update_thumb_type”: “1”, “vposter”: “http://p0.pstatp.com/origin/13e5000868b47b8b64e9”, “vid”: “e6302ee7c4df435581d5a54b14cb4dce”, “thumb_width”: 640, “duration”: 588, “video_size”: {“high”: {“h”: 480, “subjective_score”: 1, “w”: 854, “file_size”: 22352093}, “ultra”: {“h”: 720, “subjective_score”: 1, “w”: 1280, “file_size”: 36545361}, “normal”: {“h”: 360, “subjective_score”: 1, “w”: 640, “file_size”: 17027884}}, “item_id”: 6368648641623622146, “user_id”: 5567358271, “thumb_uri”: “13e5000868b47b8b64e9”, “thumb_url”: “13e5000868b47b8b64e9”, “md5”: “0bb011f5f632c7eef5fbf6c2949caa0a”, “vu”: “e6302ee7c4df435581d5a54b14cb4dce”} –}
我兒子今年12歲,8歲的時候開始學習編程,現在寫了有幾千行代碼,號稱有4年多的編程經驗。
在今天這樣一個技術驅動的數字經濟時代,我們每個人都需要進行不斷的自我迭代,而迭代的一個途徑,就是學習計算思維,了解編程。
劉康平
-
微軟亞洲研究院資深學術合作經理
以大陸象棋為例,在這樣一個棋局上,你怎么用最快的方式找到「將」和「帥」所有合法的位置?
我們要通過計算機來做自動的求解,所以用A來表示「將」,用B來表示「帥」,然后因為它們只能在9個位置移動,所以我們用1到9進行編號,因為計算機最擅長處理數字。
規則很簡單,「將」在9個位置的任何一個,比如說在1的時候,「帥」只能在其他的6個位置,1、4、7因為跟「將」在一條直線上,是非法的位置。
-
第一, 用抽象的思維方式對這個問題做了分析和描述,尤其是一種數學上的表達;
-
第二, 在這個數學表達的基礎之上,找到了解決的方法,這就是計算機算法;
-
第三, 通過編程,把這個算法告訴計算機,編程語言是人和計算機之間溝通的語言。
計算機科學還有另外一個非常重要的思想,叫做分層(layer)。我們通過分層,可以把一個難的、復雜的問題,分解成若干個簡單的問題,分而治之。
通過分層,我們可以很好地隱藏掉很多技術細節,讓我們可以關注問題本身,讓我們可以很容易通過編程來實現創意。
上面象棋的代碼是用C語言寫的,要讀懂有一點難度。
不過你也可以像玩游戲一樣編程。
這是Minecraft的一個可視化編程環境,左邊是運行區域,可以看到你編寫的程式的運行效果;中間是編程可能用到的武器,你的工具、模塊等;右邊是編程的工作空間。
我們現在要做的問題是,左邊這個小人怎么能夠最快速的采集到3塊紅石?此時就要分析,上面有不止一塊紅石,我們要采集哪3塊?并且紅石下面可能有熔巖,你必須放上一塊圓石才能經過。到了紅石的跟前,需要用“摧毀工具”模塊來開采紅石。
開采完之后,我們要判斷底下有沒有熔巖。所以我把這個判斷模塊拖過來,如果有熔巖就放下一塊圓石,然后繼續前進。
注意看操作界面,左邊是運行效果,右邊有一個不斷移動的黃色高亮框,顯示當前正在執行哪個模塊,也就是哪行代碼。
在計算機領域有個概念,叫緩存(cache),就是把用戶頻繁使用的數據放到離計算最近的地方,也就是緩存里。這樣當用戶需要使用該數據的時候,就可以很快拿到。
就像我兒子一樣,他今天要上數學課,不需要重新回家拿數學課本,因為課本就在他的書包里。
第二,我們有很多條隊,這就叫并行計算,或者多線程。通過并行計算,我們就可以大大提高工作效率。
所以我想說,計算思維真的就像閱讀、寫作、數學一樣,應該成為大家必備的一項技能。有了它,你可以自己動手去實現創意。
但如果遇到更復雜的問題,就需要其他領域的專業知識。這時我們可以實現交叉創新,跟其他領域的專家合作。
我算一個攝影愛好者,尤其愛拍花。我們已經發現的花有25萬種之多,很多都說不上名字。
那么我們能夠用計算機幫助識別花卉嗎?可以,這是一個計算機視覺的問題,但是這個問題僅僅依靠計算機科學家很難獨立解決。
所以我們和中科院植物所合作,推出了行動電話app「微軟識花」。中科院植物所擁有數百萬帶標注的花卉圖片,更重要的是,他們有植物學的專業知識。
敦煌莫高窟經過了千年的歲月洗禮,風雨侵蝕和人為破壞,使得文化遺產的保護迫在眉睫。微軟亞洲研究院為敦煌量身定制了一臺十億像素的數字相機(行動電話像素現在一般是千萬級別,十億是一千萬的100倍)。
用這臺相機,一次性就可以拍下整個佛龕的圖像,甚至連陰影處的幾何細節也相當豐富。這種方式可以大大提高文化遺產數字化的效率。
我兒子今年12歲,8歲的時候開始學習編程,現在寫了有幾千行代碼,號稱有4年多的編程經驗。
在今天這樣一個技術驅動的數字經濟時代,我們每個人都需要進行不斷的自我迭代,而迭代的一個途徑,就是學習計算思維,了解編程。
這樣每個人都可能成為數字時代的創造者,甚至領導者。
小朋友需要開發思維