回覆列表
  • 1 # 編玩邊學教育

    它代表著一種普遍的認識和一類普適的技能,每一個人,不僅僅是計算機科學家,都應熱心於它的學習和運用。

    計算思維是建立在計算過程的能力和限制之上的,不管這些過程是由人還是由機器執行的。計算方法和模型給了我們勇氣去處理那些原本無法由任何個人獨自完成的問題求解和系統設計。計算思維直面機器智慧的不解之謎:什麼人類能比計算機做得更好?什麼計算機能比人類做得更好?最基本的是它涉及這樣的問題:什麼是可計算的?今天,我們對這些問題的答案仍是一知半解。

    計算思維是每個人的基本技能,不僅僅屬於計算機科學家。在閱讀、寫作和算術(英文簡稱3R)之外,我們應當將計算思維加到每個孩子的解析能力之中。正如印刷出版促進了3R的傳播,計算和計算機也以類似的正反饋促進了計算思維的傳播。

    計算思維涉及運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為。計算思維涵蓋了反映計算機科學之廣泛性的一系列思維活動。

    當求解一個特定的問題時,我們會問:解決這個問題有多困難?怎樣才是最佳的解決之道? 計算機科學根據堅實的理論基礎來準確地回答這些問題。表明問題的困難程度是為了考量機器——就是用來執行其解的計算工具之基本能力。我們必須考慮機器的指令系統、它的資源約束和它的操作環境。

    為了有效地求解一個問題,我們可能要進一步問:一個近似解是否就足夠了,是否可以利用一下隨機化,以及是否允許誤正或誤負。計算思維就是把一個看來困難的問題重新闡述成一個我們知道怎樣解的問題,如透過約簡、嵌入、轉化和模擬的方法。

    計算思維是一種遞迴思維。它是並行處理。它是把程式碼譯成資料又把資料譯成程式碼。它是由推廣量綱分析進行的型別檢查。對於別名或賦予人與物多個名字的做法,它既知道其益處又瞭解其害處。對於間接定址和程式呼叫的做法,它既知道其威力又瞭解其代價。它評價一個程式時,不僅僅根據其準確性和效率,還有美學的考量,而對於系統的設計,還考慮簡潔和優雅。

    計算思維採用了抽象和分解來迎戰浩大複雜的任務或者設計巨大複雜的系統。它是關注的分離。它是選擇合適的方式去陳述一個問題,或者是選擇合適的方式對一個問題的相關方面建模使其易於處理。它是利用不變數簡明扼要且表述性地刻畫系統的行為。它是我們在不必理解每一個細節的情況下就能夠安全地使用、調整和影響一個大型複雜系統的信心。它就是為預期的多個使用者而進行的模組化,它就是為預期的未來應用而進行的預置和快取。

    計算思維是透過冗餘、堵錯、糾錯的方式,在最壞情況下進行預防、保護和恢復的一種思維。它稱堵塞為死結,叫合同為介面。它就是學習在諧調同步相互會合時如何避免競爭的情形。

    計算思維是利用啟發式推理來尋求解答。它就是在不確定情況下的規劃、學習和排程。它就是搜尋、搜尋、再搜尋,最後得到的是一系列的網頁,一個贏得遊戲的策略,或者一個反例。計算思維是利用海量的資料來加快計算。它就是在時間和空間之間,在處理能力和儲存容量之間的權衡。

    考慮這些日常中的事例:當你女兒早晨去學校時,她把當天需要的東西放進揹包;這就是預置和快取。當你兒子弄丟他的手套時,你建議他沿走過的路回尋;這就是回推。在什麼時候你停止租用滑雪板而為自己買一對呢?這就是線上演算法。在超市付賬時你應當去排哪個隊呢?這就是多伺服器系統的效能模型。為什麼停電時你的電話仍然可用?這就是失敗的無關性和設計的冗餘性。完全自動的大眾圖靈測試是如何區分計算機和人類(簡稱CAPTCHA)的,即CAPTCHAs是怎樣鑑別人類的?這就是充分利用求解人工智慧難題之艱難來挫敗計算代理程式。

    計算思維將滲入到我們每個人的生活之中,那時諸如演算法和前提條件已成為每個人日常詞彙的一部分,非確定論和垃圾收集已含有計算機學家所指的含義,而樹已常常被倒過來畫了。

    我們已見證了計算思維在其它學科中的影響。例如,機器學習已經改變了統計學。就資料尺度和維數而言,統計學習用於各類問題的規模僅在幾年前還是不可想象的。各種組織的統計部門都聘請了計算機科學家。計算機學院系正在聯姻已有或開設新的統計部門。

    計算機學家們近來對生物科學的興趣是由他們堅信生物學家能夠從計算思維中獲益的信念驅動的。計算機科學對於生物學的貢獻決不限於其能夠在海量時序資料中搜索尋找模式規律的本領。最終的希望是資料結構和演算法——我們的計算抽象和方法——能夠以闡釋其功能的方式表示蛋白質的結構。計算生物學正在改變著生物學家的思考方式。類似地,計算博弈理論正改變著經濟學家的思考方式,奈米計算改變著化學家的思考方式,量子計算改變著物理學家的思考方式。

    這種思維將成為不僅僅是其他科學家,而且是其他每一個人的技能組合之部分。普在計算之於今天就是計算思維之於明天。普在計算是已變為今日之現實的昨日之夢,計算思維就是明日之現實。

    它是什麼,又不是什麼?

    計算機科學是計算的學問——什麼是可計算的,怎樣去計算。因此,計算思維具有以下特性:

    概念化,不是程式化。計算機科學不是計算機程式設計。像計算機科學家那樣去思維意味著遠遠不止能為計算機程式設計。它要求能夠在抽象的多個層次上思維。

    基礎的,不是機械的技能。基礎的技能是每一個人為了在現代社會中發揮職能所必須掌握的。生搬硬套之機械的技能意味著機械的重複。具有諷刺意味的是,只有當計算機科學解決了人工智慧的宏偉挑戰——使計算機像人類一樣思考之後,思維才會變成機械的生搬硬套。

    人的,不是計算機的思維。計算思維是人類求解問題的一條途徑,但決非試圖使人類像計算機那樣地思考。計算機枯燥且沉悶;人類聰穎且富有想象力。我們人類賦予計算機以激情。配置了計算裝置,我們就能用自己的智慧去解決那些計算時代之前不敢嘗試的問題,就能建造那些其功能僅僅受制於我們想象力的系統。

    數學和工程思維的互補與融合。計算機科學在本質上源自數學思維,因為像所有的科學一樣,它的形式化解析基礎築於數學之上。計算機科學又從本質上源自工程思維,因為我們建造的是能夠與實際世界互動的系統。基本計算裝置的限制迫使計算機學家必須計算性地思考,不能只是數學性地思考。構建虛擬世界的自由使我們能夠超越物理世界去打造各種系統。

    是思想,不是人造品。不只是我們生產的軟體硬體人造品將以物理形式到處呈現並時時刻刻觸及我們的生活,更重要的是還將有我們用以接近和求解問題、管理日常生活、與他人交流和互動之計算性的概念;而且,

    面向所有的人,所有地方。當計算思維真正融入人類活動的整體以致不再是一種顯式之哲學的時候,它就將成為現實。

    許多人將計算機科學等同於計算機程式設計。有些家長為他們主修計算機科學的孩子看到的只是一個狹窄的就業範圍。許多人認為計算機科學的基礎研究已經完成,剩下的只是工程部分而已。當我們行動起來去改變這一領域的社會形象時,計算思維就是一個引導著計算機教育家、研究者和實踐者的宏大願景。我們特別需要走進大學之前的聽眾,包括老師、父母、學生,向他們傳送兩個主要資訊:

    1) 智力上極有挑戰性並且引人入勝的科學問題依舊亟待理解和解決。這些問題的範圍和解決方案的範圍之唯一侷限就是我們自己的好奇心和創造力;同時一個人可以主修計算機科學並且幹什麼都行。一個人可以主修英語或者數學,接著從事各種各樣的職業。計算機科學也一樣。一個人可以主修計算機科學,接著從事醫學、法律、商業、政治,以及任何型別的科學和工程,甚至藝術工作。

    2) 計算機科學的教授應當為大學新生開一門稱為“怎麼像計算機科學家一樣思維”的課,面向非專業的,而不僅僅是計算機科學專業的學生。我們應當使大學之前的學生接觸計算的方法和模型。我們應當設法激發公眾對於計算機領域中的科學探索之興趣,而不是悲嘆對其興趣的衰落或者哀泣其研究經費的下降。所以,我們應當傳播計算機科學的快樂、崇高和力量,致力於計算思維的常識化。

    (作者:李一峰

    連結:https://www.zhihu.com/question/27881340/answer/38538031

  • 中秋節和大豐收的關聯?
  • mate9發熱問題?