邱振華



摘要:教育部在“關于加強新時代教育科學研究工作的意見”中指出新時代的教育科學研究需加強實證研究,循證實踐是“遵循證據進行實踐”的一種有效模式。以初中Python語言教學研究為載體,闡述了基于“發現問題——收集證據——思考分析——改進實踐——效果評價——發現問題……”的循環流程所開展的循證實踐行動研究,為循證實踐在教育科學研究中的應用起到推廣普及的作用。
關鍵詞:循證實踐;初中;Python語言;教學研究
中圖分類號:G642 文獻標識碼:A
文章編號:1009-3044(2020)13-0194-05
2017年國務院印發的《新一代人工智能發展規劃》中明確指出需在中小學階段設置人工智能相關課程,逐步推廣編程教育,Python語言作為一種與人工智能技術密切相關的代碼化編程語言,逐漸進入基礎教育的視野。2017版高中信息技術課程標準中將人工智能初步作為選擇性必修內容之一,將Python語言作為“算法與程序實現”、“人工智能初步”模塊的程序設計語言,為Python語言在高中學段的實施提供了指向標。目前初中學段未見教育部門發布的與Python語言相關的教學基本要求與內容,但從初高中編程教育的銜接及人工智能教育發展的趨勢來看,在初中學段開展Python語言的基礎性教學可行性研究具有一定的價值。在這樣的背景下,根據《上海市初中信息科技學科教學基本要求(試驗本)》中的“新技術探究”單元內容,設計了基于Python語言教學的新技術體驗單元,在六年級信息科技課程中予以實施。
循證實踐最早被應用于醫學領域,后逐漸拓展到心理學、管理學、教育學等領域。我國學者楊文登認為,循證實踐是實踐者針對消費者(此處的“消費者”泛指實踐者所服務的對象,按具體情境的不同,也可稱之為病人、顧客、來訪者或服務對象,等等)的具體問題,在消費者的主動配合下,根據研究者提供的最佳證據及管理者制定的實踐指南與標準等所進行的實踐。從其定義中可以看出循證實踐是一種強調情境生態圈、強調基于證據改進的研究方法。另需指出的是,該定義中未強調“循環性”這一特征,循證實踐與實證實踐的最大區別在于其更加強調循環性的歷程,因此“情境生態圈”“基于證據改進”“循環性歷程”是循證實踐的主要特征。
在初中學段開展Python語言教學研究是一種全新的嘗試,并沒有太多前人經驗可循,在這樣的情況下采用基于實踐、凸顯證據、注重循環的循證實踐具有一定的合理性。根據循證實踐的文獻研究及筆者的理解感悟,本文采用的循證實踐行動研究模型圖如下(圖1):
研究模型的生態圈運作模式界定如下:在教學要求(管理者)的指導下,教師(實踐者)針對學生(消費者)在學習過程中產生的問題,從教師的觀察、學生的反饋、他人的經驗三方面(研究者)收集證據,按照“發現問題——收集證據——思考分析——改進實踐—效果評價——發現問題……”的循環流程所開展的基于多元證據的深度實踐和反饋評估的持續改進,其中思考分析階段若發現證據不足則需回溯到收集證據階段繼續收集證據。下面,結合初中Python語言的教學實踐,闡述一下該模型的具體應用。
1發現問題階段
課程實施伊始的教學目標確定為希望學生利用代碼化編程語言編寫程序進行信息處理,體驗簡單的智能信息處理過程,解決生活中常見問題。在具體設計中,以基于真實情境的項目活動建構課程,并設計了活動任務單輔助學生編寫程序。在六(3)班與六(4)班的第一輪實施中,發現了諸多問題,主要集中在兩方面:
1.1所耗課時超過預期
單元課程預設了4個項目活動8課時的形式予以實施,但在實際實施中,教學進度明顯慢于預期,最終在1個月中僅完成了項目1與項目2的教學,項目3與項目4未得以實施。
1.2教學效果未達預期
在教學中,學生在編寫程序時出現了各種錯誤,且錯誤的種類繁多涉及面廣,教師疲于到處“救火”,且即使如此依然無法解決所有學生的問題。Python語言的程序只要稍有錯誤就無法運行,一旦無法解決錯誤,學生只能望著紅色的報錯框發呆。隨著時間的推移,在教學的后半程階段,已有部分學生出現“習得性”無助現象,開始放棄學習。但需指出的是,雖有大量“學困生”出現,也有少量“優等生”出現,如有學生在課程結束后,自學了課程以外的其他內容,并將其以程序作品的形式呈現。
2收集證據階段
2.1教師觀察視角
從教師的觀察來看,“所耗課時超過預期”與“教學效果未達預期”是兩個相互關聯的問題,即由于教學效果不佳導致了教學進度受到影響。細觀學生所呈現的問題,又可以分為兩個方面:一是學生對于代碼化編程不太適應,導致操作中出現各種問題;二是學生的一些基本習慣技能有所欠缺,如代碼編寫中的一些特殊符號不知如何輸入等。
以下面這個任務為例(圖2),該任務要求學生根據活動任務單上的內容輸入一些簡單運算,記錄并分析輸出結果,以探究Python語言的基本語法運算規則。
該環節預期耗時10分鐘(包括反饋環節),實際耗時25分鐘,主要原因是學生在輸入中出現了各種未預設的錯誤,導致教師重復講解與解決個別問題的耗時大大增加。學生出現的主要錯誤如下(表1):
可以看到,錯誤類型五花八門,且部分錯誤若無法立刻解決將導致該活動無法開展。約有一半的學生均出現錯誤,導致教師“疲于救火”,但也有少數學生早早完成任務處于“無所事事”的狀態,課堂教學秩序混亂,最終大大增加了該環節的耗時。
2.2生反饋視角
2.2.1單元測試分析
在課程結束后以個人為單位進行了單元評測,評測內容是Python語言的繪圖功能的簡單應用,要求學生根據能力選擇適合的圖形進行繪制(提供活動任務單,任務單中給出直線的繪制代碼及其他繪圖輔助模塊),根據繪制圖形的難度予以評分(表2)。
以上評測結果出自六(3)班與六(4)班84名學生,從統計結果來看,約60%的學生評級在D與E級,說明有大量“學困生”出現。另也有24%的學生評級在A和B級,說明也有“優等生”存在。
2.2.2問卷調查分析
在課程實施后,從學習難易度、學習興趣、未來學習意愿等方面對學生進行了問卷調查。根據問卷的結果分析,制作了Python語言教學成效SWOT矩陣(表3)。
2.3他人經驗視角
以“初中+Python”為關鍵詞在中國知網中進行檢索,統計了其他文獻中初中Python教學中遇到的問題及解決的方法,匯總如下(表4):
3思考分析階段
3.1證據綜合分析
綜合分析收集的各種證據,總結出“學習基礎與習慣影響Python語言的學習”、“大量學生對于Python語言的編程模式較難適應”、“不同基礎的學生學習結果具有較大差異”這三個主要問題,思考分析其解決方法(表5):
這三個主要問題在不同視角的證據中均被證實,說明它們在重要性與真實性方面可靠度高。從解決方法來看,“SWOT矩陣解決方法”與“他人經驗解決方法”中的部分方法是相同的,如“以合作的方式促進學生的學習”;有部分方法是互補的,如“SWOT矩陣解決方法”中的“給予更多的學習幫助(閱讀幫助材料)”與“他人經驗解決方法”中的“修改課程內容”;有部分方法在本研究中無法實施,如“增加教學課時”。
本研究的課時限定為8課時,對應單元的總體教學要求為“從一種新技術的學習,掌握一些通用的方法、技能、思維,具備一定自學能力,提升信息素養,提升用信息技術解決問題的能力,增強學習新技術的樂趣與信心”。從教學要求來看,并未要求學生對于新技術(Python編程)熟練掌握,僅需從解決問題的體驗角度提升信息素養,因此將單元教學總策略從“編寫程序”調整為“體驗程序”,并篩選整合已匯總的主要問題的解決方法,提煉出“修改課程內容”、“調整幫助文檔”、“強化合作學習”這三種方法對單元教學予以改進。
3.2證據回溯收集
在已提煉方法的基礎上,回溯到“收集證據”階段,探尋相關方法“如何修改、如何實施”的證據,使得接下來的“改進實踐”階段具有可操作性。具體如下(表6):
4改進實踐階段
根據上一階段所確定的改進措施,本階段針對課程從以下三方面進行改進,并在六(2)班予以實施:
4.1以課程內容刪改的方式降低難度
修改后的課程對原有教學內容中對邏輯思維要求較高的內容進行了刪除、修改等操作,新舊教學知識技能對比如下(表7):
具體來說修改體現在以下三個方面:
1)刪除較難理解的知識內容
如從大的知識點來看,新版的課程刪除了循環結構的教學。
2)減少已有知識的學習體量
如從庫應用來看,原版的庫應用要求掌握較多的方法,新版的庫應用僅要求掌握基本的方法。以Turtle圖形庫為例,原版需掌握畫直線、旋轉、畫圓、畫筆顏色、粗細設置等方法,新版僅需掌握畫直線與旋轉方法。
3)降低已有知識的學習難度
大幅降低各類知識點的學習難度,能知道其基本功能即可。以print函數為例,原版的課程不僅要求實現其輸出功能,還需了解其參數用法;新版的課程僅要求實現其輸出功能,對于參數的用法不做要求。
4.2以體驗為主的策略修改幫助文檔
針對原版任務單學習指導性不強的問題,對任務單進行了重新設計。以“確保程序能運行”為基本原則,推翻了之前“給出程序編寫指南,讓學生自行編寫程序”的設計思路,采用了“以模塊化的形式給出程序核心代碼,讓學生通過復制、拼接、修改等方式進行體驗”的設計思路。
以input函數的教學為例:
在原版任務單中,給出了input函數的詳細用法,讓學生參照其用法編寫程序,任務單內容如下:
請參照input函數的說明,編寫一個智能問答小程序。
input函數說明:input([提示信息])
說明:顯示提示信息(默認為空),接收鍵盤輸入的內容,以字符串形式返回
新版任務單則直接將問答過程作為一個模塊給出程序代碼,讓學生復制代碼運行程序觀察結果,并修改其參數內容進行進一步的觀察與推測,任務單內容如下:
復制粘貼以下代碼到程序中,輸入不同內容多次運行程序觀察結果,推測input函數的功能(請修改代碼中的漢字進一步觀察程序有何變化)。
name=input(你叫什么名字:)
print(你好!,name)
4.3以合作學習為輔的形式解決問題
修改后的課程在教學形式上給予學生更多的合作學習時間。一方面讓學生通過互助解決學習中遇到的各種簡單瑣碎問題,使得教師僅需將精力放在共性問題的解決中;另一方面讓學生通過思維的碰撞激發智慧的火花,活躍課堂的氛圍。在具體實施中,參考了“對分課堂教學模式”的特點,設計了基于“獨立學習、交流討論、聯合反饋”三環節的合作學習模式(如圖3):
環節一:獨立學習。在獨立學習環節,學生以個體為單位進行獨立學習,如獨立思考算法、獨立編寫程序等。
環節二:交流討論。在交流討論環節,同組的同學們相互交流獨立學習的成果,如有不同觀點則進行探討,如存在疑問,則其他組員協助解決。由于代碼化編程教學的特殊性,有時僅僅是因為多一個空格或標點符號,都會導致程序無法運行,該環節除了交流互動外,還可互助解決這些基本問題。
環節三:聯合反饋。在聯合反饋環節,教師以小組為單位抽查交流討論的結果,讓小組成員共同反饋情況,如果無法完成任務,也需闡述交流討論的整個過程,以此監督反饋學生交流討論環節的情況,并解決存在的共性問題。
5效果評價階段
修改后的Pvthon課程在六(2)班(共42人)在8課時的時間內完成了全部4個項目的實施,并采用與六(3)班及六(4)同樣的單元測試與問卷調查進行了研究,結果如下:
5.1前后單元測試結果對比
由于課程修改后的六(2)班樣本人數與課程修改前不同,因此采用百分比的形式統計數據繪制圖表進行對比。從統計圖中可以發現,“學困生”已基本“消滅”,“優等生”比例大幅增加。
5.2前后問卷調查結果對比
5.2.1學習熱情方面
從調查結果可以看出,六(2)班的學習熱情明顯高于六(3)班和六(4)班,特別是“是否愿意繼續深入學習Python語言”的問題,“非常愿意”的比例上升了30.74%,可以認為新版課程對于提升學生的學習熱情有著巨大的幫助。
5.2.2學習難度方面
從調查結果可以看出,相對于六(3)班與六(4)班,六(2)班的學生普遍認為課程更加簡單,這一點從“我覺得Python語言學習最困難的地方是”的問題中選擇“沒有難點”的比例提升了22.72%可以得到驗證。另值得注意的是,新版的課程在實施中基本消滅了“學困生”現象,僅有2人(4.76%)認為Python課程的學習難度“比較難”,有2人(4.76%)認為Python語言有較多的學習困難之處。在Pvthon語言與圖形化編程的Scratch語言的難度比較中,選項結果發生了反轉,認為“Python比Scratch簡單”的人數比例高達42.86%,分析其原因可能是因為修改后的課程大大降低了難度,且無須自行編寫復雜的程序,大大方便了學生的理解與操作,這說明代碼化編程語言通過一定的教學策略,其被學生的接受程度可以和圖形化編程語言相媲美。
5.2.3學習需求方面
從調查結果可以看出,六(2)班學生需求幫助的迫切性低于六(3)班與六(4)班,唯一例外的項目是對于“范例程序(源代碼)”的需求。這也從側面說明學生對于修改后的任務單中提供的源代碼持肯定態度,希望教師給予更多這樣的支持。
綜上所述,從單元測試的結果及調查問卷所反映出學生的學習興趣、學習成效等內容來看,各項指標均大幅上升,因此可以認為課程的改進取得了積極的成效。但由于教學難度大幅降低,在實際教學中也發現有部分優秀學生出現“吃不飽”的現象,這一問題可作為下一階段循證實踐的研究內容予以研究。
新時代的教育科學研究更需加強實證研究,而循證實踐則是實證研究過程中的強力助推器。希望本文能起到拋磚引玉的作用,使得更多科學、長期、系統的研究成果能在循證實踐中得以孵化。