計算思維:編程教育的價值追求

2021-01-15 中小學信息技術教育



陸平:江蘇省信息技術特級教師,淮陰師範學院兼職副教授,淮安市陸平特級教師工作室領銜人,全國NOI優秀輔導教師。


我們在「編程」的旅途中,時常有茫然失措、忘了初心的感覺。為什麼要踏上編程之旅?為什麼要帶孩子們一起編程?有個聲音不早不晚地出現:因為通過編程,可以讓孩子們擁有與讀、寫、算同等重要的認知能力——計算思維!

 

是的,計算思維是我們俯下身子和計算機對話的入口,也是編程學習漫漫歷程中對編程學科本質的一種洞見。

 

計算思維的提出,最早可回溯到美國麻省理工學院(MIT)的西蒙·帕佩特(Seymour Papert)教授。美國卡內基梅隆大學的周以真教授則對其進行了系統闡述和推廣。周以真教授認為,計算思維代表著一種普遍的認識和一類普適的技能,每一個人,都應熱心於它的學習和運用。而習得計算思維,則能讓我們「像計算機科學家一樣思考」。對於計算思維,她是這樣定義的:「計算思維涉及運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為。計算思維涵蓋了反映計算機科學之廣泛性的一系列思維活動。」進一步地,她做了如下闡釋:「計算思維就是把一個看起來困難的問題重新闡述成一個我們知道怎樣解決的問題,如通過約簡、嵌入、轉化和仿真的方法」「計算思維是一種遞推思維,它把代碼譯成數據,又把數據譯成代碼」「計算思維採用抽象和分解迎戰浩大複雜的任務或設計複雜的系統」「計算思維的本質是抽象和自動化」。哈爾濱工業大學戰德臣等人則用「計算之樹」給出了計算思維多維度表述框架,認為「0和1」「程序」「遞歸」三大思維最為重要。

 

計算思維的概念眾說紛紜,即便如此,依然讓編程教育發現了自己的價值追求和行走路徑。


2016年4月,我為高一學生上了一節題為《算法的質疑與拓展》的程序設計研究課。沒有教材,沒有語言的限制。教什麼?幾經思考,我選擇計算機奇偶校驗模擬軟體設計與製作來詮釋算法,以滲透計算思維訓練,並在算法的質疑與拓展中豐富學生對算法的理解和技術哲學的思考。

 

【開局】

 

2016年3月9日,「人狗大戰」迎來首輪戰局。經過三個多小時鏖戰,九段李世石向「阿爾法狗」(AlphaGo)投子認輸。問題:1.李世石究竟輸給了誰?2.算法究竟是什麼?3.計算機是如何工作的?

 

課的設計圍繞「算法是什麼、計算機是如何工作的」的設問與如何培養計算思維兩條線索展開。

 

【算法分析】

 

藉助「小魔術」,揭秘計算機檢測錯誤的方法:奇偶校驗法。繼而尋找解決問題的方法和步驟。



玩法:出示25張整齊排列的牌,一面黑色,一面白色。第一步:請一位學生任意翻動牌。第二步:老師說「為了增加難度」,再增加一行和一列(實質為奇偶校驗行和列)。增加後,共36張牌。第三步:老師轉身蒙眼,學生任意翻動其中一張牌。第四步:老師準確找出被翻動的那張牌。

 

魔術中增加的一行一列,和計算機中奇偶校驗位的作用相似,是為了將行列「黑色」紙牌數量偶數化。這樣,一旦某張牌被翻動,便能迅速找出黑牌非偶數的行列交接點,即被翻動的紙牌位置。通過揭秘魔術,讓學生了解了計算機奇偶校驗的基本原理,為用奇偶校驗法模擬軟體進行數學建模和算法描述做好鋪墊。

 

【數學建模】

 

計算機本質是以「0」和「1」為基礎來表示現實世界的信息的。「0」和「1」是計算機軟硬體聯繫的紐帶。用「0」和「1」分別表示黑色牌和白色牌,可以為算法描述鋪路搭橋。

 

【算法描述】

 

教師引導學生輕鬆用N-S工具描述算法,一行一行枚舉,再一列一列枚舉,尋找黑色紙牌為奇數的行和列。二維矩陣中黑色紙牌為奇數的行列相交點便是要糾錯的數據。其實循環體部分包含了迭代算法。這也是一種重要的計算思維。

 

