荊倩倩
摘? ?要:隨著信息化時(shí)代的到來(lái)和人工智能技術(shù)的發(fā)展,小學(xué)階段編程教學(xué)越來(lái)越受到重視。圖形化編程和python編程是小學(xué)開(kāi)展編程教學(xué)的主陣地?;谶@兩種平臺(tái)的編程課程的異同點(diǎn),結(jié)合課例給出課程實(shí)施建議。
關(guān)鍵詞:小學(xué)信息技術(shù);編程教學(xué);圖形化編程;python教學(xué)
中圖分類號(hào):G623.58? 文獻(xiàn)標(biāo)識(shí)碼:A? 文章編號(hào):1009-010X(2021)25-0055-04
20世紀(jì)中葉以來(lái),隨著計(jì)算機(jī)科學(xué)、腦科學(xué)、認(rèn)知科學(xué)的發(fā)展,人工智能技術(shù)也進(jìn)入了飛速發(fā)展階段,世界多個(gè)大國(guó)陸續(xù)將人工智能技術(shù)的發(fā)展上升為國(guó)家戰(zhàn)略層面。這就對(duì)教育提出了新的要求。在2017年國(guó)務(wù)院發(fā)布的《新一代人工智能發(fā)展白皮書(shū)》中指出“在中小學(xué)階段設(shè)置人工智能相關(guān)課程,逐步推廣編程教育”,編程課堂成為小學(xué)開(kāi)展人工智能教育的主陣地。目前小學(xué)的編程課程主要分為兩類,基于圖形化平臺(tái)的課程以及基于代碼編程的課程,其中,代碼編程多以python(簡(jiǎn)潔、易讀、擴(kuò)展性高)為主。本文將比較圖形化編程和python編程課程的異同,并基于其共性和特殊性總結(jié)課程實(shí)施的建議。
一、 小學(xué)編程課程的基本特點(diǎn)
(一)以發(fā)展核心素養(yǎng)為總目標(biāo)
在小學(xué)階段,代碼編程課程主要是基于python語(yǔ)言進(jìn)行的,其主要原因是python語(yǔ)言是解釋型、弱數(shù)據(jù)類型的語(yǔ)言,對(duì)入門(mén)學(xué)習(xí)者相對(duì)其他代碼編程友好。圖形化編程軟件目前平臺(tái)較多,教學(xué)資源也比較豐富,但其架構(gòu)類似,本文使用的軟件是Mind+。但無(wú)論選擇基于哪一類平臺(tái)的,圖形化編程和代碼編程的總目標(biāo)是相同的:通過(guò)課程幫助學(xué)生提高信息技術(shù)學(xué)科的核心素養(yǎng),編程主要指向的核心素養(yǎng)是計(jì)算思維,因此在課程設(shè)計(jì)中應(yīng)該重點(diǎn)思索如何助力學(xué)生發(fā)展計(jì)算思維。
(二)編程核心概念引領(lǐng)教學(xué)
圖形化編程和代碼編程看似差距很大,但其核心的編程概念是相同的。這也是圖形化編程軟件開(kāi)發(fā)者的初心:摒除代碼編程語(yǔ)義、語(yǔ)法抽象度高的問(wèn)題,基于面向?qū)ο蟮木幊汤砟詈突A(chǔ)的編程概念設(shè)計(jì)了積木化的模塊編程。下圖總結(jié)了在小學(xué)階段兩種編程軟件學(xué)習(xí)的核心概念。
(三)基于問(wèn)題設(shè)計(jì)課堂
與成人相比,小學(xué)生在學(xué)習(xí)知識(shí)的過(guò)程中的“功利性”更加明顯,此處的“功利性”是指學(xué)生對(duì)明確為什么學(xué)、學(xué)了可以干什么的知識(shí)學(xué)習(xí)效果更優(yōu)。編程之所以被發(fā)明也是為了幫助人們使用計(jì)算機(jī)解決實(shí)際問(wèn)題。因此小學(xué)階段的編程課程應(yīng)該堅(jiān)持從問(wèn)題入手,面向解決問(wèn)題進(jìn)行知識(shí)的學(xué)習(xí)。同時(shí)編程是一種內(nèi)源性知識(shí),學(xué)習(xí)難以僅僅通過(guò)書(shū)本的間接經(jīng)驗(yàn)真實(shí)發(fā)生,將編程應(yīng)用在問(wèn)題解決中是學(xué)習(xí)編程最有效的途徑。
二、 圖形化編程課程與python編程課程的差異
小學(xué)圖形化編程和代碼編程課程在核心概念上是統(tǒng)一的,但教學(xué)設(shè)計(jì)的側(cè)重點(diǎn)不盡相同。這些不同主要是由于編程軟件的特點(diǎn)、學(xué)生學(xué)情不同造成的。
(一)學(xué)情差異
從學(xué)生學(xué)情上看,學(xué)生一般先學(xué)習(xí)圖形化編程再學(xué)習(xí)代碼編程。以我校為例,四年級(jí)開(kāi)始學(xué)習(xí)圖形化編程,五年級(jí)下學(xué)期開(kāi)始python學(xué)習(xí)。這就意味著,在學(xué)習(xí)這兩種編程時(shí),學(xué)生的知識(shí)積累、認(rèn)知水平、抽象思維發(fā)展程度都有差異。
(二)軟件環(huán)境差異
從軟件特點(diǎn)上看,python編程嚴(yán)格的語(yǔ)法格式,要求使用者思維有較高的抽象能力。雖然python本質(zhì)上是面向?qū)ο蟮木幊陶Z(yǔ)言,但是在中小學(xué)的課程中幾乎都是基于面向過(guò)程的設(shè)計(jì)模式進(jìn)行的。而圖像化編程將程序結(jié)構(gòu)高度模塊化,因此避開(kāi)了抽象的語(yǔ)法學(xué)習(xí),且其基于角色的設(shè)計(jì)也更接近于面向?qū)ο蟮木幊棠J健?/p>
三、課程實(shí)施建議
很多區(qū)域小學(xué)階段沒(méi)有統(tǒng)一的編程教材,一線教師需要依據(jù)課程標(biāo)準(zhǔn)和教學(xué)大綱自主開(kāi)發(fā)課例或者基于已有資源進(jìn)行二次開(kāi)發(fā)。目前圖形化編程和python編程的課例比較豐富,筆者認(rèn)為,課例的選擇需要兼顧幾點(diǎn):從知識(shí)層面,要結(jié)合編程工具的特點(diǎn),關(guān)注項(xiàng)目背后的編程核心概念;從情感態(tài)度層面應(yīng)選擇正面的、學(xué)生感興趣的項(xiàng)目;從學(xué)生發(fā)展層面,關(guān)注學(xué)生年齡特點(diǎn)、思維發(fā)展特點(diǎn),確定項(xiàng)目的復(fù)雜程度。筆者將以圖形化編程和python編程環(huán)境下的循環(huán)結(jié)構(gòu)的系列課程為例,給出實(shí)施建議。
循環(huán)結(jié)構(gòu)、順序結(jié)構(gòu)、選擇結(jié)構(gòu)組成程序的三大結(jié)構(gòu),循環(huán)的思想也是在分析問(wèn)題時(shí)拆解問(wèn)題的利器,同時(shí)容易遷移應(yīng)用到其他學(xué)科,因此基于圖形化編程和代碼編程的課程都會(huì)對(duì)循環(huán)結(jié)構(gòu)展開(kāi)學(xué)習(xí)。為此我們?cè)O(shè)計(jì)了循環(huán)結(jié)構(gòu)的單元課程。以下兩個(gè)表格分別給出基于圖形化編程和python編程的循環(huán)結(jié)構(gòu)課例。
基于以上課例,筆者認(rèn)為小學(xué)階段編程課程的設(shè)計(jì)可以參考以下原則。
(一)基于核心概念設(shè)計(jì)教學(xué)
圖形化編程和代碼編程課例形式雖然多樣,但設(shè)計(jì)者應(yīng)該把握其內(nèi)在的編程核心概念。尤其是圖形化編程,它所呈現(xiàn)的作品比較豐富多彩,學(xué)生在學(xué)習(xí)過(guò)程中有時(shí)候會(huì)被絢麗的效果吸引,而難以進(jìn)行有序的深度學(xué)習(xí),因此需要設(shè)計(jì)者把握核心概念,有的放矢的設(shè)計(jì)課程。如在循環(huán)這一章,第一節(jié)是海底世界,課程設(shè)計(jì)是借助學(xué)生喜聞樂(lè)見(jiàn)的項(xiàng)目為明線,以學(xué)習(xí)循環(huán)的概念為暗線進(jìn)行。此處用到的是無(wú)限循環(huán),由于不需要考慮循環(huán)次數(shù)和結(jié)束循環(huán)的條件,因此是最容易被學(xué)生接受的循環(huán)概念。這種基于核心概念設(shè)計(jì)圖形化編程,使原本看似零散的項(xiàng)目賦予了主線與脈絡(luò)。
python代碼教學(xué)相對(duì)于圖形化教學(xué),知識(shí)脈絡(luò)更為清晰,大多數(shù)的教材也是從核心概念出發(fā)設(shè)計(jì)的課程。但在備課中,授課教師清晰的概念把控,有助于幫助學(xué)生更好的層層深入、開(kāi)展學(xué)習(xí)。
(二)注重思維深度的銜接
基于核心概念出發(fā)設(shè)計(jì)課程,并不是說(shuō)不同的平臺(tái)下教授的內(nèi)容是一樣的,這是由學(xué)生思維的發(fā)展性和不同編程軟件的特點(diǎn)決定的。在圖形化編程的課程中,學(xué)生是第一次接觸編程,因此好奇心的保護(hù)、興趣的培養(yǎng)都極為重要。圖形化編程除了可以發(fā)展學(xué)生的計(jì)算思維外,也可以給學(xué)生新的表達(dá)自我的平臺(tái)。這一階段,思維層面的難度更易于緩慢升高,給學(xué)生足夠的嘗試時(shí)間和表達(dá)機(jī)會(huì),同時(shí)潛移默化地學(xué)習(xí)基礎(chǔ)的編程知識(shí)。
而python代碼編程是軟件工程師會(huì)使用的軟件,這就意味著它的專業(yè)程度較高,技術(shù)門(mén)檻也較高。分析小學(xué)生學(xué)習(xí)python的過(guò)程可以發(fā)現(xiàn),高度抽象的符號(hào)化編碼、嚴(yán)謹(jǐn)?shù)恼Z(yǔ)法格式是入門(mén)的難點(diǎn)。因此這一階段可以借助圖形化編程的例子,使用python實(shí)現(xiàn),這樣學(xué)生更容易從情感上接受為什么要學(xué),如在for循環(huán)的學(xué)習(xí)中,前兩節(jié)同樣是借助畫(huà)多邊形進(jìn)行的?;镜恼Z(yǔ)法結(jié)構(gòu)掌握后,再循序漸進(jìn)地開(kāi)展小型的綜合項(xiàng)目學(xué)習(xí)。
(三)善用認(rèn)知沖突,搭建思維腳手架
如前文分析,學(xué)生在學(xué)習(xí)編程時(shí),先出示問(wèn)題,基于問(wèn)題學(xué)習(xí)知識(shí),有利于學(xué)生對(duì)知識(shí)在情感上接納,這是主動(dòng)學(xué)習(xí)的開(kāi)端。這就要求教師在設(shè)計(jì)課程時(shí),要基于問(wèn)題情境,給學(xué)生制造認(rèn)知沖突,學(xué)生發(fā)現(xiàn)自己已有的知識(shí)體系沒(méi)有辦法解決問(wèn)題時(shí),再提供思維腳手架,學(xué)生借助其解決問(wèn)題的同時(shí)學(xué)習(xí)新知識(shí)。由于每節(jié)課的時(shí)間有限,應(yīng)該注意在進(jìn)行課程設(shè)計(jì)時(shí),盡量幫助學(xué)生合理規(guī)避教學(xué)重難點(diǎn)之外的問(wèn)題,幫助學(xué)生更好的聚焦本節(jié)學(xué)習(xí)重點(diǎn)。
(四)課堂氣氛
編程知識(shí)梳理起來(lái)仿佛不復(fù)雜,難點(diǎn)是怎樣把其應(yīng)用在解決問(wèn)題中,這也是知識(shí)內(nèi)化的過(guò)程。而這個(gè)過(guò)程中,試錯(cuò)是必經(jīng)之路也是重要的學(xué)習(xí)過(guò)程。因此教師應(yīng)著力構(gòu)建讓學(xué)生在規(guī)則內(nèi)勇于試錯(cuò)的安全的課堂氛圍,這種氛圍就是錯(cuò)誤得到歡迎和關(guān)照的環(huán)境,因?yàn)槲覀儚腻e(cuò)誤的反饋中受益良多,以至于我們能夠從錯(cuò)誤方向或尚不得心應(yīng)手的正確方向中獲得積累。
不論在圖形化編程或是python編程的課堂上,學(xué)生的發(fā)展都是我們要考慮的第一因素。在信息化時(shí)代,學(xué)生學(xué)習(xí)編程知識(shí)能夠更好地理解未來(lái)社會(huì),迎接挑戰(zhàn)。想要實(shí)現(xiàn)這一目標(biāo),我們應(yīng)繼續(xù)探索更有效的教學(xué)策略、設(shè)計(jì)模式,讓更多的孩子愛(ài)上編程,受益于編程。
參考文獻(xiàn):
[1]約翰·哈蒂.(2015)可見(jiàn)的學(xué)習(xí)[M].北京:教育科學(xué)出版社.
[2]張曉東.基于計(jì)算思維培養(yǎng)的小學(xué)編程教學(xué)模式研究——以Scratch編程教學(xué)為例[J].中國(guó)信息技術(shù)教育,2019,(24):35~37.
【責(zé)任編輯 王? ?悅】