朱程璇
世界各國(guó)將編程能力的培養(yǎng)落實(shí)到國(guó)家政策中,根據(jù)青少年不同學(xué)習(xí)階段制定相應(yīng)的學(xué)習(xí)內(nèi)容,并將編程教育充分融入校內(nèi)課程。我國(guó)部分省市的中小學(xué)雖然已開(kāi)設(shè)編程必修課,但是都處在探索階段,課程體系并不完善。本文針對(duì)當(dāng)前適合小學(xué)生的編程語(yǔ)言進(jìn)行分析,并根據(jù)小學(xué)各學(xué)段學(xué)生的學(xué)習(xí)特點(diǎn),總結(jié)出一套相對(duì)完善的編程校本課程體系,嘗試給后來(lái)者提供幫助,希望他們能在此基礎(chǔ)上進(jìn)行創(chuàng)新和提升。
一、核心概念界定
(一)計(jì)算思維的概念
計(jì)算思維最早由周以真教授在2006年提出,計(jì)算思維是指應(yīng)用與計(jì)算基本原理相關(guān)的理念來(lái)解決問(wèn)題、設(shè)計(jì)系統(tǒng)、理解人類行為的一種思維方式。計(jì)算思維是人類的思維方式,建立在計(jì)算過(guò)程的能力和限制之上,是每一個(gè)人的基本技能,而不僅僅屬于計(jì)算機(jī)科學(xué)家。
2016年《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(征求意見(jiàn)稿)》明確提出,計(jì)算思維是指“個(gè)體在運(yùn)用計(jì)算機(jī)科學(xué)領(lǐng)域的思想方法形成問(wèn)題解決方案的過(guò)程中產(chǎn)生的一系列思維活動(dòng)”。
(二)校本課程體系
校本課程是與國(guó)家課程、地方課程相互補(bǔ)充、相互協(xié)調(diào),以教師為主體,結(jié)合學(xué)校辦學(xué)理念,充分利用社區(qū)和學(xué)校的課程資源開(kāi)發(fā)的課程。校本課程體系則是尋求國(guó)家、地方、校本三級(jí)課程在課程目標(biāo)、內(nèi)容、資源等方面的共通點(diǎn),使其像立交橋一樣形成層級(jí)化的發(fā)展態(tài)勢(shì),實(shí)現(xiàn)課程的貫通與融合。
二、構(gòu)建基于計(jì)算思維的編程校本課程體系
我們根據(jù)小學(xué)生的認(rèn)知發(fā)展規(guī)律、身心發(fā)展?fàn)顩r以及各項(xiàng)能力水平,針對(duì)編程教育的特點(diǎn)與小學(xué)生編程思維能力培養(yǎng)的過(guò)程,結(jié)合學(xué)?!罢辖逃崩砟钪信囵B(yǎng)“智慧”的小學(xué)生這項(xiàng)要求,對(duì)照不同學(xué)段將編程校本課程劃分為五個(gè)階段。二到五年級(jí)主要利用學(xué)校開(kāi)設(shè)的每周一次的選學(xué)課程進(jìn)行教學(xué),六年級(jí)由于學(xué)校缺乏機(jī)器人及物聯(lián)網(wǎng)相關(guān)設(shè)備,所以摒棄信息技術(shù)教材,以Python為主要教學(xué)內(nèi)容,利用信息課進(jìn)行教學(xué)。如表1所示。
(一)低年級(jí)開(kāi)設(shè)以 Scratch Jr 為主的編程課程
Scratch Jr是一款基于平板電腦的編程語(yǔ)言,可以用于編程教學(xué)的啟蒙。學(xué)生只需要通過(guò)拖拽圖形化的編程模塊,就可以創(chuàng)造出互動(dòng)故事和游戲。
Scratch Jr上用圖標(biāo)的形式表示事件、運(yùn)動(dòng)、外觀、控制等編程模塊,讓低年級(jí)的學(xué)生更加容易理解積木塊的作用。學(xué)生搭建積木完成作品的過(guò)程中能夠體會(huì)和感知到順序、選擇和循環(huán)三種基本的程序設(shè)計(jì)結(jié)構(gòu),形成對(duì)算法的初步認(rèn)識(shí)。
第一階段(Level1)通過(guò)Scratch Jr的學(xué)習(xí),了解簡(jiǎn)單編程概念,熟悉Scratch Jr界面基本操作;培養(yǎng)邏輯思維能力,理解程序設(shè)計(jì)機(jī)制,培養(yǎng)創(chuàng)造力,可以為后續(xù)Scratch的學(xué)習(xí)奠定良好的基礎(chǔ)。
(二)中年級(jí)開(kāi)設(shè)以 Scratch 為主的編程課程
Scratch是美國(guó)麻省理工學(xué)院面向青少年開(kāi)發(fā)的一款圖形化編程軟件,與Scratch Jr相比,它將指令模塊擴(kuò)充為動(dòng)作、聲音、外觀、控制、畫(huà)筆、偵測(cè)、數(shù)字與邏輯運(yùn)算、變量八大類。每個(gè)大類下面又包含若干小的指令塊,并輔以適當(dāng)?shù)奈淖终f(shuō)明,學(xué)生只要根據(jù)指令塊的文字就可以明白該指令塊的作用。
第二階段(Level2)學(xué)會(huì)使用Scratch進(jìn)行順序、判斷、循環(huán)等程序編寫(xiě),了解不同模塊的使用,完成稍復(fù)雜的項(xiàng)目,初步鍛煉學(xué)生編程、邏輯及空間思維能力。
第三階段(Level3)熟練掌握Scratch,了解復(fù)雜設(shè)計(jì),了解簡(jiǎn)單算法原理和實(shí)現(xiàn)方法,能夠?qū)?shí)際問(wèn)題抽象成數(shù)學(xué)模型,能發(fā)揮自己獨(dú)特的想象力和創(chuàng)造力,獨(dú)立設(shè)計(jì)出精彩紛呈的小游戲或情節(jié)豐富的小故事,從而大幅提升思維能力、設(shè)計(jì)能力和溝通表達(dá)等各方面的綜合素養(yǎng)。
(三)高年級(jí)開(kāi)設(shè)以 Python 為主的編程課程
Python編程語(yǔ)言相對(duì)于C++、Java等其他編程有著“優(yōu)雅、明確、簡(jiǎn)單”的特點(diǎn),與自然語(yǔ)言很接近,小學(xué)生能夠容易理解和編寫(xiě) Python 語(yǔ)言相關(guān)程序。同時(shí),Python提供了極為豐富的第三方模塊,使得學(xué)生在學(xué)習(xí)Python的基礎(chǔ)語(yǔ)法后,可以立刻利用它來(lái)解決實(shí)際的生活問(wèn)題。
第四階段(Level4)熟悉Python語(yǔ)言基礎(chǔ)語(yǔ)法知識(shí),適應(yīng)從圖形化編程到代碼編程的轉(zhuǎn)變??梢宰寣W(xué)生利用Python語(yǔ)言來(lái)實(shí)現(xiàn)以前Scratch做過(guò)的例子,完成自然過(guò)渡,同時(shí)培養(yǎng)學(xué)生思維轉(zhuǎn)化能力。
第五階段(Level5)掌握Python基本數(shù)據(jù)類型、語(yǔ)句結(jié)構(gòu)和函數(shù)的使用;對(duì)實(shí)際問(wèn)題可以抽象出數(shù)學(xué)模型并解決,逐漸形成利用編程解決實(shí)際問(wèn)題的意識(shí)。
三、基于計(jì)算思維的編程校本課程的教學(xué)策略
(一)基于學(xué)科融合的教學(xué)策略
我們可以將編程教學(xué)與音樂(lè)學(xué)科融合,利用Scratch的“播放聲音”模塊,來(lái)給我們做的游戲或者故事加上適當(dāng)?shù)囊粜?,使其更加生?dòng);利用“聲音”模塊的“彈奏音符”控件修改音高和節(jié)拍時(shí)長(zhǎng),進(jìn)行樂(lè)曲的腳本編寫(xiě),彈奏出學(xué)生耳熟能詳?shù)母枨?,如《兩只老虎》《小星星》?對(duì)音樂(lè)水平較高的學(xué)生,甚至可以再結(jié)合“設(shè)定樂(lè)器”模塊,改變音色,進(jìn)行多人合奏或者實(shí)現(xiàn)個(gè)人編曲。
我們也可以將編程教學(xué)與美術(shù)學(xué)科融合,利用Scratch“畫(huà)筆”模塊或者Python 語(yǔ)言中的 turtle 海龜庫(kù),讓學(xué)生畫(huà)一些簡(jiǎn)單圖形或者設(shè)計(jì)個(gè)性化的圖案。比如我們可以改變畫(huà)筆的顏色和半圓的半徑,繪制出彩虹;利用隨機(jī)數(shù)、圖章等控件繪制出漫天煙花;利用定義變量結(jié)合遞歸的方法繪制出雪花;等等。
我們還可以將編程教學(xué)與數(shù)學(xué)學(xué)科融合,利用Scratch的“變量”和“數(shù)字與邏輯運(yùn)算”,結(jié)合四年級(jí)數(shù)學(xué)《認(rèn)識(shí)多位數(shù)》,利用編程實(shí)現(xiàn)從個(gè)位開(kāi)始依次輸出一個(gè)多位數(shù)的每一位數(shù)字;結(jié)合五年級(jí)的《倍數(shù)與因數(shù)》,利用編程尋找一個(gè)數(shù)的全部因數(shù);結(jié)合六年級(jí)的《解決問(wèn)題的策略——假設(shè)》中的雞兔同籠問(wèn)題,利用編程來(lái)求解雞和兔的數(shù)量;等等。
(二)基于游戲化理念的教學(xué)策略
游戲化是使用游戲機(jī)制和游戲化體驗(yàn)設(shè)計(jì),數(shù)字化地鼓勵(lì)和激勵(lì)人們實(shí)現(xiàn)自己的目標(biāo)。游戲化教學(xué)策略主要有兩種形式,第一種是將計(jì)算思維的內(nèi)容理念等融入游戲,利用小學(xué)生天生愛(ài)玩游戲的特質(zhì),把所要講授的知識(shí)點(diǎn)融入游戲關(guān)卡,學(xué)生掌握了相關(guān)知識(shí)即可過(guò)關(guān)。大量有趣的關(guān)卡,讓學(xué)生對(duì)語(yǔ)言的應(yīng)用有一個(gè)比較直觀的認(rèn)識(shí)。第二種是從學(xué)生常玩的經(jīng)典小游戲入手,例如打地鼠、飛機(jī)大戰(zhàn)、貪吃蛇、植物大戰(zhàn)僵尸等等,把知識(shí)點(diǎn)融入游戲設(shè)計(jì),將學(xué)生從游戲玩家轉(zhuǎn)變?yōu)橛螒蛟O(shè)計(jì)者,讓學(xué)生在游戲設(shè)計(jì)過(guò)程中提升計(jì)算思維。
(三)基于項(xiàng)目學(xué)習(xí)理念的教學(xué)策略
以項(xiàng)目(問(wèn)題)為導(dǎo)向的教學(xué)方法(problem based learning,PBL)包含提出問(wèn)題、規(guī)劃方案、解決問(wèn)題、評(píng)價(jià)和反思五個(gè)關(guān)鍵環(huán)節(jié)。在課堂上,教師引導(dǎo)學(xué)生思考如何根據(jù)實(shí)際問(wèn)題,完成程序的編寫(xiě),鼓勵(lì)學(xué)生用不同的方法表達(dá)自己的觀念,與其他同學(xué)進(jìn)行交流合作;同時(shí),教師作為監(jiān)督者,控制學(xué)生討論的范圍及時(shí)間,防止學(xué)生偏離主題。學(xué)生在交流過(guò)程中發(fā)現(xiàn)別人作品的閃光點(diǎn),與他人發(fā)生思維碰撞,再繼續(xù)完善自己的作品,讓作品呈現(xiàn)出更多創(chuàng)意,從而培養(yǎng)他們團(tuán)隊(duì)合作和創(chuàng)新思考的能力。學(xué)生在不斷調(diào)試程序、尋找和解決bug的過(guò)程中,也提升了發(fā)現(xiàn)問(wèn)題、解決問(wèn)題、反思問(wèn)題的能力,在此基礎(chǔ)上逐步地培養(yǎng)出計(jì)算思維。
(四)基于可視化理念的教學(xué)策略
思維導(dǎo)圖和流程圖是編程教學(xué)中普遍使用的可視化編程工具。在學(xué)習(xí)編程的過(guò)程中,學(xué)生根據(jù)教師設(shè)計(jì)的情境,思考解決問(wèn)題的方案;教師利用流程圖將思考的過(guò)程記錄下來(lái),并理順邏輯關(guān)系,學(xué)生基于流程圖完成基礎(chǔ)編程。這是教師通過(guò)思維導(dǎo)圖引導(dǎo)學(xué)生發(fā)散思維,讓學(xué)生在已完成的作品上進(jìn)行改編,對(duì)作品進(jìn)行創(chuàng)新創(chuàng)造活動(dòng)??梢暬夹g(shù)對(duì)計(jì)算思維培養(yǎng)方式基本遵循了“隱性思維顯性化—顯性思維工具化—高效思維自動(dòng)化”的規(guī)律。
四、基于計(jì)算思維的編程校本課程的教學(xué)評(píng)價(jià)
(一)課堂評(píng)價(jià)
學(xué)生在組內(nèi)展示并講解作品,聽(tīng)取教師和其他同學(xué)的建議,得到反饋后繼續(xù)改進(jìn)作品,以小組為單位進(jìn)行成果的展示和交流。教師通過(guò)觀察記錄,從小組分工合理性、合作機(jī)制的完善、交互協(xié)作的深度、成員參與的積極性等方面進(jìn)行考量。
(二)等級(jí)考試
通過(guò)一學(xué)年的學(xué)習(xí),教師結(jié)合學(xué)校要求的校本課程考級(jí)制度,對(duì)學(xué)生個(gè)人的自主學(xué)習(xí)能力和知識(shí)技能水平進(jìn)行客觀的評(píng)價(jià)。以此激勵(lì)學(xué)生在鞏固課堂知識(shí)的基礎(chǔ)上,通過(guò)自我學(xué)習(xí)和自我提升來(lái)挑戰(zhàn)自我,從而學(xué)到更多的知識(shí)技能,取得更高的榮譽(yù)等級(jí)。
(三)作品競(jìng)賽
我們組織學(xué)生參加教育主管部門以及社會(huì)團(tuán)體每年定期舉辦的相應(yīng)的比賽,學(xué)生參加比賽,可以了解學(xué)習(xí)效果,還可以獲得獎(jiǎng)勵(lì)證書(shū),對(duì)未來(lái)的繼續(xù)學(xué)習(xí)益處良多。
我們通過(guò)對(duì)編程校本課程體系、課程教學(xué)策略和評(píng)價(jià)方式等方面的梳理發(fā)現(xiàn),學(xué)習(xí)編程不僅有利于學(xué)生對(duì)學(xué)科知識(shí)的理解提高,更有利于培養(yǎng)學(xué)生的計(jì)算思維。未來(lái)社會(huì)是人類與機(jī)器高度融合共存的社會(huì),懂得機(jī)器語(yǔ)言和運(yùn)行模式的人,將占得先機(jī)。因此,編程教育是新時(shí)代基礎(chǔ)教育的必修課,也是保障青少年未來(lái)成功的基石。校本課程的開(kāi)發(fā)與實(shí)施是一個(gè)開(kāi)放動(dòng)態(tài)的過(guò)程,越來(lái)越多的學(xué)校在開(kāi)設(shè)校本課程,編程校本課程體系化可使后來(lái)者站在已有課程的基礎(chǔ)上創(chuàng)新提升,不僅能避免教師的重復(fù)勞動(dòng),也有助于課程質(zhì)量的保障和提升。