【算法實現】

 

算法實現(即編程)環節,僅僅設置了一個代碼查錯和一行代碼填空,弱化了代碼編寫,旨在引導學生既親歷程序設計的完整過程,又突出本課的重點,引導學生深度思考算法及其工作流程。圍繞奇偶檢驗軟體的研發,學生分析問題、數學建模、算法描述、編寫代碼、調試程序、修改程序、運行程序,親歷完整的思維過程。這些豐富的體驗,為最後環節做了充分的準備。

 

【質疑與拓展】

 

從最初困擾第一代計算機科學家的Bug到計算機輕鬆檢測並修復批量錯誤數據的修復算法的出現,學生能夠輕鬆理解:計算的發展史是算法不斷質疑與優化的歷史。



學生從現實問題產生的認知衝突開始,通過親歷一個項目從開始到結束的完整過程,很容易理解算法是程序設計的靈魂,阿爾法狗的勝利,其實是算法的勝利,阿爾法狗的智慧是人賦予它的。教學的過程也是學生思維不斷展開、生發的過程。隨著教學的開展,問題自然生發——

 

那是不是可以這樣理解:李世石不過是輸給了一幫人的智慧?是不是在未來的某一天,人類會被人告訴你:我是跟你學的,你也一樣愚蠢」讓關於算法的思辨升級,同學們開始追問失控的技術帶來的道德惡果。在思辨中,他們不斷重構意義,形成追問:人工智慧、深度學習,這些技術是否會成為人類的奇點?人造世界的走向將如何?

 

「人不會輸給人造的機器,本質上,人永遠是自己的掘墓人!因為人性的惡!」孩子文思泉湧,紛紛表達見解。

 

「我們生活在算法搭建的這個世界裡,所以你們,作為青年學子,對人類,對世界,對未來,對技術,都應該有自己的思考、見解和主張。」教師總結,算法學習課在掌聲中結束。


「學科教學能夠使學生終身受益的,不是具備具體的學科專業知識,而是影響他們世界觀、人生觀和價值觀的學科思想觀念……」

 

漂亮的代碼、嚴格規範的語言風格、計算思維的訓練都是編程學

習的重要內容。當一個孩子在少時候遇見編程,如果能夠真正地投入時間去掌握它們。那麼,編程於他們的意義,可謂一種觀察世界的全新視角。

 

筆者20年信息學奧賽的輔導中,遇到了不少熱愛編程的孩子。這些在童年時期開始接受紮實、專業編程訓練的孩子,在成年以後,他們的思維品質和眼裡的世界是什麼樣的呢?

 

「我本科學習的是物理。雖然所有人都是零起點學習求解複雜系統行為的計算方法,編寫處理實驗數據的函數模塊,擁有編程基礎的同學表現出驚人的學習速度。優良的代碼風格使得我們花在debug上的時間遠小於其他同學。對運行效率的精益求精早已融入了我們的血脈……不光是物理,從事量化交易編程、從事機器人策略研究、數學研究的同學,都對自身行業裡編程的重要性深有體會。」(朱恩臨,2009屆畢業生)

 

顯然,自小受過良好編程訓練的學生,對自己從事的專業,有了更多的機會和解決問題的途徑。

 

「編程,讓我們學會用計算的手段解釋物理世界中的現象。液體究竟是什麼?氣體究竟是什麼?為什麼水加熱會變成水蒸氣?磁鐵加熱為什麼會失去磁性?慢慢地,我們相信,物理世界是由簡單精確的定律所支配的。計算是理解物理世界規律的手段。任何在算法上可計算的問題,同樣可由計算機來計算。那是否意味著,我們有了計算機,就能計算一切?如果物理世界是由規律來控制的,那我們是否能用計算來預測未來?規則孕育了物理世界,物理世界創造了生命,生命擁有了意識和思維,思維認識了計算,計算回歸了物理的本源。我們為計算而生,終回到計算的長河中……」(蔣炎巖)

 

