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