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