今天,我們重新翻開馮·諾依曼的《計算機與人腦》,在他的「神經脈衝的本質」的研究中和「神經系統的數字部分和模擬部分」的文字裡,無不在訴說著世界未來的種種可能。

 

著名的計算機科學家、圖靈獎得主艾茲格·迪傑斯特拉說:「我們所使用的工具影響著我們的思維方式和思維習慣,從而也將深刻地影響著我們的思維能力。」是的,生命的禮物總會意外賞賜給堅持的人。當他們訴說著編程給人生帶來的種種體驗時,他們的大腦中其實流淌著的正是計算思維!


長年為有天分的學生輔導信息學奧賽,讓筆者一直以為編程是個別有著數理天分學生的專利,直到遇到Scratch。「編程就是寫作,是一種表達方式,也是開發新的思維方式的入口」。

 

在筆者接觸Scratch不久,便決定將小學課本裡的這個編程平臺,移植到初中課堂,用中學生的思維進行編程學習。以前以複雜代碼為載體的程序的基本結構:順序、選擇、循環,以及各種難以記憶和理解的代碼不再成為孩子們創意表達的障礙。可視化的程式語言,本質上是可視化了的思維,讓思維的展開迅速,思維能見度清晰且寬闊,計算思維的訓練觸手可及。在這裡,文字、音樂、創造、邏輯、條理、推理、計算,不同的孩子可以獲得不同的收穫和思維訓練,他們充分地表達自己。

 

在Scratch中,孩子們輕鬆學會使用變量,能夠在對不同角色搭建腳本中理解模塊化編程的思想。他們有的編制中秋賀卡,有的編寫與音樂相關的程序,有的熱衷於編寫簡單有趣的小遊戲。我們可以自由獨立設計,也可以在別人設計的遊戲或者作品基礎上修改代碼,重構自己的作品,然後通過網際網路發布,與全世界編程愛好者分享。每一個優秀的作品,都需要謀篇布局,需要細節的診斷,需要耐力和創新能力。

 

例如,教師在課堂給出一個簡化版本的「彈球遊戲」。運行規則是:球自由下落,反彈板跟隨滑鼠移動,如果反彈板能夠接住球,就可以一直玩下去;如果接不住球,小球落到地面,遊戲結束。然後由學生接龍,修改、優化或重構,形成一個個改進的版本。其中一個版本的遊戲界面中多了來回走動的兩個角色,幹擾接球,加大了遊戲難度。

 

這是真正意義上的合作學習。每個人都可以分享自己的作品,也可以在別人的基礎上修改再分享。課堂上,學生可以做小先生,老師可以做學生。

 

從此,筆者的編程課,從課堂延伸到安靜的書桌,陽光下,草場,餐廳。學生學習編程,也可以利用編程進行學習,在作品設計過程中,因為作品需要,學生往往需要學習編程之外各門學科的知識。例如,有的學生為了編寫遊戲,還要研究遊戲背後人的心理特徵,進而思考玩家沉溺遊戲的深層次原因。

 

編程學習,終於脫下冰冷的外套,與我們每一個人友好相擁。在這個由算法搭建的世界裡,我們有了一種全新的表達方式,有了理解算法、構建世界的新通道。慢慢地,我知道,這個由算法搭建的世界需要了解我們,我們也需要了解它,因為這是一個計算的世界。當我們對編程有了足夠虔誠的態度,能夠深度地了解它,豐富地詮釋它,並用平靜而溫暖的心去與它相對時,它便回饋給我們同樣的姿態。

 

在編程的旅行中,計算思維喜樂陪伴,編程學習,我們重拾初心,穩步前行。

(作者單位:江蘇淮陰中學)


