黃勝 劉偉煒
湖南涉外經(jīng)濟(jì)學(xué)院 湖南 長沙 410205
隨著信息技術(shù)的快速發(fā)展,手機(jī)、平板、筆記本電腦等移動(dòng)設(shè)備逐漸融入了人們的生活。對比過去,移動(dòng)設(shè)備帶來的移動(dòng)式學(xué)習(xí)和碎片化學(xué)習(xí)更能滿足當(dāng)代學(xué)生自主學(xué)習(xí)和個(gè)性化學(xué)習(xí)的需求,而這是傳統(tǒng)的大學(xué)課堂和簡單的在線課程不能提供的。面對以上問題,高校教育者應(yīng)積極尋求變革,對傳統(tǒng)的課堂教學(xué)模式進(jìn)行改變,對多種教學(xué)模式進(jìn)行大膽嘗試,用以來滿足學(xué)生不斷變化的學(xué)習(xí)需求。
Python程序設(shè)計(jì)不僅作為全校公選課,用于培養(yǎng)和提高在校大學(xué)生的計(jì)算思維能力,更是計(jì)算機(jī)類專業(yè)學(xué)生學(xué)習(xí)大數(shù)據(jù)處理和數(shù)據(jù)分析的先修課程。如何在課程體系中構(gòu)建統(tǒng)一的平臺,其中設(shè)置低階內(nèi)容適合于所有專業(yè)的學(xué)生用于進(jìn)行基礎(chǔ)編程能力的學(xué)習(xí);設(shè)置中階內(nèi)容適合于理工類的學(xué)生和有強(qiáng)烈學(xué)習(xí)興趣并有一定編程基礎(chǔ)的文科學(xué)生學(xué)習(xí),用于運(yùn)用Python語言解決專業(yè)中遇到的實(shí)際工程問題;設(shè)置高階內(nèi)容適合于本專業(yè)的學(xué)生學(xué)習(xí),例如:中文分詞、正則化處理、網(wǎng)絡(luò)爬蟲、非結(jié)構(gòu)化數(shù)據(jù)庫連接等內(nèi)容,為后續(xù)課程學(xué)習(xí)打下堅(jiān)實(shí)的基礎(chǔ)。筆者結(jié)合多年教學(xué)經(jīng)驗(yàn),針對Python語言的特點(diǎn),采用線上線下混合教學(xué)模式對該門課程進(jìn)行教學(xué)改革試點(diǎn),通過幾個(gè)教學(xué)周期的觀察發(fā)現(xiàn),對比傳統(tǒng)的課堂教學(xué)模式,混合教學(xué)模式在提高學(xué)生理論知識的掌握程度上、在提高學(xué)生的實(shí)踐動(dòng)手能力上都有顯著的效果,而且對不同能力水平的學(xué)生更具有包容性。
Python語言是一種跨平臺、開源的解釋型編程語言,它的特點(diǎn)是代碼簡潔、語法優(yōu)美且簡單易學(xué)[1-2]。然而從教學(xué)實(shí)踐情況看,一門看似“簡單”的課程,卻讓很多學(xué)生感覺無法適從。那么在Python程序設(shè)計(jì)課程的教學(xué)過程中,存在哪些問題呢?
Python程序設(shè)計(jì)不僅在計(jì)算機(jī)相關(guān)專業(yè)開設(shè),也在非計(jì)算機(jī)專業(yè)作為公共選修課開設(shè),相當(dāng)部分高校將其定位于編程入門課程,通過這門課的學(xué)習(xí),學(xué)生只是要求具有用 Python 編寫程序的基本能力。然而Python語言應(yīng)的最大特點(diǎn)就是擁有強(qiáng)大的第三方庫,這使得它在Web開發(fā)、科學(xué)計(jì)算、自動(dòng)運(yùn)維、多媒體應(yīng)用和爬蟲開發(fā)等領(lǐng)域受到廣泛的應(yīng)用。因而只在課堂中講述Python語言的基礎(chǔ)知識和語法結(jié)構(gòu),遠(yuǎn)遠(yuǎn)滿足不了學(xué)生的學(xué)習(xí)預(yù)期,不能激起學(xué)生的學(xué)習(xí)興趣,其授課效果、課堂吸引力可想而知。
Python程序設(shè)計(jì)作為計(jì)算機(jī)相關(guān)專業(yè)大數(shù)據(jù)處理和數(shù)據(jù)分析的先導(dǎo)課程,除了安排學(xué)習(xí)Python編程精講以外,還要涉及中英文分詞、JSON庫、正則化、網(wǎng)絡(luò)爬蟲、數(shù)據(jù)庫編程、并行處理和數(shù)據(jù)可視化等內(nèi)容,而該門課程的總課時(shí)只有32節(jié),學(xué)習(xí)緊任務(wù)重,這就造成了老師為了符合教學(xué)進(jìn)度,就大水漫灌,導(dǎo)致了學(xué)生學(xué)習(xí)起來叫苦不迭,最終導(dǎo)致的結(jié)果是教師教得累,學(xué)生學(xué)得辛苦,學(xué)習(xí)效果卻非常差,讓后續(xù)課程的開展設(shè)置了很大的障礙。因此,開辟第二學(xué)習(xí)戰(zhàn)場,擴(kuò)展課堂教學(xué)時(shí)間是非常必要的。課程組將選擇部分簡單的教學(xué)內(nèi)容轉(zhuǎn)移到線上教學(xué),通過學(xué)生線上自學(xué),不僅減輕了教師課堂的教學(xué)壓力,增加了學(xué)生的自信心,還提高了學(xué)生的自主學(xué)習(xí)能力。
對于非計(jì)算機(jī)專業(yè)的學(xué)生來說,Python程序設(shè)計(jì)只是作為公選課,很多學(xué)生的學(xué)習(xí)目的就是為了拿學(xué)分,其底層的學(xué)習(xí)驅(qū)動(dòng)力不強(qiáng),學(xué)習(xí)積極性不高;對于計(jì)算機(jī)專業(yè)的學(xué)生來說,已經(jīng)在前期學(xué)習(xí)了C語言和Java語言,重新再學(xué)習(xí)一門編程語言,尤其是還要按照要求重新學(xué)習(xí)基本語法知識,容易產(chǎn)生學(xué)習(xí)惰性,積極性不高。如何調(diào)動(dòng)不同專業(yè),不同層次的學(xué)生學(xué)習(xí)積極性,是課題組需要研究的一個(gè)長期問題。
現(xiàn)階段關(guān)于Python程序設(shè)計(jì)的網(wǎng)絡(luò)視頻教學(xué)資源非常豐富,然而網(wǎng)上的教學(xué)資源為了追求普及性和受眾面,其所涉及的知識點(diǎn)往往全而不專,并不完全適合本校的學(xué)生,例如:本校學(xué)生需要經(jīng)常分析處理金融數(shù)據(jù),需要在課程中開設(shè)Tushare+Pandas+Matplotlib庫的講解,而這些內(nèi)容在很多教學(xué)資源中是沒有提及的。其二,網(wǎng)上資源多是采用視頻講解的方式,缺乏網(wǎng)上實(shí)踐練習(xí),學(xué)生的動(dòng)手能力得不到鍛煉。因而,課程組需要根據(jù)學(xué)校的教學(xué)定位和學(xué)生的能力水平,建設(shè)從教材、到案例、到平臺等相配套的系統(tǒng)性、高質(zhì)量的教學(xué)資源。
針對上述問題,課程組根據(jù)不同專業(yè)學(xué)生的編程能力和需求出發(fā),將Python課程的知識點(diǎn)劃分為低階、中階和高階三個(gè)層次,并在課程講解中依據(jù)學(xué)生所處專業(yè)的特點(diǎn),將對應(yīng)專業(yè)的真實(shí)案例和知識點(diǎn)進(jìn)行串聯(lián),在解題過程中掌握和運(yùn)用知識,鞏固知識的同時(shí)還提升了學(xué)生的學(xué)習(xí)興趣。與此同時(shí),我們通過制定“自主獲取知識(課前)+實(shí)踐構(gòu)建知識(課堂)+鞏固知識(課后)”的教學(xué)模式,并已初步建設(shè)完成超星課程平臺和線上實(shí)踐平臺,把理論知識與實(shí)際應(yīng)用相結(jié)合,不斷激發(fā)學(xué)生的學(xué)習(xí)興趣和積極性,讓學(xué)生在教學(xué)的每個(gè)過程中都能獲得學(xué)習(xí)的成就感,從而取得良好的教學(xué)效果[3]。
課程建設(shè)必須以立德樹人為根本,教師在課堂教學(xué)中不能僅僅傳授知識,還要充分發(fā)揮教師的人格魅力,通過自己的師風(fēng)師德引導(dǎo)學(xué)生培養(yǎng)良好的科學(xué)素質(zhì)和職業(yè)道德。另一方面教師需要整合課內(nèi)課外的資源,將思政教育方法引入到課程教學(xué)中,并充分挖掘課程知識中所包含的思想價(jià)值,在增加課程趣味性的同時(shí),著力培養(yǎng)學(xué)生正確的唯物史觀和價(jià)值觀,讓學(xué)生在課程教學(xué)中堅(jiān)定自己愛黨、愛國、愛社會主義的理想信念,實(shí)現(xiàn)價(jià)值、知識和能力相統(tǒng)一。
課程組按照不同專業(yè)的需求,將課程內(nèi)容劃分為3個(gè)層次。其中低階內(nèi)容包括課程導(dǎo)學(xué)、Python初體驗(yàn)、Python集成開發(fā)環(huán)境的安裝與配置、Python基本數(shù)據(jù)類型、流程控制、函數(shù)和代碼復(fù)用、組合數(shù)據(jù)類型、文件和數(shù)據(jù)格式化、基本擴(kuò)展模塊(datatime模塊、算術(shù)模塊、持久化模塊、文件讀寫模塊)等內(nèi)容,適合所有專業(yè)學(xué)生進(jìn)行選擇性學(xué)習(xí);中階內(nèi)容包括類和面向?qū)ο?、圖形化用戶界面、數(shù)據(jù)庫編程、中級擴(kuò)展模塊(中英文分詞、PIL、正則化、Requests、Beautiful Soup、TuShare等)適合于理工類專業(yè)學(xué)生進(jìn)行選擇性學(xué)習(xí);高階內(nèi)容包括高級擴(kuò)展模塊(Numpy、Pandas、Scipy)、多線程編程、數(shù)據(jù)可視化和網(wǎng)絡(luò)爬蟲框架等內(nèi)容,適合于計(jì)算機(jī)類不同專業(yè)學(xué)生進(jìn)行選擇學(xué)習(xí)。
Python程序設(shè)計(jì)課程的混合式教學(xué)設(shè)計(jì)主要由課前預(yù)習(xí)、課中討論、課后知識鞏固三部分組成。課前教學(xué)通過發(fā)布課前任務(wù)的形式,讓學(xué)生通過微視頻學(xué)習(xí)和教學(xué)課件學(xué)習(xí)提前自主獲取課堂知識,并針對學(xué)習(xí)難點(diǎn)提出疑問。課堂教學(xué)運(yùn)用研討式及啟發(fā)式情景教學(xué)方法,幫助學(xué)生構(gòu)建知識體系。例如:引入π的求解案例,將學(xué)生分成3組,分別通過蒙特卡洛方法、萊布尼茨公式和Machin公式分別進(jìn)行求解,在過程中植入復(fù)雜工程計(jì)算、random庫和循環(huán)的知識點(diǎn),并最終由小組進(jìn)行成果展示。課后教學(xué)通過課后專項(xiàng)練習(xí)、線上實(shí)踐練習(xí)、學(xué)習(xí)總結(jié)和論壇交流的形式,鞏固學(xué)生課堂知識,并通過與學(xué)生交流和定期發(fā)布問卷調(diào)查等方式獲取學(xué)生反饋,并根據(jù)反饋意見課程組將進(jìn)行教學(xué)反思和教學(xué)方案優(yōu)化,提高學(xué)生的滿意度。
針對非計(jì)算機(jī)專業(yè)的學(xué)生,課程組可以通過在教學(xué)過程中穿插學(xué)生對應(yīng)專業(yè)的案例,通過計(jì)算機(jī)+專業(yè)的形式,讓學(xué)生在學(xué)習(xí)中感覺到課程中學(xué)習(xí)的知識是對自己專業(yè)有所幫助,提高學(xué)生的學(xué)習(xí)興趣。例如:可以針對商學(xué)院的特點(diǎn),添加python+金融數(shù)據(jù)分析的案例分析,針對文法學(xué)院的特點(diǎn),添加python+文學(xué)作品分詞分析的案例,針對機(jī)械學(xué)院的特點(diǎn),增加python+工程應(yīng)用案例。
計(jì)算機(jī)專業(yè)學(xué)生不僅需要學(xué)生掌握Python語言的語法知識,還需要學(xué)生掌握其強(qiáng)大的生態(tài)工具,能夠初步解決例如:大數(shù)據(jù)處理、圖形圖像處理、科學(xué)計(jì)算可視化等領(lǐng)域中的實(shí)際問題,為后續(xù)大數(shù)據(jù)處理等課程奠定堅(jiān)實(shí)的基礎(chǔ)。因此,課程組在教學(xué)內(nèi)容中引入第三方庫的內(nèi)容,利用章節(jié)知識和第三方庫解決實(shí)際工程問題。例如,課程組在流程控制章節(jié)添加了Random庫的講解,讓學(xué)生利用章節(jié)所學(xué)知識(循環(huán)結(jié)構(gòu)和分支結(jié)構(gòu))和Random庫結(jié)合,使用蒙特卡洛思想求解圓周率π。讓學(xué)生在解決實(shí)際問題過程中,不僅加深了對教學(xué)知識點(diǎn)的理解,還拓展了Python的第三方庫知識,激勵(lì)了學(xué)生的實(shí)踐探索興趣。
具體而言,從過程考核和結(jié)果考核兩個(gè)維度考慮。從過程考核來看,通過專家評審、同行評價(jià)、學(xué)生調(diào)查問卷等多種形式進(jìn)行效果評估(如圖1所示)。例如:隨機(jī)抽選了125名學(xué)生分別對教學(xué)目標(biāo)、教學(xué)內(nèi)容、教學(xué)考核方式和評分標(biāo)準(zhǔn)、內(nèi)容是否有挑戰(zhàn)度等問題進(jìn)行調(diào)研,結(jié)果總體滿意度達(dá)到90%。
圖1 某班問卷調(diào)查部分截圖
從結(jié)果考核來看,將傳統(tǒng)教學(xué)和混合式教學(xué)通過SPSS并結(jié)合問卷調(diào)查與學(xué)情數(shù)據(jù)對學(xué)生成績進(jìn)行分析,具體如下所示,平均成績提高了12分,標(biāo)準(zhǔn)差由原來的5.53降為5.30,均值的標(biāo)準(zhǔn)差由0.78降為0.75??傮w上看,線上線下混合模式更能提高學(xué)生的學(xué)習(xí)興趣,提高學(xué)生對知識點(diǎn)的掌握,也更具有包容性(實(shí)際效果如圖2、圖3所示)。
圖2 學(xué)生平均學(xué)習(xí)時(shí)長
圖3 學(xué)生成績分布圖
逐步形成了較為系統(tǒng)化教學(xué)支撐資源,以支撐混合式教學(xué)模式的完成。 具體包括: ①以教材和在線教學(xué)視頻為主的課程教學(xué)資源建設(shè)(現(xiàn)有授課視頻78個(gè),視頻總時(shí)長817分鐘,非視頻資源206個(gè),習(xí)題庫448題,線上實(shí)踐教學(xué)項(xiàng)目57個(gè),現(xiàn)累計(jì)頁面瀏覽量952454,累計(jì)選課人數(shù)832人),具體內(nèi)容如圖4所示;②充分利用以實(shí)踐教學(xué)為主的頭歌教學(xué)平臺(www.educoder.net)[4];③具備合作關(guān)系、面向不同行業(yè)的本地化企業(yè)為主的“第二校園” 。
圖4 線上教學(xué)基礎(chǔ)數(shù)據(jù)
Python程序設(shè)計(jì)不僅肩負(fù)著大學(xué)計(jì)算機(jī)教育的普及工作,也是計(jì)算機(jī)專業(yè)深入大數(shù)據(jù)處理和數(shù)據(jù)分析的基礎(chǔ)入門課程,在大學(xué)本科教育中占據(jù)了非常重要的地位。本文立足于本校學(xué)生的學(xué)習(xí)特性,引入混合式教學(xué)模式,切合實(shí)際的改進(jìn)教學(xué)流程、更新教學(xué)內(nèi)容、改革考核評價(jià)模式,并付諸實(shí)際教學(xué)過程中。實(shí)踐表明,該方案充分發(fā)揮了線上教學(xué)的優(yōu)勢,將部分基礎(chǔ)教學(xué)內(nèi)容搬上了網(wǎng)絡(luò),既變相的擴(kuò)展了教學(xué)時(shí)間,提高了學(xué)生學(xué)習(xí)自主性,又能利用線上教學(xué)的功能,收集學(xué)生的學(xué)習(xí)的數(shù)據(jù),便于教師實(shí)時(shí)動(dòng)態(tài)的調(diào)整教學(xué)進(jìn)度。與此同時(shí),教師在課堂教育中將擁有更多的時(shí)間來進(jìn)行課程思政教育和開展例如課堂討論、專題匯報(bào)多種形式的教學(xué),提高學(xué)生的學(xué)習(xí)參與度。Python程序設(shè)計(jì)課程的教學(xué)改革不是一蹴而就的過程,這需要教育工作者投入更多的時(shí)間和精力,進(jìn)行深入的教學(xué)改革,使其教學(xué)內(nèi)容不斷的貼合社會發(fā)展的需要,培養(yǎng)出更多的高素質(zhì)計(jì)算機(jī)應(yīng)用人才[5]。