這個Computing課程包括了計算機科學(CS)、信息技術(IT)、數學素養(DL)三方面,計算機科學則是課程的核心和主線,如今,英國的小學生們在課堂上就能系統地學習編程和計算機知識了。

Computing新課標的核心理念,就是為了孩子們不再只是學習如何操作電腦,而是能去深入理解計算機科學,并且培養起計算思維。
這次小學計算機課程改革,有一個理念是貫徹了始終的,那就是計算思維,我們都認為,最好的計算機教育,是要教會小學生們用計算思維和創造力去改造世界!對很多家長來說,計算思維還是個聽著有些陌生的詞,也有人認為,有了計算思維,孩子們是不是就能像計算機科學家和專業人士一樣去分析、解決問題了?這真的現實嗎?
在我看來,小學階段的計算思維,主要還是教會孩子從計算機的角度去看問題,也就是說,面對問題時,他們需要考慮這兩點:如何讓計算機幫助我解決?計算機是以什么順序和方法解決這個問題的,我能借鑒嗎?要鍛煉這種思維方式,不僅是在電腦課上學編程,還要鼓勵孩子多將它應用到其他學科和實際生活問題的解決當中。
那么,計算思維到底分為哪幾個層次和方面?又是如何貫穿在課程教育中的呢?
1、算法設計
用簡單的話來說,算法就是用一個步驟、一個步驟的指令去完成某件事,或者規定某種情況運行的規則。一份食譜、一組舞步動作、一個話劇腳本,這些都是廣義上的“算法”。教孩子“算法”,就是在教他們思考:當計算機或者孩子自己要去某件事、解決某個問題時,都需要哪些步驟?
計算機科學面臨的日常挑戰之一就是找到更高效的算法(即使是針對同樣的問題),舉個例子,將它應用到課堂中,每天上學、放學時分,時間緊張,上學時爸爸媽媽催,放學時自己在教室待不住,但要做整理書本、記錄作業、理清一天的事情等等一堆瑣事兒,問問孩子,怎樣才能最高效地度過?
同時也可以引導孩子在使用各類APP和軟件時,有意識地去感受開發者們是如何設計界面的?菜單欄放在左邊還是右邊?要完成某個功能需要經過哪些步驟?對于做得好的設計形式,孩子們可以吸收模仿,也可以讓他們想想,有哪些功能可以更加高效地實現,以提升自己的創造力。
2、邏輯推理
計算機最大的特點就是“確定性”,你給它什么代碼,它就執行什么程序,你輸入什么,就會得到對應的結果。因此,只要看看算法代碼,孩子們就能夠預測到計算機將要做什么事兒。讓孩子們學會去預測代碼運行效果就是一個培養邏輯能力的好方法。
在這個過程中,他們需要整合和利用已知信息,通過邏輯去推斷結果。另外,當孩子們自己寫程序時,代碼中往往會出現很多小錯誤,需要不斷地“debug”,進行調試。解決這些bug并不是靠運氣或者偶然,靠的就是通過邏輯推斷去“模擬運行”這段程序,看看程序跑到那里會出現問題。
3、分解問題
我的老同事曾經說過一句名言,如何吃掉一只大象?一次一口!其實,開發軟件也是同樣的道理。不管是解決問題還是開發系統,都需要把整個大項目分成很多小部分來一一擊破,這樣通過調用不同的函數、算法、對象等就能使這些問題很快得到解決。
這種分解問題的方法不僅用在編程中,孩子們不管是學習什么科目,或是在日常生活中碰到什么問題,都可以用上這個“套路”,很快就能理順問題,提高解決效率。
4、模式認知
我們有句俗語叫“最好的計算機科學家就是最懶的計算機科學家”,他們懶在總是想要找到最快、最簡便的算法來解決問題,不僅自己開發,還常常借鑒、改編別人已有的成果。
孩子們在學習一段時間的編程后也會發現,他們經常一次又一次地再寫一些重復的代碼塊,程序員們往往把這叫做“模式”,也可以說是“通用解法”,它們就是標準代碼庫里每個人都能用到的那幾行。
當孩子們在學習編程時,不免會學習并模仿別人寫的代碼,使用Scratch這樣的編程入門軟件讓這一點變得很容易。而且,軟件開發的大環境也是傾向于會開放源代碼給編程愛好者們來改進測試的。孩子們會發現,編程里“模式”復制的這一套在每個學科里都很適用,不管是學語法造句還是學樂理編曲,這種認知模式可謂是文理通吃。
5、抽象思維
我認為,抽象思維是計算思維的核心。抽象思維是要讓孩子們去抓取一個問題或者系統的核心或者主要架構,而不是過于糾結細節。孩子們在美術、建筑相關課程中接觸到的管道示意圖就是個很好的例子,它完全忽略了實地距離,只是強調了各節點的連接方式和走向。
孩子們在學習編程的時候,就需要這樣抓著一條主干線,一開始可能是弄清楚自己要做什么功能,然后尋找實現的方法,至于如何表達數據,用什么硬件展示,如何提高CPU利用效率這些則都可以后續進行完善。有效的編程學習,就是這樣從大的層面展開,再去調整細節,最后,孩子們將學會:既能顧全大局,又能有的放矢,粗中有細。
最后我想,毫無疑問,編程學習將成為小學教學中非常重要的一部分,孩子們從編程中學習到的計算思維模式可以輻射到各個不同學科領域。而且,學習編程還有一個很大的原因是它非常有趣,能給孩子帶來成就感。無論如何,對于小學生們來說,學習代碼,可能是進入計算思維最有效、最適合的方式了