相關焦點

  • 北歐借編程教育培養計算思維
    理念 編程教育重在培養計算思維等關鍵能力 2006年,美國計算機科學家周以真開創性地提出「計算思維」概念,引發國際範圍對計算思維本質及其教育問題的廣泛討論。
  • 作為編程教育的核心,計算思維如何培養與評估?
    我們致力於將全球經典或是前沿的教育理念、教育技術、學習理論、實踐案例等文獻翻譯成中文,並希望能夠通過引進這類優質教育研究成果,在全球教育科學的推動下,讓更好的教育來得更快!譯者推薦語:美國勞工部預測,到2018年計算機將成為一個發展最快的就業市場,這種嚴峻形勢讓人們開始逐漸重視在K-12階段的計算思維培養。
  • 芥末翻 | 作為編程教育的核心,計算思維如何培養與評估?
    本文介紹了計算思維定義的發展演變及一些重要的研究文獻,探討了在K-12教育中如何進行計算思維的培養等話題,對於從事STEM教育的研究者必有所幫助;對於其他讀者,也可以通過此文擴展視野,了解計算思維在K-12領域的研究現狀。
  • 少兒編程火爆,如何培養孩子的計算思維?
    少兒編程火爆,如何培養孩子的計算思維?它與編程和計算機科學有什麼區別?尤其在教學方面,它們的區別在那裡?什麼是計算思維(CT)?簡而言之,計算思維是利用計算機科學解決問題的一種強有力的思維方式。具體闡述下計算思維的定義。當提出問題時,首先定義問題的內涵,然後利用計算的思路解決問題的方法就是計算思維。具有計算思維的人,會通過收集數據、分析數據來理解和思考問題。
  • 計算思維≠編程,該如何培養孩子的計算思維?
    原創 芳芳 STEAM在線 收錄於話題#教育觀念9個 看點 在STEAM教育中,很多家長聽說最多的可能是編程課程,而且很多編程機構也經常宣傳課程會著重培養孩子的計算思維能力、邏輯思維能力、解決問題的能力等。那麼計算思維究竟是什麼?對孩子的成長有哪些幫助?
  • 編程貓首席科學家:用科學教育、計算思維培養學生自主探索能力
    近期,編程貓首席科學家、編程與人工智慧研究院院長、北京航空航天大學自動化科學與電氣工程學院副教授秦曾昌在中國教育網絡電視臺、長安書院APP、CETV教師培訓微信公眾號等多平臺同步開展以培養孩子自主探索能力為主題的教師培訓直播講座,5萬在線觀眾參與並觀看了本次直播。
  • 少兒編程領導品牌「貝爾編程」閃耀GET2018教育科技大會!
    打造標準化內容和產品,培養以計算思維為中心的高AIQ人才少兒編程在政策持續利好、資本青睞、家長消費意願提高的背景下,迎來了大爆發。林釗仕在大會上強調,作為教育者應當從最本質的用戶價值出發,深度思考我們究竟能為用戶帶來什麼價值?如何為孩子賦能?目前少兒編程領域主流的價值主張主要分為三類:一是培養孩子的興趣,這類課程主要是以趣味性、遊戲化為重;二是切實提升編程能力,這要求擁有相對專業的多維教研人才隊伍;三是強調鍛鍊孩子的思維、問題解決能力、創造力等。
  • 如何在中小學落實計算思維教育?
    雖然新課標已經明確指出計算思維是「個體運用計算機科學領域的思想方法,在形成問題解決方案的過程中產生的一系列思維活動。」但許多信息技術教師還是不清楚計算思維的本質。那麼,什麼是計算思維?什麼是計算思維教育?
  • 極客晨星少兒編程培養孩子計算思維和創新思維
    2017年《國務院關於印發新一代人工智慧發展規劃的通知》中指明,國家對於人工智慧人才的迫切需求,要求實施全民智能教育項目,在中小學階段設置人工智慧相關課程,逐步推廣編程教育,鼓勵社會力量參與寓教於樂的編程軟體、遊戲的開發和推廣。
  • 貝爾編程榮獲中國網好教育「2018年度家長信賴兒童教育品牌」
    這既是對貝爾編程一直致力於「從用戶最本質價值出發,以計算思維為中心,打造標準化的課程內容和產品,培養面向AI時代的創新型人才」事業的高度肯定,也將不斷鞭策貝爾編程繼續秉承初心,投入更大的熱忱和精力到課程研發質量提升和優質師資隊伍建設中,為用戶提供更優質的編程教育!
  • 微軟正式啟動「編程一小時」活動 用計算思維分析解決問題
    微軟正式啟動「編程一小時」活動 用計算思維分析解決問題 2018年11月30日 13:57作者:吳陳純編輯:吳陳純文章出處:泡泡網原創
  • 貝爾編程CEO林釗仕受邀參加「2018ACE全球素質教育行業峰會」並...
    但是目前少兒編程市場滲透率不足百分之一,大眾對於這個「含著金鑰匙出生的新生兒」的認知尚處於淺層。所以,為了樹立對少兒編程的正確而全面的認知、明確其真正核心價值,推動少兒編程教育事業更健康、快速地向前發展,貝爾編程CEO林釗仕受邀發表了《你不知道的少兒編程》主題演講。
  • 少兒編程機構動態,編程貓教育發展日漸全面
    伴隨著人工智慧的浪潮,隨著父母收入和教育觀念的提升,整個兒童編程市場進入爆發式增長。編程貓致力於為青少兒提供更有價值的編程教育,旗下明星課程類型包括小火箭幼兒編程課、探月手機編程課、編程貓小班定製課等課程。編程貓已在北美洲、歐洲、亞洲、大洋洲的20多個國家進行了國際化部署。
  • Wing)教授論文《計算思維》編程思維究竟是...
    什麼是編程思維?以下是周以真(Jeannette M. Wing)教授寫的的一篇論文《計算思維(Computational Thinking)》。計算思維的覆蓋面更廣,也同樣能夠解釋什麼是編程思維。計算思維是每個人的基本技能,不僅僅屬於計算機科學家。在閱讀、寫作和算術(英文簡稱3R)之外,我們應當將計算思維加到每個孩子的解析能力之中。正如印刷出版促進了3R的傳播,計算和計算機也以類似的正反饋促進了計算思維的傳播。計算思維涉及運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為。
  • Mabot編程教育機器人榮獲芬蘭EAF國際教育質量認證
    Mabot是貝爾科教自研的球形編程教育機器人,它採用模塊化設計,由不同功能的模塊球組成,可任意無限連接,支持熱插拔,即插即玩,擁有變化無窮的玩法,適用於3歲以上兒童的STEAM教育、編程教育,是目前國內少數在EAF
  • 學編程不止是為做程式設計師,編程貓小火箭學員家長:學編程,是培養思維...
    不過,「少兒編程」這股風呼嘯而來時,已由不得她多做考慮。  繼教育部將人工智慧、物聯網、大數據處理等內容納入「新課標」後,各地教育部門進而積極響應,北京、上海、重慶、天津、廣東、浙江、四川等省市陸續開啟將少兒編程教育與應試教育的結合。  「早點學編程,早點受益。」
  • 【GET2018】景山學校毛澄潔:編程教育仍是從0到1的起步階段
    2010年之後,我們對編程教育相應內容的探索也比較超前,吸收了各類新技術,在課程創新方面有了一定的特色,形成了數字科學家課程、數字藝術家課程、數字工程師課程等課程,並在全國產生較大的影響。在2015年,我自己做了一件事,就是接受谷歌中國辦公室的委託,組織了十位專家進行谷歌計算思維課程中文版的開發。這個課程已經通過谷歌的官方網站發布了,可以免費下載。
  • 什麼是計算思維?在編程課程中是如何體現的?
    對於生活在科技和智能自動化時代的孩子們來說,理解計算機的思維方式,運用計算思維去解決生活中的問題,被認為和聽、說、讀、寫、算一樣,是每個人必備的思維能力。然而,到底什麼才是計算思維呢?對於計算思維,不同領域的科學家有不同理解。
  • 貝爾編程2019TCC編程挑戰杯正式啟動,為少兒編程教育普及助力!
    此次挑戰活動由國內領先的少兒編程教育企業貝爾編程主辦,騰訊Q爸媽俱樂部協辦,面向6- 12 歲中小學生開放,旨在培養學生計算思維、邏輯思維及創新意識、激發學生探究精神、提生中小學生編程水平,助推中國少兒編程教育普及!
  • 貝爾編程榮膺騰訊教育「2018年度影響力國際教育品牌」
    11月27日,作為全國教育行業風向標的騰訊「迴響中國」2018年度總評榜榮耀盛典在北京隆重舉行,少兒編程教育領導品牌「貝爾編程」從數千優質教育項目中脫穎而出,榮獲「2018年度影響力國際教育」大獎,貝爾編程CEO林釗仕代表貝爾編程出席了本次頒獎典禮並領獎。