曾志勇
摘 要:現在的數字化趨勢不可逆轉,發達國家都在開展兒童編程教育,如美國的“Hour of Code”和英國的“Year of Code”,體現了在全球對編程教育的重視。我國也提出了培養學生的計算思維,用“計算思維”培養未來人才,并在全國范圍內逐步實施中學編程教學。
關鍵詞:中學;信息技術;編程;教學;深度;廣度
一、什么是編程,為什么要學編程。
在人類復雜的社會體系中,人們需要通過自然語言來進行相互溝通和知識傳播,而數學是人與自然、宇宙溝通的語言,伽利略說:“自然界這部偉大的書是用數學語言寫成的”。它是一切科學發展的基礎。編程語言,則是人與計算機交流溝通的語言。由于社會發展的需要、科技發展的推動,掌握一門編程語言已經變成一項基本技能,可以有效地指揮計算機去解決實際問題,達到事半功倍的效果。
二、如何學習編程語言——代碼編程與圖形編程。
從計算機被發明以來,計算機編程語言也有幾十年的發展歷史了,目前編程語言的種類繁多。對于計算機專業的學生或程序員來說,編程語言的學習模式也已經非常成熟。但是這套教學模式顯然不適合兒童編程教育,不符合中學生的年齡特征。隨著近幾年全球范圍內的重視,發展出一批優秀的圖形化編程工具,用來引導學生進行編程入門學習,取得了一定的發展。由于圖形化編程以游戲化教學,興趣教學、培養思維為主要特點,大大降低了學習門檻,使之最近幾年在學校進行快速的推廣普及。
三、如何更好地推廣Scratch普及性編程教學——深度
在眾多的圖形化編程語言中,Scratch在國內推廣普及做得最好。Scratch與傳統的編程軟件不同,不再是枯燥的代碼命令組合的集成,而是像搭積木一樣拖曳圖形化的指令,就能創作屬于自己的故事、動畫、游戲和音樂等作品。在創作過程中一邊玩一邊學,對學生的思維能力、創造能力以及解決問題能力的培養有著積極的意義。目前國內的Scratch編程以功能模塊教學、案例化教學、項目式教學為主,開展得非常成功。在結構化編程中,任何算法都可以通過由順序、選擇和循環的三種基本程序結構的組合來實現。我嘗試在教學中以三種基本程序結構為主線,將功能模塊嵌入三個結構教學,以游戲或案例為載體,把教學的重點放在程序結構上,而不是功能模塊。在Scratch教學中,將程序結構和模塊代碼巧妙地結合在一起,兼顧趣味性和知識的系統性。第一節課就是讓學生初識這個軟件,先讓學生體驗利用代碼塊讓小貓動起來、或者外觀中的說話,并且重點要讓學生理解舞臺、角色的概念、事件驅動的理念。在教學實施中,使用大家所熟悉的貓狗對話可以幫助學生很好的理解順序結構的執行過程。如果我們對順序結構的案例進行再升級,可以引導學生利用聲音功能模塊、引入消息機制去做古詩朗讀或者鋼琴演奏,這樣的案例相對來說實用性就比較強了。在單向分支的結構中,可以引入小貓過馬路或者章魚過河的案例。通過上下左右鍵控制角色移動并讓條件語句去判斷角色是否碰到哪種顏色是否走出邊界。在雙向分支的結構中,引入數學口算的題目,用戶答對了提示答題成功,答錯了提示答題錯誤。在循環結構中,分為計數循環、條件循環和無限循環,在某各意義上循環結構起到一個優化程序結構的功能。鼓勵學生使用循環,通過小貓走路多個重復動作和口算出多個題目,顯示循環結構的優越性和程序結構的優美簡潔性。
四、編程教育之國外的STEAM與國內的學科融合——廣度
目前國內外流行的STEAM教育理念,即科學、技術、工程、數學的首字母。STEAM教育理念對學科素養的綜合應用來解決實際問題,同時培養綜合性的人才。國內的STEAM教學模式,主要通過游戲化編程、機器人培訓、3D打印、創客教育等形式來開展。但是由于區域的差異性,技術、資金、師資、設備等投入的限制,我們想讓編程教育回到現實,更好地服務于學科教育,解決學科問題、進行學科融合,讓學生能夠真真切切地體驗到用編程來解決問題,而不是學無用武之地。因此我們在各個學科的融合上,在編程教學的廣度上,下足了功夫。讓學生通過項目式學習,既學習了編程如何應用,又學習和鞏固了其他學科的知識。
五、Scratch只是起點,未來更精彩
盡管Scratch教學應用非常廣泛,在中學大學都有被用來當成學生的編程入門語言。但學生學了一兩年之后,對Scratch比較熟悉了,可以推薦孩子學習同樣的圖形化編程的APPINVENTOR,可以很容易很方便地做出實用性很強的手機應用APP。
Scratch和APPINVENTOR都是圖形化編程語言,圖形化編程語言對于初學者來說都容易上手,因為常被選做入門編程語言,但在解決實際問題或者邏輯較復雜的問題,代碼的可讀性、可維護性并不如代碼類編程語言。因此我們可以把Scratch理解為一門編程入門語言,在入門以后還是要引導學生學習至少一門代碼類編程語言。常見的編程語言有C,Java,C#,C++,Pascal,Python等。我個人建議初學者學習Python。Python比較適合初學者成為一門易讀、易維護,不管是程序員或者計算機普通用戶都比較容易上手。因為擁有大量的標準庫和第三方庫,所以經常被稱為實用主義,在解決實際問題時有較豐富的可復用代碼庫,讓你站在巨人的肩膀上去解決你身邊的問題。Python已經成為目前美國頂尖大學里最受歡迎的計算機編程入門語言,目前Python在IT行業廣泛應用,特別是在系統運維、圖形處理、數據分析、網絡爬蟲、科學計算、人工智能等方面。因此,值得我們去學習,不管是學生還是老師。
福建省中青年教師教育科研項目,項目編號:JZ170426
(福建教育學院資助)
參考文獻
[1]部和廣倉本大.Scratch少兒趣味編程2
[2]鄭之婷.從Scratch入門到精通