陳瀾
開展和普及中學生程序設計教育,是教育信息化2.0的重要組成部分,是培養(yǎng)學生信息素養(yǎng)和計算思維的重要載體。2017年國務院印發(fā)的《新一代人工智能發(fā)展規(guī)劃》中指出要在中小學階段逐步推廣編程教育,隨后在教育部發(fā)布的高中信息技術課程標準修訂版中至少有六個模塊涉及編程內(nèi)容。為了響應國家號召,為國家未來人工智能的發(fā)展建立后備人才基礎,需要一線信息技術教師積極主動地對被廣泛應用于人工智能研發(fā)的Python語言進行教學研究,通過開展Python程序設計的教學實踐培養(yǎng)學生的計算思維。
● 對培養(yǎng)學生計算思維的理解
第一,計算思維是中學信息技術課程標準中規(guī)定的學生所需要形成的核心素養(yǎng)之一,與信息意識、信息社會責任以及數(shù)字化學習與創(chuàng)新這三項核心素養(yǎng)相比較,它最能體現(xiàn)信息技術課程的學科本質(zhì)。同時,計算思維作為一種思維方法,可以在運用計算思維解決問題的過程中與其他三種核心素養(yǎng)緊密結合,對它的培養(yǎng)可以促進信息技術核心素養(yǎng)的全面發(fā)展。
第二,在初中階段對學生計算思維的培養(yǎng)應該包含兩個層面,即計算思維的形成與計算思維能力的發(fā)展。和其他類型的思維一樣,計算思維不是某種具體的知識或操作技能,無法由教師“教給”學生,它的形成需要學生個體在解決問題的過程中通過不斷的訓練、內(nèi)化、運用進而逐步形成、生發(fā)、發(fā)展。
第三,計算思維包含于學生核心素養(yǎng)中的“關鍵能力”,其對學生終身發(fā)展的價值與意義不言而喻?!皬男畔⒓夹g教學的總體進程來看,計算思維主導的教學不失為一種可行的實施思路?!彼季S的培養(yǎng)需要借助一定的知識作為媒介,對計算思維運用最直觀的表現(xiàn)之一就是程序設計,選擇Python程序設計作為培養(yǎng)學生計算思維的載體,既是響應國家相關政策,也符合信息技術學科課程建設的需求。
● 計算思維視域下程序設計的教學策略
學生的學是課堂教學的出發(fā)點和歸宿,課堂教學應圍繞學生如何學展開,這是以人為本教學觀的基本要求,是學科核心素養(yǎng)形成的必要前提,也是計算思維視域下的教學策略選擇與使用的根本導向。Python程序設計與初中信息技術課程其他板塊的內(nèi)容區(qū)別很大,在教學的起始階段會涉及大量的陳述性知識,并逐步由以陳述性知識為主過渡到以程序性知識為主。因此,Python程序設計課堂教學策略的選擇要從學情分析、教材分析、教學目標以及教學內(nèi)容等多方面因素進行思考。
1.先學后教策略
與其他學科相比較,初中信息技術學科課時少并且一般情況下是不允許布置課后作業(yè)的,以至于在Python程序設計課程的實施階段,學生課前沒有預習,課后沒有復習,這就意味著學生在上課時沒有疑問、沒有目標也沒有方向。然而,學生是解決課堂教學中矛盾的主體力量,教師則應處于輔助學生解決這種主要矛盾的主導性地位。因此,教師需要在課堂教學的過程中讓學生充分與“物”進行對話(本文指的是閱讀、學習教材),激發(fā)其中的矛盾,協(xié)助學生解決矛盾,這樣才能真正體現(xiàn)學生在學習中的主體性地位,培養(yǎng)學生的核心素養(yǎng),進而落實學科核心素養(yǎng)的培養(yǎng)這一教學目標。筆者認為,在程序設計的課堂教學中,學生的學習也應該是從閱讀教材開始,回歸“讀書學習”這一質(zhì)樸的語境,給予學生足夠的時間對教材進行自學,在學生完成自學的基礎上開展程序設計教學。
2.情境化策略
為了有效開展Python程序設計課堂教學,教師需要給學生創(chuàng)設貼切學生生活實際并能夠激發(fā)學生學習興趣與熱情的教學情境。在創(chuàng)設情境時,需要注意所創(chuàng)設的情境要與學生當下的學習經(jīng)歷、家庭生活、社會環(huán)境產(chǎn)生緊密直接的聯(lián)系。情境的創(chuàng)設有哪些具體的要求?筆者以Python程序設計中的條件語句為例進行說明。
首先,情境的創(chuàng)設要能貼合學生的日常生活實際并且生動形象,在架設形象思維與抽象思維的橋梁的同時,使學生知道所學習的內(nèi)容是什么,有什么實際用處,如在上課伊始,請同學們觀看學生每日進校時刷臉通過閘機的視頻,提問在此過程中人臉識別程序是如何工作的,如何用流程圖進行描述。
其次,情境的創(chuàng)設要能體現(xiàn)Python程序設計的特質(zhì),要能體現(xiàn)本節(jié)課學生所學習的內(nèi)容在生活中的使用條件以及存在價值與意義,要能內(nèi)含課堂教學中要解決的問題并能有效地促使學生積極思考,如在授課中,為增加學生對條件語句的理解,教師提前設置好在體驗的過程中出現(xiàn)的與條件語句相關的異常情況,請學生上講臺體驗可進行人臉識別的簡化版閘機系統(tǒng),感受條件語句執(zhí)行的特點。
最后,情境的創(chuàng)設要能使學生的情感有效地融入到學習過程中,學生積極情感的介入能夠極大地激發(fā)學生學習的動力,變“要我學”為“我要學”。如在學生完成程序編寫之后,用他們自己編寫的程序在簡化版閘機系統(tǒng)中運行,檢驗其程序是否編寫正確,正確的程序能夠?qū)崿F(xiàn)人臉識別并打開閘機。
3.整體化策略
計算思維視域下Python語言教學設計的整體化策略要求我們在課堂教學中需要從教學內(nèi)容的整體化和學生學習的整體化兩個方面進行考量。
①教學內(nèi)容的整體化策略。Python語言教學內(nèi)容的整體化需要通盤考慮Python語言各個知識點與整體之間的聯(lián)系,既要預防部分與整體之間的割裂,又要防止部分與整體的含混不清,不能突出課堂教學的重點;既要明確部分內(nèi)容的教學可以對計算思維的培養(yǎng)起到作用,也要明確部分教學內(nèi)容所能起到的對計算思維培養(yǎng)的作用在整個計算思維能力形成過程中所處的地位、價值、意義以及局限性。以Python程序設計的循環(huán)結構教學為例,首先,教師既要幫助學生明確循環(huán)結構是程序設計中三大基本結構之一,循環(huán)結構的應用可以使程序的編寫化繁為簡,可以有效控制程序的結構并可以與其他兩種程序設計結構相結合處理復雜的問題,也要確保通過學習后學生能夠掌握Python循環(huán)語句for循環(huán)、while循環(huán)各自的語法規(guī)則和適用范圍;其次,循環(huán)結構教學對計算思維中的“分解”(分解、有序、遞歸)、“抽象”(刪除、過濾、提取、符號化)、算法描述等方面具有重要的培養(yǎng)作用,但是對計算思維中的“概括”與“評估”所能產(chǎn)生的培養(yǎng)作用就非常有限。
②學生學習的整體化策略。學生學習的整體化策略是指在全面考慮初二學生智能特征、信息技術課時安排計劃以及Python程序設計的特性后,在課程實施時采取先分后總的教學策略。先分——教師采用教學內(nèi)容的整體化策略,選擇探究式教學法、任務驅(qū)動教學法,按照章節(jié)知識點的邏輯順序幫助學生完成Python程序設計的學習,學生在此過程中了解了Python程序設計的基本概念,掌握了Python程序設計的基本方法,鍛煉了計算思維各組成部分的應用能力并可以獨立地編寫簡單的Python程序。后總——教師采用活動化策略和自主化策略,選擇小組合作教學法以及項目式教學法,學生在教師的指導下,在與教材的對話、與學習伙伴的探討中,利用已有的Python的學習經(jīng)驗,充分鍛煉、內(nèi)化、運用計算思維,借助Python語言逐步、系統(tǒng)、科學地編寫代碼,實現(xiàn)目標項目。
● 計算思維視域下程序設計的教學評價策略
1.教學前的評價
此環(huán)節(jié)教學評價的目的是:了解在進行Python程序設計教學之前,學生對預備知識和技能掌握的程度;評估學生已具備的分解、抽象、算法、概括以及評估等五方面能力;發(fā)現(xiàn)學生的興趣、愛好、思維特點等。通??刹捎迷L談、網(wǎng)絡問卷以及思維測試等形式進行此環(huán)節(jié)的教學評價。
2.教學中的評價
在教學過程中及時地開展評價活動,既可以幫助教師了解學生對教學目標的達成情況,也可以使學生及時了解自己對學習目標的完成情況?,F(xiàn)在,網(wǎng)絡上有很多開源的在線測評系統(tǒng)(Online Judge),教師可以在校內(nèi)搭建一個內(nèi)含Python在線評測系統(tǒng)的主題學習網(wǎng)站,充分利用主題學習網(wǎng)站開展多維度的教學評價。
①即時反饋策略。教師將課堂教學中的程序設計練習題發(fā)布在主題學習網(wǎng)站上,學生完成代碼編寫后直接提交到在線測評系統(tǒng)中,在線測評系統(tǒng)自動對代碼進行測試、反饋。這種即時反饋既提高了學生學習程序設計的效率,也可以方便教師及時了解學生對課堂教學目標的掌握情況,為課堂教學進度的動態(tài)調(diào)整和教學方法的選擇提供參考。
②“消題”積分升級策略。目前,積分升級策略在社會生活中的多個領域得到了廣泛的使用,它對激發(fā)用戶參與熱情有著強勁的推動作用,如游戲中的積分升級、QQ號的積分升級等。將積分升級策略引入到教學評價中,有利于營造積極競爭的學習氛圍,激發(fā)學生的學習動機。在實施“消題”積分升級策略時,要注意明確級別的梯度、積分的規(guī)則、升級規(guī)則以及獎勵規(guī)則等。
③學習共同體策略。主題學習網(wǎng)站不應只是一個Python在線測評系統(tǒng)和積分升級平臺,它應該承載更多的應用,發(fā)揮更大的價值。在教師的引導下,學生可利用主題學習網(wǎng)站建立線上學習共同體。在網(wǎng)站上,教師可以提供給學生參考資料、學法指導、教學視頻、疑難解答等;學生可以記錄自己的Python程序設計學習經(jīng)歷、發(fā)布學習感悟、討論學習方法、召集項目成員、發(fā)布懸賞任務等。通過主題學習網(wǎng)站開展的教與學,學生對Python程序設計的學習突破了課堂教學的時空限制,可線上與教師、同學展開充分的協(xié)作學習,使得學習可以隨時隨地發(fā)生,這樣既有利于學習積極性,也有利于知識的建構。
3.總結性評價
總結性評價的主要目的是對學生完成自選程序設計項目的過程以及項目成果進行評價,其中包含了學生的自我評價、同學評價以及教師評價。在實施總結性評價時,需注意評價量表設計的易用性、客觀性以及貼合性。評價量表要體現(xiàn)出對學生計算思維技能(分解、抽象、算法、概況、評估等五方面的發(fā)展水平)的評價、對學生項目成果(主題、功能、程序、界面、創(chuàng)造性)的評價以及對學生在項目實施過程中的學習意志品質(zhì)(好奇心、承受力、自信心、毅力)的評價。
● 結束語
在日常教學中,教師必須認識到計算思維有“廣義”與“狹義”之分,利用Python程序設計教學以及初中階段信息技術學科所培養(yǎng)的計算思維較易偏向于“狹義計算思維”的范疇,所以在日常的教學工作中教師應該有意識地拓展學生對計算思維認識、理解與應用的廣度,避免管中窺豹、一葉障目。