隨著有關(guān)計算思維培養(yǎng)理論與實踐的不斷深入, 單純由“信息素養(yǎng)”觀念所主導(dǎo)的信息技術(shù)教育越來越不適應(yīng)當(dāng)前國內(nèi)的中小學(xué)信息技術(shù)教育叫胖。重視計算思維培養(yǎng)的發(fā)展趨勢, 讓學(xué)生全面理解在信息時代的生活環(huán)境, 并利用所學(xué)到的技術(shù), 利用學(xué)科思維的方式去解決生活中碰到的實際問題讨盒。編程教育作為學(xué)校校本課程的內(nèi)容, 可以很好地補充當(dāng)前中小學(xué)信息技術(shù)課程的不足, 滿足不同學(xué)生的興趣需求。在編程的過程中, 掌握一些算法的知識, 擴大學(xué)生的視野, 增強問題解決能力, 給學(xué)生帶來快樂瑰煎、減輕壓力, 使學(xué)生在繁重的學(xué)習(xí)中得到放松。
根據(jù)當(dāng)前信息技術(shù)教育學(xué)術(shù)界主流的思想以及國內(nèi)外形勢的分析, 我們認(rèn)為, 編程教育對學(xué)生在計算思維的培養(yǎng)方面有著得天獨厚的優(yōu)勢, 有助于培養(yǎng)學(xué)生的問題分析能力和問題解決能力哨坪》质《上海市中小學(xué)拓展型課程指導(dǎo)綱要》指出, 拓展課程的科目方案的編制, 應(yīng)充分考慮各年級學(xué)生的認(rèn)知基礎(chǔ)、興趣特點等要素, 以提升學(xué)生對科目的關(guān)注程度與投入程度梗劫。由此可見, 在中小學(xué)開發(fā)編程教育校本課程是非常有必要的享甸。
編程教育校本課程開發(fā)的策略和方法
編程教育校本課程開發(fā), 除遵守基本的校本課程開發(fā)要素外, 也要有一定的策略和方法。
1.以項目引領(lǐng), 注重問題分析梳侨、解決
通過編程教育發(fā)展和培養(yǎng)學(xué)生的計算思維, 我們需要改變以往學(xué)習(xí)編程語言的方法蛉威。很多計算機專業(yè)的學(xué)生都學(xué)習(xí)過計算機編程語言, 但是卻不能寫出一個完整的程序。原因在于, 其學(xué)習(xí)過程中, 只是學(xué)習(xí)表達(dá)式猫妙、循環(huán)瓷翻、條件判斷等命令行, 最終只能學(xué)到該編程語言的語法結(jié)構(gòu), 而不能應(yīng)用于現(xiàn)實問題的解決。周以真指出, 計算思維培養(yǎng)的關(guān)鍵是“抽象”和“自動化”, 不孤立地教編程, 一開始就讓學(xué)生把抽象和實現(xiàn)“自動化”的編程結(jié)合起來, 這也是我們開發(fā)校本教材的總原則割坠。編程只是實現(xiàn)問題“自動化”解決的一個部分, 學(xué)生通過了解項目中提出的問題和需要解決的問題, 一開始就把解決問題的思路與解決實際問題結(jié)合起來齐帚。在解決問題的過程中, 分析問題、規(guī)劃制定解決方案, 并引導(dǎo)學(xué)生用批判性思維來衡量方案的可行性, 然后再著手實現(xiàn)彼哼。
編程教育校本教材, 在如何選擇項目上, 需要遵循一定的方法对妄。
(1) 項目主題選擇從身邊實際問題出發(fā)。為培養(yǎng)學(xué)生解決實際問題的能力, 項目主題要選擇接近生活敢朱、能切身感受到的主題, 這樣容易引起學(xué)生的共鳴剪菱。如日常生活中常碰到平均數(shù)的問題, 計算商品的平均價格、平均成績等, 讓學(xué)生考慮如何用計算機科學(xué)的思維去解決相應(yīng)的問題, 通過學(xué)生對問題的分析和實踐操作, 推動到相似問題的一般性解決方案中去拴签。
(2) 項目主題選擇的趣味性孝常。編程教育校本教材項目選擇的主題還應(yīng)該考慮到學(xué)生的年齡特點和認(rèn)知程度, 項目主題的趣味性直接影響項目開展和學(xué)生實踐的效果。選擇學(xué)生感興趣蚓哩、容易理解的項目, 可以促進學(xué)生對問題的深入思考, 并觸動其對問題的分析构灸。
2.以Scratch為載體, 降低編程準(zhǔn)入門檻
編程教育的開展需要依托一門程序語言。繼LOGO語言之后, 美國麻省理工學(xué)院多媒體實驗室推出了一種新的程序式語言——Scratch岸梨。這是一種類似于搭積木的可視化程序編寫方式, 一經(jīng)推出, 就受到了廣大初學(xué)者的青睞喜颁。
(1) 可視化編程。相比之前在中小學(xué)學(xué)生中推行的LOGO曹阔、Basic語言, 其最大的優(yōu)勢是不需要學(xué)生記憶命令行, 使用者可以不認(rèn)識英文單詞, 也可以不會使用鍵盤半开。其構(gòu)成程序的命令和參數(shù)通過積木形狀的模塊來實現(xiàn), 用鼠標(biāo)拖動模塊到程序編輯欄就可以輕松實現(xiàn)程序編寫。熟悉程序開發(fā)的人都知道, 不同的程序語言只是實現(xiàn)的語法命令不同, 在問題解決的思路上是一致的, 只是解決問題所編寫的代碼不同而已赃份。培養(yǎng)學(xué)生的計算思維, 注重的是培養(yǎng)學(xué)生的解決問題的思路, 與編寫代碼的語法沒有太大的關(guān)系寂拆。Scratch正是這樣一款可視化的, 忽略命令行代碼的編程軟件, 不需要學(xué)生去記憶枯燥乏味的命令行, 為學(xué)生最終實現(xiàn)編程大大降低了門檻。
(2) 積木模塊類型豐富抓韩。Scratch作為一門編程語言, 提供了與其他編程語言一樣的語法模塊, 積木模塊共分8類, 100多種功能纠永。通過模塊分類呈現(xiàn)的方式, 學(xué)生只需要選擇合適的模塊, 將其拖曳到程序的編輯欄, 即可使用。
(3) 支持的硬件越來越多园蝠。隨著Scratch編程軟件被廣大使用者不斷青睞, 與其對接的外部硬件設(shè)備也越來越多, 如Make Block渺蒿、Labplus、樹莓派等產(chǎn)品彪薛。這些產(chǎn)品都結(jié)合了硬件傳感器, 使編程的內(nèi)容不僅僅局限于電腦屏幕, 而是可以通過編程控制外部設(shè)備, 拓展了Scratch的可編程應(yīng)用空間茂装。
3.以STEAM為課程框架, 拓展學(xué)生視野
STEAM (科學(xué)、技術(shù)善延、工程少态、藝術(shù)、數(shù)學(xué)) 教育五個學(xué)科跨界結(jié)合, 打破常規(guī)了學(xué)科界限易遣。在編寫編程教育校本課程時, 我們也考慮把這些領(lǐng)域的項目有序地放到一起, 以此讓學(xué)生有機會接觸各個領(lǐng)域的問題彼妻、知識, 激發(fā)其興趣愛好。STEAM教育注重與現(xiàn)實世界的聯(lián)系, 注重學(xué)生的學(xué)習(xí)過程。它讓學(xué)生們自己動手完成他們感興趣的并且和他們生活相關(guān)的項目, 從過程中學(xué)習(xí)各種學(xué)科以及跨學(xué)科的知識侨歉。
選擇與STEAM教育相關(guān)領(lǐng)域的項目, 并且與現(xiàn)實生活結(jié)合, 我們在開發(fā)教材的過程中, 設(shè)計了如表1的課程目錄屋摇。
選擇這些項目的同時, 還需要考慮以下幾個方面的內(nèi)容。
(1) 程序設(shè)計相關(guān)知識點的合理分布幽邓。作為編程教育的校本教材, 選擇Scratch編程語言為載體, 需要考慮針對Scratch8大模塊知識點的合理分布, 學(xué)生通過系列項目的實踐, 熟練掌握基于Scratch的基本程序設(shè)計炮温。對于初學(xué)程序設(shè)計的學(xué)生而言, 控制、偵測牵舵、數(shù)字和邏輯運算以及變量四大模塊中一些基本功能有一定的難度, 學(xué)生只有在不斷的實踐中慢慢體會與提高柒啤。對于一些相似的功能, 如動作、外觀中的大部分功能, 學(xué)生使用一次后, 就可以基本理解畸颅。針對這些功能, 可設(shè)計在教材的練習(xí)部分, 鼓勵學(xué)生進行創(chuàng)造性的使用, 而無須覆蓋在教材的主題部分担巩。
(2) 項目跨學(xué)科特性、拓展性没炒。校本教材雖然基于STEAM教育的五種類型進行了項目的劃分, 但是每個項目內(nèi)部還存在著跨學(xué)科的知識涛癌。有些知識學(xué)生可能沒有接觸過, 就需要在項目中進行必要的知識拓展, 以幫助學(xué)生理解項目闡述的問題或者幫助學(xué)生解決碰到的實際問題。如針對三年級學(xué)生而言, 還沒有接觸過坐標(biāo)的概念, 要把角色移動到某個坐標(biāo)位置, 就需要把坐標(biāo)的概念闡述清楚, 便于學(xué)生理解計算機屏幕是由無數(shù)個點組成的, 每個點都有橫窥浪、豎兩個維度的值, 以確定點的位置, 我們稱之為點在屏幕上的坐標(biāo)祖很。角色所在的位置, 其實就是屏幕上的某個點的位置, 也是一個坐標(biāo)……通過類似的知識拓展, 學(xué)生可以了解更多跨學(xué)科的知識。
4.以學(xué)生認(rèn)知規(guī)律為基礎(chǔ), 遵循編程學(xué)習(xí)的一般規(guī)律
對于學(xué)生而言, 學(xué)習(xí)計算機編程有利于發(fā)展抽象思維, 有利于學(xué)會一種新的解決問題的技能, 從而能自覺將之應(yīng)用到未來的日常生活漾脂、學(xué)習(xí)和工作中去假颇。學(xué)生在學(xué)習(xí)編程的時候, 由于其年齡特征、知識結(jié)構(gòu)和生活經(jīng)驗的限制, 在分析問題和解決問題的過程中還需要不斷的引導(dǎo)骨稿。
(1) 在內(nèi)容的編排上, 遵循由淺入深的規(guī)律笨鸡。編程教育培養(yǎng)的解決問題的方式, 自然是通過程序設(shè)計解決某些實際問題。在此之前, 作為校本教材, 也需要做好程序設(shè)計的相關(guān)鋪墊工作坦冠。如在項目的先后順序編排上, 需要考慮程序設(shè)計所需知識的循序漸進形耗。在教材的前面部分所安排的項目, 程序?qū)崿F(xiàn)不能過于復(fù)雜, 可用一些情景影片、知識介紹性的項目, 如太空探險辙浑、生態(tài)園等, 學(xué)生制作一個以介紹為主的程序, 或制作一段情景動畫, 在培養(yǎng)學(xué)生興趣的同時, 實踐程序設(shè)計的相關(guān)模塊功能的應(yīng)用方法激涤。接下來, 可引入控制類模塊的功能, 如條件判斷、循環(huán)等, 學(xué)生在了解計算機強大的運算能力及規(guī)范的運行流程的情況下去運用這些控制類功能判呕。學(xué)生可以體會到在什么情況下需要用到循環(huán), 在什么情況下需要進行條件的判斷, 通過項目的不斷實踐, 慢慢體會倦踢。最后, 再上升到程序功能的綜合應(yīng)用, 如開發(fā)一些小游戲, 對游戲中的角色、變量侠草、狀態(tài)加以控制等辱挥。
(2) 編程教育解決問題的標(biāo)準(zhǔn)化流程。編程教育還關(guān)注一個重要的問題:學(xué)生學(xué)會從碰到問題到解決問題的標(biāo)準(zhǔn)化處理流程以及養(yǎng)成良好的編程習(xí)慣, 即解決問題的習(xí)慣边涕。有過程序開發(fā)經(jīng)驗的人都知道, 要開發(fā)一個應(yīng)用通常要經(jīng)過需求設(shè)計晤碘、詳細(xì)設(shè)計褂微、代碼編寫、調(diào)試园爷、發(fā)布這樣的基本流程宠蚂。在中小學(xué)實施編程教育, 我們不是以培養(yǎng)程序員作為目標(biāo), 但學(xué)生需要清晰地了解解決問題的一般過程。我們需要引導(dǎo)學(xué)生對問題進行認(rèn)識和分析腮介、探討問題的關(guān)鍵之處肥矢、選擇性地使用合適的方法并對解決過程的關(guān)鍵步驟進行深入的探討端衰。如問題考慮是否存在缺陷, 是否還有其他可能存在的情況發(fā)生等, 不斷地提出質(zhì)疑, 通過不斷地思考和分析問題規(guī)劃程序開發(fā)的流程, 最后上機進行實踐叠洗。
編程教育校本課程開發(fā)與實踐的注意事項
01
課程開發(fā)的注意事項
校本課程要依據(jù)課程目標(biāo)和國家課程理念進行課程開發(fā), 應(yīng)該體現(xiàn)課程的系統(tǒng)性。在開發(fā)編程教育校本課程的過程中, 還有以下幾個注意事項旅东。
(1) 課程內(nèi)容選擇要有廣度灭抑。所謂廣度是指在課程開發(fā)的過程中, 不但考慮基礎(chǔ)性的知識, 而且需要考慮內(nèi)容的新穎性和實時性, 能使學(xué)生在學(xué)習(xí)課程的過程中接觸較新的技術(shù), 了解當(dāng)前最新的技術(shù)發(fā)展, 開拓眼界, 為激發(fā)其創(chuàng)造能力提供基礎(chǔ)。如需要考慮融入外部硬件的控制編程, 尤其在中高年級抵代。編寫與外部設(shè)備交互的程序, 能激發(fā)學(xué)生的興趣, 同時培養(yǎng)其動手實踐能力, 消除技術(shù)的神秘感腾节。
(2) 課程內(nèi)容實施要有梯度。所謂梯度是指課程內(nèi)容的選擇要適合不同年齡學(xué)生的不同需求荤牍。如低年級學(xué)生宜選擇一些以動畫設(shè)計為主的內(nèi)容, 在學(xué)習(xí)編程工具和編程知識的同時培養(yǎng)興趣;中高年級的內(nèi)容則偏向于算法思維和問題解決能力的培養(yǎng)案腺。
(3) 課程內(nèi)容呈現(xiàn)要有智度。作為中小學(xué)信息技術(shù)課程的補充教材, 要規(guī)避編程純技術(shù)的內(nèi)容呈現(xiàn)方式, 如為了讓學(xué)生能自己編寫程序, 把程序中的表達(dá)式康吵、循環(huán)和條件判斷語句先進行教授劈榨。在問題解決的過程中, 用到一個教授一個, 讓學(xué)生體會程序語法的實際用法和作用。中小學(xué)編程校本課程是為了培養(yǎng)學(xué)生的計算思維, 在教材編寫過程中, 要體現(xiàn)問題解決的過程, 通過一些提示性的語言激發(fā)學(xué)生的思維, 或引導(dǎo)其對問題進行思考和分析, 或激發(fā)其創(chuàng)造性思維進行程序的拓展和延伸晦嵌。
02
課程實施的注意事項
(1) 鼓勵學(xué)生進行創(chuàng)作同辣。創(chuàng)作的過程同樣是反復(fù)實踐的過程, 把課內(nèi)的知識遷移到其他問題的解決中去。在編程教育中, 學(xué)生通過自身的努力每完成一個項目, 定會收獲編程教育帶來的喜悅惭载。在教材的編寫過程中, 每個項目的課后練習(xí)部分, 可鼓勵學(xué)生在項目的學(xué)習(xí)基礎(chǔ)上, 創(chuàng)作屬于個人的作品, 激發(fā)其創(chuàng)造性思維旱函。
(2) 鼓勵學(xué)生進行作品的改編。教材中的實例可以幫助學(xué)生理解如何用計算機科學(xué)來解決一些實際問題, 在此基礎(chǔ)上學(xué)生更容易收獲成果描滔。在編程教學(xué)的過程中, 可以鼓勵學(xué)生對實例作品進行修改或改編, 學(xué)生對程序的改編, 有助于學(xué)生對問題再次進行深入的思考, 融入個人的想法棒妨。學(xué)生在思考的過程中有助于激發(fā)創(chuàng)造性思維, 在不斷調(diào)試的過程中發(fā)展邏輯思維能力。
(3) 注重作品的分享含长。激發(fā)學(xué)生創(chuàng)作興趣的另一種措施是提供學(xué)生展示個人作品券腔、小組作品的舞臺, 延伸學(xué)習(xí)活動的時間和空間。學(xué)生通過展示茎芋、交流, 相互借鑒颅眶、共同提高。在分享的過程中碰撞出思想的火花, 激發(fā)創(chuàng)作的靈感田弥。