馮茱莉,李仕陽,唐萬梅
(重慶師范大學 計算機與信息科學學院,重慶 401331)
(1)中小學信息技術教師缺乏講授Python 課程的教學經(jīng)驗[1-3]。
《普通高中信息技術課程標準(2017 年版)》中,Python 語言程序設計取代了VB 語言程序設計[4]。在中小學階段,Python 語言程序設計是一門新的課程,大多數(shù)教師沒有講授該門課程的經(jīng)驗,對課程重難點把控不準,無法提前預知學生易對哪些知識點產(chǎn)生疑惑。
(2)Python 大量第三方庫給教師備課帶來極大挑戰(zhàn)。
Python 是一門基于生態(tài)環(huán)境的語言,它的生態(tài)環(huán)境就是擁有大量第三方庫的支持,如果不使用第三方庫,就失去了Python 的優(yōu)勢。而第三方庫的數(shù)量龐大且不斷增長,教師要根據(jù)解決問題的不同需求選擇合適的第三方庫準備備課,這為教師帶來極大挑戰(zhàn)。
(3)傳統(tǒng)的教學方式無法更好踐行高中新課標的指導思想,無法滿足教育家杜威、皮亞杰提出的“以學生為中心”的教育理念[5-6]。
由于傳統(tǒng)的教學方式無法更好滿足“以學生為中心”的教育理念,越來越多的教師采用混合式教學方式開展教學,混合式教學的面對面教學環(huán)節(jié)應注重梳理重難點知識,以及解決學生的疑難問題。因此,教師如何全面準確了解課程難點和學生易對哪些知識點產(chǎn)生疑惑,成為一個值得研究的問題。
(4)單純使用MOOC 平臺現(xiàn)有課程資源開展教學無法滿足學生的個性化學習需求[7]。
教師雖然可以利用已有慕課平臺資源開展混合式教學,既符合新教學理念,也間接解決了師資問題。但MOOC 平臺資源面向的是社會學習者,受眾面廣,未必能滿足本校學生的學習需求,這就要求教師適當準備和補充符合本校學生學習需求的資源,究竟應該補充怎樣的教學資源?這對中小學新講授該門課程的教師來說也是一個難題,值得探討研究。
文獻[8]指出合理選擇疑難點作為教學的重中之重,還指出教師真正做到明確重難點才能更好實現(xiàn)因材施教,實現(xiàn)教學有效性。但是,課堂教學中教師預設的教學重難點與學生可能存在的疑難點之間存在一定的差距[9],這就影響了教學效率和教學有效性。美國教育部于2012年10月發(fā)布的《Enhancing Teaching and Learning Through Educational Data Mining and Learning Analytics》指出,通過挖掘與分析教育大數(shù)據(jù),能促進教學和學生的學習效果[10]。
采用爬蟲技術爬取中國大學MOOC 平臺以北京理工大學嵩天老師主講的Python 語言程序設計第1—第8 期教師答疑區(qū)的數(shù)據(jù)[11-12],共計5 萬多條。教師答疑區(qū)數(shù)據(jù)爬取流程見圖1。
圖1 教師答疑區(qū)數(shù)據(jù)爬取流程圖
分詞是自然語言處理(NLP)文本處理的基礎環(huán)節(jié)和前提。與以英文為代表的拉丁語系語言相比,中文分詞要復雜、困難得多,因為英文主要以空格為分隔符,但中文詞語之間沒有確定的分隔符[13]。長期以來,許多學者對中文分詞進行了大量的研究,研發(fā)了大量的系統(tǒng)平臺,提出了許多算法。如中國科學院計算技術研究所研制的基于多層隱馬模型的漢語詞法分析系統(tǒng)NLPIRICTCLAS(Institute of Computing Technology,Chinese Lexical Analysis System)[14]、Python的第三方庫jieba 庫、哈工大社會計算與信息檢索研究中心研發(fā)的語言技術平臺NLP[15-16]、玻森中文語義開放平臺BosonNLP[17]等。
對比以上幾種平臺在進行分詞和詞頻統(tǒng)計時的優(yōu)缺點,最終選擇NLPIR-ICTCLAS 漢語分詞系統(tǒng)對MOOC 平臺教師答疑區(qū)文本進行數(shù)據(jù)分析,分3 個步驟,依次為新詞發(fā)現(xiàn)、批量分詞和詞頻統(tǒng)計[14,18-19]。
為了使數(shù)據(jù)更加直觀清晰,運用pandas 庫和matplotlib 庫將詞頻統(tǒng)計表轉(zhuǎn)換為直觀的餅圖,讓教師更清晰直觀地了解學生課前學習過程中存在疑問最多的知識點,為課堂環(huán)節(jié)的教學進行充分準備。
由于NLPIR 漢語分詞系統(tǒng)分析出的詞語數(shù)量多,有許多詞語與知識點無關,還有學習者提問涉及的中、英文可能是同一個知識點,如“詞云”和“wordcloud”是相同的知識點。因此,剔除無關詞語并合并相同知識點后,得到Python 語言程序設計課程第1—第8 期教師答疑區(qū)位列前5 的疑難知識點見表1。表1 表明,在第1 期—第8期討論區(qū)出現(xiàn)頻率高的詞語有安裝、字符串、函數(shù)、文件、溫度轉(zhuǎn)換、蟒蛇、pyinstaller 和詞云,這表明學生對這幾個知識點存在疑問的幾率更大。
表1 第1—第8 期老師答疑區(qū)詞頻數(shù)據(jù)表
為了直觀地對比分析學習者在學習中遇到的疑難問題是否類似或者是否有變化,使用pandas庫,以堆積柱狀圖形式對表1 的數(shù)據(jù)進行橫向比較,可視化結果見圖2。
圖2 第1—第8 期教師答疑區(qū)詞頻數(shù)據(jù)可視化
在圖2 中,x軸表示課程的期數(shù),y軸表示疑難知識點出現(xiàn)次數(shù)。從圖2 的顯示結果可以看出,不同的開課學期中位列前五的疑難知識點雖然有一定的變化,但每一期的學習者都對“安裝”“字符串”“函數(shù)”這3 部分知識點提出較多問題。除此之外,由于第1—第5 期的課程內(nèi)容未涉及“詞云”相關知識,自第6 期增加“詞云”知識點以來,“詞云”在教師答疑區(qū)中出現(xiàn)的頻次就位居前列,可見學習者對生成詞云圖感興趣,也表明該部分知識對于初學者而言不易掌握。
根據(jù)詞頻數(shù)據(jù)表2 中的知識點,從爬取得到的文本文件中獲得“安裝”“字符串”和“函數(shù)”等疑難知識點,并細化對應的疑難問題,以思維導圖形式呈現(xiàn),見圖3。
圖3 部分高頻疑難問題
教師在講解如“安裝”知識點時,應注重講解不同版本的適用情況,并匯總安裝出錯的幾種原因,這能幫助學習者成功安裝軟件和模塊。講解函數(shù)的使用方法時,應多舉例讓學生體會內(nèi)置函數(shù)、庫函數(shù)和自定義函數(shù)在使用時的不同注意事項;講解函數(shù)調(diào)用時,通過列舉不同的例子說明調(diào)用函數(shù)時位置參數(shù)、默認參數(shù)、關鍵字參數(shù)和可變參數(shù)的使用情況以及注意事項,減少學生編寫代碼的出錯;講解函數(shù)遞歸時,重點在基例的尋找。學習者對“字符串”知識點存在的疑惑集中在以下幾個方面:①字符串的切片操作;②字符串方法的使用;③字符串格式化輸出。因此,在講解字符串方法的使用時,應著重強調(diào)字符串是不可變序列,對字符串進行大小寫轉(zhuǎn)換、替換等操作時,無法改變原字符串。其次,教學中還應列舉足夠多的例子幫助學習者掌握format方法的格式化輸出。教師在講解“文件”知識點時,應著重強調(diào)UTF-8 編碼和ACSII 編碼的區(qū)別,避免學生在編寫代碼時出現(xiàn)編碼錯誤的問題。講解“詞云”知識點時,應著重解決:①中文詞云亂碼問題;②詞云對象參數(shù)屬性的設置,使學生掌握生成更為豐富詞云的方法。
教師可針對性地細分高頻疑難問題對應的知識點,補充便于學生理解的、貼近實際生活的案例和用于鞏固練習的試題庫等在內(nèi)的教學資源供學生掌握相關知識,以提高學生的學習成效。
在高頻疑難問題分析的基礎上,建設課程教學輔助資源,其流程圖見圖4,包括數(shù)據(jù)分析、課程教學輔助資源總體設計、課程教學輔助資源詳細設計和教學輔助資源開發(fā)。
教學輔助資源包括案例教案、微課視頻、任務清單、試題庫等,貼近生活性資源主要選取學生感興趣或熟悉的案例;拓展性資源主要指任務清單和試題庫。
廣州市某中學2019—2020 學年第一學期將Python 語言程序設計課程作為初一年級元培班必修課,總人數(shù)為199 人,每周一課時,共上16周課?!昂瘮?shù)”是高頻疑難知識點,內(nèi)置函數(shù)的使用方法是高頻疑難問題之一。以學生學習輸入輸出函數(shù)的內(nèi)容為例,實際教學過程及效果如下。
圖4 教學輔助資源建設流程
表2 疑難問題及備課建議
(1)教學準備環(huán)節(jié):通過查看高頻疑難問題,發(fā)現(xiàn)學生存在的疑難問題見表2。為了能幫助學生理解什么是輸入和輸出,教師列舉計算器算數(shù)、超市購物系統(tǒng)的案例,較之計算機工作原理的案例更易于被學生接受和理解。除此之外,由于初一學生還未接觸過函數(shù)概念,這里的“函數(shù)”和學生在小學階段學習的樂高和可視化編程的“方法”類似,都實現(xiàn)某個特定的功能,教師可將“函數(shù)”稱為“方法”,以便學生理解。因此,教師應根據(jù)疑難問題和教學對象準備教學設計、測試題和學生任務清單。
(2)學生學習新知識和測試環(huán)節(jié):課堂的前15 分鐘為學生學習新知識的時間,本節(jié)課學習方式為教師講授,學生完成測試,本次的測試題目有單選題和程序題,測試內(nèi)容見圖5。
(3)小組任務:通過測試判斷各位學生掌握知識點的情況,知識掌握程度分為了解、理解、掌握和運用,根據(jù)掌握情況將學生分組。分組方式采用“組內(nèi)異質(zhì),組間同質(zhì)”即異質(zhì)分組的方法,每組6~7人,將知識掌握情況不同的學生劃分為一組,形成互幫互助的學習氛圍。首先組內(nèi)能力強的學生幫助組內(nèi)“學困生”掌握重點,然后教師拋出來自討論區(qū)相關的疑難問題供小組思考、集中討論并解答。
圖5 測試題
(4)學生完成拓展任務并互評:首先,學生完成任務清單的拓展任務,本節(jié)課的拓展任務是“設計麥當勞麥旋風第二杯半價點餐系統(tǒng),麥旋風單價為10 元,提示服務員輸入購買麥旋風的個數(shù),系統(tǒng)輸出顧客需要支付的金額”;然后,抽取學生上臺講解編程思路和展示代碼,部分學生代碼見圖6;最后,進行組內(nèi)成員評價和組間評價。
(5)學生自評:學生根據(jù)自己對知識的掌握程度和學習表現(xiàn)情況進行自評,評價等級為A、B、C、D,自評情況見表3。數(shù)據(jù)顯示大部分學生掌握本節(jié)課的知識點,能自主并很好地完成拓展任務,即運用所學知識解決問題。75.38%的學生能掌握并正確運用input、eval 和print 函數(shù),73.87%的學生能與小組成員共同討論并解決疑難問題,由此可見大部分學生掌握了本節(jié)課的重難點。
除此之外,數(shù)據(jù)顯示能自主并很好地完成拓展任務的學生未必能流暢地講解拓展任務和教會他人。由美國學者埃德加·戴爾提出的“學習金字塔”理論表示學習方式為“教授他人”或“馬上使用”時[20],知識留存率達到90%,是所有學習方式中知識留存率最高的。因此,教師在后續(xù)教學中應多為學生提供上臺發(fā)言、講解題目等機會,不僅能提高學生的知識留存率,還能培養(yǎng)學生的多樣化思維。
教師根據(jù)高頻疑難問題建設教學輔助資源,并將輔助教學資源運用于Python 語言課程教學,實踐表明分析答疑區(qū)數(shù)據(jù)得到的結果有助于授課教師把握教學重難點,答疑區(qū)的高頻疑難問題也是初一學生在學習中會遇到的疑難問題。除此之外,初一學生參與小組討論并解決疑難問題的積極性很高,通過上臺講解題目,不少學生提高了編程思維和語言表達能力。在后續(xù)教學中,將根據(jù)學生自評情況表進一步優(yōu)化教學輔助資源,真正實現(xiàn)學生的個性化學習。為了更全面地了解學生在該門課程可能遇到的疑難問題,可以采用相同的方法分析相關課程的討論區(qū)數(shù)據(jù),其他科目的教師和研究者也可借鑒該數(shù)據(jù)分析方法對在線討論區(qū)數(shù)據(jù)進行挖掘和分析,輔助實際教學。
圖6 部分學生代碼
表3 學生自評表