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