張明
摘要:本文以教學實踐為基礎,闡述了如何通過項目推進,引導學生利用Scratch軟件進行針對智能硬件的編程,實現諸如“節能智能燈”“溫控自動風扇”等項目的創造,提高學生創新能力,使其體驗成功的樂趣。
關鍵詞:Scratch;開源智能硬件;分層導學
中圖分類號:G434? 文獻標識碼:A? 論文編號:1674-2117(2019)06-0028-03
培養創新能力一直是新課標的重要理念,《小學信息技術新課程標準》中明確指出:要讓學生具有應用信息技術的能力;要注重培養學生的創新精神和實踐能力。引導學生發現生活中的問題,思考并尋找解決方法,使其以積極探索的態度,綜合運用所學信息技術知識和能力,創造性地解決問題。
Scratch的模塊化編程教學引入小學信息技術教學,開拓了小學信息技術的新天地,使枯燥的編程教學變得生動有趣,一幅幅漂亮工藝畫、一個個實用小程序、一個個趣味小游戲在學生的手中誕生,學生的創造性和想象力得到了很大提高。在此基礎上,結合開源智能硬件,可以使學生的創造實體化、實用化、生活化,更好地發揮學生的創造性,以及解決實際問題的能力。
開源智能硬件與Scratch
開源智能硬件包含兩個概念:開源硬件和智能硬件。開源硬件是繼承開源軟件的思想開發的,開源硬件的開發者將硬件所有資料包括原理圖、零件列表等公開,任何人或組織都可以使用這些資料。而智能硬件是繼智能手機之后的一個科技概念,是指通過軟硬件結合的方式,對傳統設備進行改造,進而讓其擁有智能化的功能。智能化之后,硬件具備連接的能力,實現互聯網服務的加載,形成“云+端”的典型架構,具備了大數據等附加價值。簡單來說,開源智能硬件就是可以依托軟件開發系統進行編程,使之實現指定功能的智能化硬件產品。
Scratch軟件是一款由麻省理工學院(MIT)設計開發的面向少年的簡易編程工具。這款軟件的特點是構成程序的命令和參數通過積木形狀的模塊來實現。其本身并不是開源硬件的軟件開發工具。但是經過努力,結合自身產品,很多廠商都推出了帶有硬件編程接口的Scratch軟件定制版,這就為小學階段實施基于Scratch的開源智能硬件編程打下了基礎,也能為學生將來學習Arduino智能硬件編程做鋪墊。
編程教學的實施
以“節能智能燈”項目為例,將整個教學活動分成如下頁圖1所示的五步。
1.合作討論,提出項目
問題是開啟任何一門科學的鑰匙,恰當的問題是良好學習的開端。問題的發現要來源于生活,問題的存在本身就反映了生活中的某個需求。激活學生的問題細胞,讓學生進入主動思考、發現問題的狀態,激發學生的問題意識。
筆者在進行“節能智能燈”項目時,創設了“校長請大家幫忙解決學校用電比較浪費”的情境,引導學生觀察學校里的燈具使用情況,小組討論并思考,得出“設計一款可以人來亮、人走滅和白天滅、晚上亮的智能燈具”的項目設計思路(如圖2)。
在整個項目的提出和設計的過程中,教師只是一個旁觀者、引導者。觀察、設計都由學生分組合作完成,培養學生的分析能力和項目設計能力。由于學生的能力不同,教師要對小組內成員進行合理分工,讓他們分別負責如觀察、討論分析問題、設計圖紙等不同任務。
2.依據實際,分析需求
在完成項目整體設計和流程圖設計的基礎上,教師要根據學校的開源智能硬件配備情況,進行需求分析,如采用怎樣的智能硬件進行編程,可以實現項目設計時所要達成的功能。
本項目中,在學生完成項目設計和流程圖設計后,根據需求,筆者決定以智能開發板為基礎,綜合利用光線感應器、人體紅外感應器等智能硬件,來實現指定功能(如圖3)。
在項目需求的分析中,教師的角色轉變為“推銷員”,介紹本校開源智能硬件的配備情況及其功能,由學生自主進行分析,哪些硬件可以實現本項目所需要的功能,如果編程,該怎樣進行。經過這樣的鍛煉,學生的分析能力和利用資源解決實際問題的能力得到了培養。
3.自主編程,實施創作
軟硬件都確定以后,接下來就可著手引導學生進行項目的實際編程。編程的過程分為兩步,一是設計程序流程草圖,確定程序的整體結構和需要用到的模塊,二是據此進行實際模塊化編程。由于學生的程序設計和理解能力差別較大,筆者在教學時采用了分層導學,對不同學生提出不同設計要求,力求實現所有人都有所收獲、不同的人在學習中有不同的收獲。
本項目中,學生先是進行了程序流程圖設計,利用兩次判斷架構進行功能的實現,然后進行了實際的程序設計:當綠旗被點擊—判斷光線感應器值是否大于200—是(燈滅)—否(判斷人體紅外感應器的值是否大于200)—否(燈亮)—是(燈滅)—等待60秒—程序重復(如上頁圖4),學生程序作品如上頁圖5所示。
通過先設計后制作的編程過程,引導學生意識到凡事預則立不預則廢,樹立設計意識,為學生創造想象空間,有效提高學生的設計規劃技術和實際編程能力。
4.回顧反思,優化產品
比爾·蓋茨曾經說過,“沒有什么東西比成功更能增加滿足的感覺,也沒有什么東西比成功更能鼓起進一步追求成功的努力”。當學生完成項目的程序設計以后,實際教學中不應滿足于現狀,而是應該將其作為拓展教學的契機,引導學生思考如何進行程序或產品的優化,來更好地解決生活中的實際問題。或者讓學生互相進行討論,提出對產品的意見或建議,拓寬學生的思路和設計理念。
本項目設計中,學生完成整體程序設計后,基本掌握了兩次判斷架構的程序設計和光線感應器、人體紅外感應器的應用。在此基礎上適當放手,給學生自由發揮的空間,引導學生舉一反三,拓展能力,將知識遷移應用,運用已有知識結構優化或者開發新工具。例如,通過判斷值的改變更精確地進行外界光線明暗和人體感應的判斷,防止出現誤觸發;通過等待時間的精確設計實現不同地點亮燈時間的不同變化,更好地節約能源等。
通過分析,引導學生對解決問題過程中的思路和所使用的策略進行反思,通過不斷的反思進行提煉整合,從而產生解決實際問題的有效策略,使方法實現最優化。而解決問題的教學不應把實現功能作為唯一教學目標,而應把眼光放在培養學生能力上,發展學生問題意識、策略水平和元認知水平,最終實現發展學生的創造力。
5.分享作品,享受成功
任何一個作品都是集體智慧的結晶,在完成作品的過程當中,學生們在物質上分享資源,在精神上分享知識和成功的喜悅。這種分享精神有助于培養學生的合作意識,有助于其以后更好地融入社會。
項目完成后,在教師的引導下,各小組之間進行了作品共享,學生互相欣賞作品,提出自己作品的設計思路,發現對方作品中的亮點,進一步思考如何優化自己的產品。互相的討論迸發了智慧的火花,互相的欣賞使他們收獲了成功的喜悅。
基于Scratch的開源智能硬件編程緊隨最新的科技發展潮流,采用了最適合小學生學習的模塊化編程學習法,經過一學年的教學,學生完成了多個用于解決實際問題的程序和硬件作品。接下來,筆者要將教學活動整理編撰,設計主題教學活動,力爭實現教學內容科學化、實效化、教材化。
參考文獻:
[1]淺談Scratch平臺下學生四個意識的培養[EB/OL].http://www.docin.com/p-1396140035.html.
[2]廖巍.終于輪到開源硬件了[EB/OL].http://www.docin.com/p-1136545648.html.