朱程璇

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