邱磊 李娟
一、培養計算思維的必要性
信息化改變了人類的生活方式和思維模式,圍繞科技創新、人才創新,具有計算思維也成為當今人才所必須具備的基本素養之一,因此,培養學生具備一定的計算思維能力成為基礎教育的研究課題。
計算思維的概念由周以真教授于2006年3月首次提出。周教授認為:計算思維是運用計算機科學的基礎概念進行問題求解、系統設計以及人類行為理解等涵蓋計算機科學之廣度的一系列思維活動。
我國《普通高中信息技術課程標準》明確指出,計算思維是信息技術學科的核心素養之一,是指能夠采用計算機領域的學科方法界定問題、抽象特征、建立結構模型、合理組織數據;通過判斷、分析與綜合各種信息資源,運用合理的算法形成解決問題的方案;總結利用計算機解決問題的過程與方法,并遷移到與之相關的其他問題解決過程中。具體表現為解決問題過程中的形式化、模型化、系統化、自動化。
二、培養計算思維所面臨的問題
(一)重技術,輕能力
程序設計課程是有效培養學生計算思維的重要課程。在課堂教學中,教師多采用一些例如VB、C語言等編程工具來完成教學內容。為了達成教學目標,教師需要大量的時間去講解語法以及工具的使用。但是,由于課時的限制,教師將教授工具的使用作為重點,而缺少了讓學生自主探究、分析、創新、解決問題的過程,忽視了培養學生能力這一根本目標。
(二)重語法,輕方法
由于大多數中學生是首次接觸程序設計,缺少編程基礎,程序語法的繁瑣與抽象成為阻礙中學生學習的絆腳石。而短短的四十五分鐘課堂教學,教師想辦法、找策略,忙于解決如何讓學生掌握語法的問題,顧此失彼,強化運用技術解決問題這一最根本目標只能匆匆了事,甚至無暇顧及。
(三)重結果,輕過程
信息技術課堂應該是充滿探究、合作、創新、解決問題的基于項目化的新型課堂。一個完整的項目,包括發現、分析、探究、討論、協作、解決、完成、測試、匯報、再改善等多個環節。當前,在信息技術課堂中,教師已經普遍采用基于項目式、主題式的教學方式,但是,受學情及課時的限制,教師只能將整體項目簡化為技術解決、完成、測試等部分過程,而不能保證整個項目的完整性。項目中的每一個環節都有各自培養能力的任務及目標,缺少某個環節,對于學生的能力培養就是缺失的、不完整的。
三、可視化編程帶來的有益效果
可視化編程規避了抽象繁瑣的程序語法,通過直觀的拖拽操作,像搭積木一樣,在玩的過程中構造出程序邏輯,解決問題,完成任務。可視化編程對于培養中學生計算思維的優勢體現在以下方面:
第一,輕技術講解重能力培養。可視化程序的前期,程序員已將程序代碼封裝在功能模塊中,對于毫無編程基礎的中學生來講,繁瑣、枯燥、令人頭疼的程序代碼是完全透明的,而他們需要做的是好的創意,設計邏輯,拖拽模塊,調試程序,解決問題。
第二,輕操作重創意。得益于可視化編程其極富創意的操作方式,可以大大地降低編程成本。使用者的精力從編寫代碼中解放出來,將重心轉為邏輯設計和思維創意。并且每個可視化編程背后都有一個強大的精英團隊,他們不斷地完善功能模塊,使用者不必擔心平臺可持續使用的問題。
第三,適合基于項目式的教學模式。可視化編程雖然化繁為簡,無需使用者編寫代碼,但是麻雀雖小五臟俱全,整個項目的每個環節都必不可少,都是對學生能力的培養。
第四,更適用于沒有編程基礎的中小學基礎教育。提高學生信息素養中包含了計算思維和創新能力兩大培養目標。可視化編程其封裝代碼的獨特性,使其可以很好地對硬件進行控制,將機器人和各種傳感器等創客硬件產品結合成模塊,便于教師開展創客教育。
四、基于可視化編程的培養模式
(一)計算思維培養模式的幾個層面
1.人機交互層面。
人機交互是指學生將生活中的問題轉化為計算機可以接受的形式輸入到計算機中,通過計算機的處理,輸出解決問題。在這一環節中,學生在設計計算機輸入、輸出的交互過程中培養了計算思維。
2.抽象建模層面。
抽象建模是指學生抓住解決問題過程中的每個環節的關鍵特征,通過簡化的方式降低其復雜度,變為計算機可以處理的模型。筆者認為抽象建模是培養學生計算思維的關鍵點。
3.功能邏輯層面。
功能邏輯即我們通常說的計算機算法,更通俗地講,是解決問題的辦法。此層面為培養學生計算思維的難點。
(二)基于可視化編程的計算思維培養模式的思考
1.將“總體分解”變為“層層深入”。
在傳統的信息技術課堂教學中,教師通常采用“總體分解”達成教學目標。但是,由于學生在教師的引導下統一步調完成任務,缺少差異培養,學生也失去了深入探究思考的機會。可視化編程簡化了編寫代碼與學習語法的過程,只要有好的創意,學生通過思考算法,便可以通過拖拽功能模塊實現想要得到的功能。因此,教師可以先布置底層任務,讓學生發揮自己的想象力,探究思考,逐漸擴展。在“層層深入”的教學模式下,每個學生具有不同視角,學生得以探究思考,最終實現自己的創意。
2.將“分工協作”變為“小組合作”。
在傳統的項目式教學模式中,教師采用分組協作教學策略,學生形成分工,共享成果,但是由于分工的不同,每個學生所涉及的環節不同,每個人對于整個項目是不完整的,學生個體對沒有涉及的環節就失去了培養機會,不利于學生計算思維的整體發展。可視化編程簡化了技術方案,教師在布置項目后,要求每一個學生獨立思考,再與小組其他成員交流分析,取精華去糟粕。這樣將小組協作變為小組合作,每個學生都有完整的思考創作過程,同時在擇優整合的過程中也學到其他同學好的方法與創意。
3.將“結果評價”變為“過程性評價”。
在傳統的任務驅動教學模式中,教師更關注于對任務結果的評價。而學生的計算思維是在不斷思索、反思、延伸、拓展中發展的。因此,“結果評價”顯然并不利于學生計算思維的發展。
教師在采用基于可視化程序教學模式中,應當布置開放式的任務,逐步拓展問題域,逐級提升任務難度。讓學生在完成任務的過程中自我評價,不斷反思。一個階段的任務需要在前一階段任務完成的基礎上形成的新思路、新方法來解決。教師允許延后結果反饋,鼓勵學生不斷地發散思維,培養他們的創造性思維。
五、教學實踐的應用
本文以基于App Inventor培養計算思維的教學實踐為案例,闡述基于可視化編程計算思維培養模式的有效性。
App Inventor是—個完全在線開發的Android編程環境。它將復雜的編程代碼轉變為積木式的堆疊方式,使用者僅需要根據自己的需求,完成簡單的代碼拼接程序。這是比較典型的模塊化可視化編程環境。
這里以“我是一名小畫家”項目為例,在此課程之前,學生已經掌握了布局、畫布、點、線等相關組件的使用。步驟一,問題設置,教師引導學生分析具體問題,想一想現實中繪畫需要哪些步驟,需要哪些基礎功能,寫出需求分析;步驟二,初步抽象,根據需求利用App Inventor平臺,合理地選擇恰當的組件及合理的邏輯來驗證自己的想法,并寫出流程圖;步驟三,形成,教師合理分組,要求每個組員獨立完成每個環節,包括前臺設計以及后臺邏輯等,每個環節完成后,小組討論哪個方案最合理,選出最優方案后再進行下一個環節;步驟四,問題疊加,教師采用啟發式教學,引導學生思維延伸,將問題疊加,復雜度逐級提升。在整個實驗過程中,學生思維發散、活躍,課堂氣氛活躍,符合計算思維的培養課堂教學的要求。
六、結語
《新一代人工智能發展規劃》指出,要在中小學實施計算機編程方面的教育。這就為基礎教育,尤其是信息技術教師提出了新的課題。本文充分利用可視化編程的易學易用、開發成本低、速度快等優勢對中學生計算思維培養提出了一些新的方案。本文在實踐過程中,雖然面臨著實驗對象較少、時間不足等問題,但是實驗結果顯示有益效果明顯。
(責任編輯左毓紅)