盧文來 陳勇
自從美國卡內基·梅隆大學周以真教授2006年提出計算思維概念以來,計算思維便進入了大眾視野。在對計算思維的文獻進行梳理總結后,筆者將本文中的計算思維概念界定于兩個層面:理論性概括層面和可操作性框架層面。理論性概括層面指的是周以真教授對計算思維的定義,即計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。可操作框架層面主要以占德臣、聶蘭順和徐曉飛三位學者為代表,他們提出了以“計算之樹”為架構的計算思維的具體內容,包括0、1思維(信息編碼)、程序和算法、抽象和自動化、分解與建模、測試和調試等。在此基礎上,筆者通過分析初中信息科技課程內容,挖掘了若干以培養學生計算思維能力為目標的教學內容,形成了一定的教學策略,并開展了實踐研究,初步形成了以“計算思維培養”為目標的校本信息科技課程體系的架構。
校本信息科技課程目標

在確定課程目標的時候,筆者主要基于以下三點思考:第一是目標群體,課程目標應該符合初中學生的特征。每個學段的學生都可以提升自身的計算思維能力,其認知水平和心理特點都有差異,找到不同年齡階段孩子思維能力發展的方法有著積極的意義。第二是學科價值,課程目標應該盡可能探求信息科技課程的學科本質。學生不僅僅是適應信息技術,還要理解信息技術;不僅僅是學會外在操作,還需要抽象、分解、控制任務的實施;不僅僅是掌握解決問題的步驟,還需要發展交互性思維。第三是課程體系,課程目標應該是從課程整體角度思考,計算思維能力的培養不應僅僅納入基礎型課程,還應該在拓展和探究型課程中開展實踐。
校本信息科技課程內容
圍繞課程目標,筆者首先選取了計算思維的六個核心要素,即0、1編碼,系統,糾錯,算法,抽象和分解。然后,梳理整個初中階段的信息科技課程內容,針對每個內容確定了計算思維核心要素的落腳點(如下頁表所示)。其中基礎性課程是針對全體學生的,拓展性課程是針對在這方面感興趣的學生的。
基礎課程中的信息編碼和計算機系統是信息科技課程中的重要內容。信息編碼包括編碼及其特點、常見的文字和圖像編碼、編碼和解碼的基本過程、常見的編碼和解碼的方法、編碼給社會帶來的影響等。計算機系統最重要的就是馮·諾依曼計算機,從計算思維角度來看,它最核心的思維是程序如何被存儲、如何被CPU(控制器和運算器)執行。之后的個人計算環境、并行分布環境和云計算環境都是在此基礎上逐步發展起來的。在Excel數據建模單元中,計算思維的落實主要體現在“抽象和自動化”“對象和屬性”“數據類型與運算符”等方面。其中函數特別能夠體現計算機如何“自動”地完成任務,體現了自動化的過程。
拓展課程中的Pascal編程、App Inventor手機應用編程、Learn To Mod游戲編程三個項目均為編程。Pascal是傳統的基于代碼的編程,而后兩者是基于模塊的編程;后兩者的不同之處在于,App Inventor創造的是手機應用,Learn To Mod創造的是Mine Craft游戲中的一個個Mod;前者可應用于各個領域,而后者僅為游戲(Mine Craft)領域。
校本信息科技課程實施
1.加強團隊研修,統一對計算思維的核心認識
筆者所在的教研團隊共有7位教師,在基于計算思維培養為目標的校本課程建設的過程中,團隊成員一直在通過各種渠道圍繞“計算思維”開展研究和實踐,包括對計算思維的相關文獻資料進行搜集整理,開展教研活動分享、交流、深入討論;選擇課例開展教學設計,聽課并反饋修正后再行實施;參加關于計算思維的教學展示;開展信息技術研討會,邀請市區教研員、專家、顧問等就信息科技課程的學科價值進行探討,并給予指導。在此過程中,教師們逐步統一了對計算思維的核心認識,保障課程的順利實施。
2.優化教學策略,將計算思維核心要素扎根課堂
教學目標不同,教學設計思路也會不同。以演示文稿設計中的“動畫效果”教學為例,如果教學目標設定的是學會自定義動畫,包括進入、退出與強調的具體操作,那這個目標側重的就是技能;如果教學目標設定的是通過設置多個動畫,體驗創建動畫的一般方法,那這個目標側重的就是關于技能的方法;如果教學目標設定的是通過分析一個包含復雜動畫的PPT頁面,理解動畫之間的時序關系,那這個目標側重的就是計算思維的方法。因此,以“計算思維培養”為目標的課堂教學,需要緊扣計算思維的核心要素進行設計。特別需要關注的是“問題分解”“算法”和“糾錯”。
例如,用App Inventor設計一個簡易加法測試。假設每次測試共有10道題,系統會自動出題,產生兩個加數,用戶需要做的就是,按0~9這10個按鈕輸入答案,完成后點擊OK按鈕,系統就會判斷正誤,并反饋給用戶,隨后開始下一題的測試。如果滿10題,則結束本輪測試,將測試結果保存。整個過程中由計時器記錄時間。
這么一個看似簡單的、隨處可見的加法測試,對學生來說卻是一個復雜的大問題,教師需要引導學生把這個大問題分解為一個一個的小問題。此處,需要分解為至少7個小問題,依次是:①在兩個操作數區域產生隨機數;②點擊數字按鈕,相應數字會出現在答案區域;③點擊OK按鈕,判斷對錯,并在相應位置顯示出來;④點擊Del按鈕,去掉已輸入答案的最后一個數字;⑤使用計時器來計時并顯示;⑥完成10題,提示任務完成;⑦將測試結果存儲到數據庫中。接著,教師需要引導學生思考每個小問題如何解決,關注以下三點,即發生什么事情、發生在什么對象上,在什么情況下發生的。這個過程就是“制定問題”的過程,也是“抽象”的過程,使該問題能夠用計算機和其他工具來解決。這其中會涉及簡單的算法,如第六個小問題,其核心就是一個邏輯判斷。在完成一系列小問題的過程中,還需要不斷地進行測試與調試,去除代碼冗余,進行排錯等。當學生把所有小問題都解決了,大問題也就自然完成了。
當然,強調計算思維,并非不要落實知識技能或者過程方法。以解決問題為例(可以是知識技能的小問題,也可以是項目實施等大問題),首先需要的是技術,其次是一般方法,如果教學設計定位于此,可能也就夠了。但是,即便學生學會了如何解決問題,并不一定意味著他能理解問題為什么如此解決,也不一定能遷移到其他問題解決中。所以,以“基于問題解決的教學設計”為例,以往的教學可能關注的是計算機如何被使用,即如何選擇恰當的軟件,如何通過一系列軟件來構建一個問題的解決方案。而“基于計算思維的教學設計”則是在原來的基礎上,從計算思維培養的角度進一步進行設計,讓學生理解工具處理信息的思想,理解計算機系統如何工作,理解一個真實世界的問題應該如何被抽象、被分解為計算機可以解決的問題。
3.借助企業資源,推進計算思維的縱向實踐
隨著信息技術的飛速發展,一些計算機或互聯網行業的知名企業開始注重對教育領域的投入和支持,以此吸引更多的優秀人才在未來支撐計算機產業的發展,Google便是其中之一,我校自2003年開始與Google公司合作,連續三年舉辦了“我是Android應用開發師”的夏令營活動。夏令營以App Inventor為載體。在整個過程中,學校教師起著主導作用,從夏令營的策劃、課程的設計和實施到營員的招募篩選,教師全體參與、全程參與,開展系統的課程架構、開發課程、實施推進、授課;而Google更多的是提供其優質的資源,如App Inventor的第一手資料,國外教育的先進理念,MIT團隊的融入,Google工程師的講座,等等。雙方借助合作拓展學生視野,吸引了一批對計算機科學感興趣的有能力的學生。
與Google的合作不同,學校與另一家教育機構開展的“LTM項目”則采用了“教育機構主講、學校教師協助、雙方共同開發課程”的方式。LTM項目全稱為Learn To Mod,是基于Mine Craft的游戲編程。此項目中,教育機構進行課程設計、授課、在線輔導、跟蹤評價。學校教師負責學生的報名、選拔和組織;對課程設計提出修改建議;全程進行課堂跟蹤,給授課教師提出建議;關注學生行為和表現,并和家長溝通。另外,此項目涉及三個課程平臺:第一個是Learn To Mod徽章課程平臺,這是一個基于模塊化的編程平臺(國外教育機構開發,與學校合作的教育機構引進),該平臺由多個小教程組成,學生根據教程在線搭建模塊,循序漸進,每完成一個教程就會獲得一個徽章。這個課程主要是跟著范例進行操作,課程有個進度條,學生每成功搭建一個模塊,進度就會推進一步,直至100%。完成一個Mod,就可以在模擬器中測試。第二個平臺是Moodle課程平臺,由學校提供,教師上課會將學生在徽章課程平臺學習中的核心概念在上課時做系統梳理和點撥,利用Moodle課程平臺布置作業,非常扎實、規范、嚴謹地讓學生理解編程是什么,以及鼓勵他們把一些有創意的想法呈現出來。第三個是Mine Craft游戲平臺,這是個游戲平臺,學生最終會將自己編寫的代碼(以Mod形式呈現)裝載到這個平臺,以實現更多創造。
與企業的合作有助于雙方實現優勢互補。對學校來說,可以拓展渠道,提供多樣化的課程,以吸引不同類型學生的興趣,使計算思維的培養往縱深發展。
結語
筆者從計算思維的本質和信息科技課程價值角度出發,對如何將計算思維的培養納入學校信息科技課程做了一些探索和實踐。這些實踐不僅從頂層關注計算思維的學術視野,還嘗試結合實際對計算思維的核心內涵進行梳理和提煉,給出自己的解釋;不僅是理論思考,還嘗試將理論層層分解并最終落實于課堂教學;不僅在基礎課程中實施,使全體學生有所收獲,還嘗試在拓展課程中深化,使特長學生能夠得到長足發展;不僅在傳統的程序設計語言中實施,還嘗試在多樣化的軟件載體和應用平臺中開展實踐;不僅學校教師自己探索開發課程,還嘗試與企業合作開發課程。在整個課程架構的過程中,筆者及所在團隊對計算思維的理解從模糊到清晰,對課程資源的建設從借用到自主開發,在課程實施方面從初步探索到略有心得和收獲。
當然,計算思維的培養目標只是筆者所在學校信息科技課程目標之一,本文所述僅僅是圍繞計算思維培養目標所進行的課程初步架構,也是局部架構。關于計算思維的探索剛剛起步,如何真正地、全方位地將計算思維培養目標融入中小學信息技術教學,如何開展以計算思維為目標的課堂教學和評價,如何有序地實現小學、初中和高中的有效銜接,還需要更多教師的探索和實踐。