蔡曉麗 劉芝怡 孟祥蓮
摘要:Python已成為很多高校非計算機(jī)專業(yè)程序設(shè)計的入門語言,但教學(xué)中普遍存在著考試命題科學(xué)性較差、成績評定隨意、公共課批卷工作量大、忽視問題導(dǎo)向、難以激發(fā)學(xué)生興趣等問題。針對以上問題進(jìn)行了教學(xué)研究與探索,開發(fā)了Python課程的試題庫軟件、創(chuàng)新了教學(xué)模式、分專業(yè)制定了教學(xué)方案,多措并舉,致力于提高學(xué)生的綜合素養(yǎng)和能力。
關(guān)鍵詞:Python;試題庫;軟件開發(fā);教學(xué)模式
中圖分類號:G642 ? ? ? ?文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2022)31-0118-04
Python在人工智能和大數(shù)據(jù)領(lǐng)域有著無可比擬的優(yōu)勢,而日漸受到各大高校的關(guān)注,目前Python已經(jīng)應(yīng)用到很多領(lǐng)域,被諸多高校選定為非計算機(jī)專業(yè)學(xué)生的程序設(shè)計入門語言。Python有強(qiáng)大的第三方庫支持,已經(jīng)有超過十幾萬個第三方庫,覆蓋了諸多應(yīng)用領(lǐng)域,計算生態(tài)進(jìn)一步形成,可以支持有興趣的同學(xué)進(jìn)一步向Python高級編程邁進(jìn)[1]。Python語法簡潔,變量可根據(jù)不同的賦值更改類型,因此不需要顯式定義數(shù)據(jù)類型;在教學(xué)內(nèi)容上沒有指針、內(nèi)存地址和鏈表等難于理解的內(nèi)容,比C語言更容易被學(xué)生接受;可以集成C語言、Java等語言編寫的代碼,通過接口混合編程,也稱為“膠水”語言;豐富的第三方庫應(yīng)用于各個領(lǐng)域,比傳統(tǒng)計算機(jī)語言更便于與專業(yè)結(jié)合、解決專業(yè)問題,在高校非計算機(jī)專業(yè)編程教學(xué)中具有明顯優(yōu)勢。
但在教學(xué)中發(fā)現(xiàn),高校Python課程教學(xué)中普遍存在以下問題:
1) 由于Python是近幾年新開設(shè)的課程,多數(shù)學(xué)校在考試上還采用傳統(tǒng)的“考教合一”的方式,命題隨意性較大、難度設(shè)置及考核點分布科學(xué)性較差、試卷質(zhì)量較低;考試的科學(xué)性欠缺,成績評定的隨意會影響學(xué)校的學(xué)風(fēng)和教風(fēng)。Python是公共課,學(xué)生人數(shù)多,任課教師的出卷、印刷、保密、批閱等工作繁重。隨著網(wǎng)絡(luò)教學(xué)的廣泛應(yīng)用,考試作為檢查教學(xué)質(zhì)量和學(xué)生能力的重要手段,試題庫作為重要的教育教學(xué)資源,它的作用越來越重要?,F(xiàn)代高等教育要求建立具有很高查詢效率的試題庫,能夠高效、方便、快捷地出題,自動生成試卷,逐步形成豐富完善的試題庫,使試卷管理工作更科學(xué)有效[2]。
2) Python課程中多采用以教師為中心的傳統(tǒng)教學(xué)模式,教師在教學(xué)時重視語法和基礎(chǔ)知識的教學(xué),輕視學(xué)生解決問題能力的培養(yǎng),以知識點為中心的教學(xué)難以激發(fā)學(xué)生的主動性。學(xué)生被動地接受知識,感覺所學(xué)內(nèi)容和實際生活沒有聯(lián)系,因此積極性不高。這種教學(xué)方式不能發(fā)揮學(xué)生獨立思考的能力和創(chuàng)新能力。
3) Python課程的經(jīng)典教材較少,很多教材存在案例不足、專業(yè)結(jié)合程度低等問題。不同教材側(cè)重點有較大區(qū)別,深度也各不相同,因此開發(fā)或精選適合新形勢下的教材的需求尤為緊迫。針對以上情況,從三個方面進(jìn)行了教學(xué)研究和實踐探索,以促進(jìn)高校Python程序設(shè)計教學(xué)質(zhì)量的提高。
1 Python試題庫軟件的開發(fā)
開發(fā)Python試題庫軟件,從標(biāo)準(zhǔn)的試題庫中篩選、組合出符合要求的試卷進(jìn)行考試,可克服考試命題中人為的主觀隨意性,可以更科學(xué)、合理、客觀地對教學(xué)雙方的成績進(jìn)行評估,提高教師的責(zé)任心及使命感,使教師必須反復(fù)鉆研大綱,熟透教材,規(guī)范教學(xué)過程,端正教風(fēng)和學(xué)風(fēng),調(diào)動教與學(xué)兩個方面的積極性,對提高教學(xué)質(zhì)量有積極意義[3]。當(dāng)今高等教育中試題庫已經(jīng)成為非常重要的教學(xué)資源,教學(xué)中建立設(shè)計科學(xué)、查詢高效的試題庫系統(tǒng),能夠快速、科學(xué)地出題,生成符合規(guī)范的試卷,使教學(xué)、考試等工作事半功倍。高校教師應(yīng)積極利用先進(jìn)的計算機(jī)互聯(lián)網(wǎng)技術(shù),建設(shè)完善標(biāo)準(zhǔn)的試題庫,以推動課程教學(xué)的發(fā)展。
Python課程試題庫軟件的開發(fā)包括選擇合適的程序設(shè)計開發(fā)語言、確定軟件結(jié)構(gòu)、精選試題并分類、設(shè)計組卷算法、編寫代碼、測試軟件等過程。學(xué)校Python課程教學(xué)小組開發(fā)的Python試題庫軟件(如圖1所示)適合多個專業(yè)使用,該軟件獲批發(fā)明專利1項。軟件在設(shè)計過程中的難點主要在評閱系統(tǒng)的設(shè)計,由于批閱的多數(shù)是計算機(jī)編程題,不同于簡單的客觀題,它既要能與標(biāo)準(zhǔn)答案比對判分,又能根據(jù)測試數(shù)據(jù)和生成的結(jié)果文件進(jìn)行智能判分,還要有教師手工干預(yù)的輔助功能。Python試題庫軟件既要能提高出題及評閱的速度,降低教師評閱的工作量,又要盡量科學(xué)、合理、公平、公正。通過不斷改進(jìn),最終開發(fā)出了師生滿意的軟件系統(tǒng)。它在疫情期間幫助學(xué)生參與線上學(xué)習(xí),掌握Python編程的各種技能,提高了Python課程的教學(xué)效果。
為提高軟件的實際使用效果,我們不斷豐富軟件功能,從單一的題庫系統(tǒng)增加了防作弊功能、作業(yè)評閱功能、學(xué)生自評功能等功能模塊。
1.1 在防作弊功能模塊
學(xué)生如果在考試過程中訪問指定文件夾以外的位置,就會自動鎖屏并給予警告,如果使用U盤拷貝會鎖屏;平時作業(yè)中自動記錄了學(xué)生登錄信息,如果拷貝別人的文件交卷后會計0分,并且在統(tǒng)計的成績中會留有記錄。這對疫情環(huán)境下學(xué)生在線完成作業(yè)起到了很好的輔助作用,防止了學(xué)生拷貝作業(yè)的情況,為在線學(xué)習(xí)提供了技術(shù)支持。學(xué)生也因為教師們開發(fā)的軟件感嘆編程的巨大作用,激發(fā)了編程的熱情。使用該軟件后提問的同學(xué)多了、作業(yè)完成的質(zhì)量高了。
1.2 在學(xué)生自評模塊
學(xué)生遇到不會的練習(xí)題,可以選擇批閱功能,試題庫軟件就會給予提示、進(jìn)行試題分析。學(xué)生在軟件中不僅可以測試,也可以練習(xí)、復(fù)習(xí),該軟件就成了一個學(xué)習(xí)工具,成了學(xué)生的小老師。尤其在疫情期間,教師和學(xué)生之間缺少了面對面的溝通,教師的精力也有限,學(xué)生遇到問題在網(wǎng)上發(fā)消息教師未必能及時回復(fù),通過這個軟件這些問題都得到了解決。
1.3 作業(yè)評閱模塊
該模塊(如圖2) 能夠大幅提高教師的評閱速度,程序題有很多小的得分點,如果由教師一個一個去批閱,效率非常低,而且通識課學(xué)生人數(shù)又多,批作業(yè)的工作量更大,有了這個系統(tǒng),教師們就像有了能干的助手,從而避免被簡單重復(fù)性勞動耗盡了自己的教學(xué)熱情。該Python試題庫軟件功能豐富,教師還可以利用該軟件發(fā)布通知、布置作業(yè)、組織在線考試等,可以對選擇題、判斷題、編程題判分。這些都減輕了教師批改作業(yè)的工作量,也大大提高了教師的工作效率[4]。
2 教學(xué)理念與模式的探索與創(chuàng)新
Python課程教學(xué)要轉(zhuǎn)變以教師為中心的傳統(tǒng)模式,而樹立學(xué)生才是學(xué)習(xí)主體的理念,結(jié)合實際問題、加強(qiáng)項目引領(lǐng)、問題導(dǎo)向,培養(yǎng)學(xué)生學(xué)習(xí)的興趣,結(jié)合多種教學(xué)模式和方法,培養(yǎng)創(chuàng)新人才。Python課程教學(xué)理念與模式的創(chuàng)新具體包括以下措施:
2.1 問題驅(qū)動、項目引領(lǐng)式混合教學(xué)
目前高校中非計算機(jī)專業(yè)Python課程學(xué)時多為48或64學(xué)時,課時比較緊張,單純依靠課上時間只能介紹基本知識,因此可以采用線上、線下結(jié)合的混合模式教學(xué),用翻轉(zhuǎn)課堂、慕課、雨課堂等新的教學(xué)模式和工具,讓學(xué)生課前利用在線教學(xué)平臺觀看教學(xué)視頻、完成適量的練習(xí),掌握基本知識點。另外,以知識點為中心的教學(xué)“只見樹木、不見森林”,學(xué)生缺乏學(xué)習(xí)興趣,因此適宜在Python教學(xué)中引入實際問題、以項目開發(fā)引領(lǐng)學(xué)生分析問題、用編程解決問題??刹捎昧鞒虉D或者自然語言描述算法,再轉(zhuǎn)換成Python程序進(jìn)行調(diào)試,從而能夠模擬專業(yè)問題,在這個過程中提高學(xué)生Python編程能力。在Python線下教學(xué)中教師可以減少基礎(chǔ)知識的教學(xué)用時,采用答疑、討論和翻轉(zhuǎn)課堂為主要教學(xué)形式,講授作為輔助形式,用于突破重點、難點以及學(xué)生的共性問題。之后,再對基礎(chǔ)知識進(jìn)行鞏固與靈活應(yīng)用,以實現(xiàn)更高級的教學(xué)目標(biāo),讓學(xué)生在認(rèn)知層面參與學(xué)習(xí)。單純講解編程語法難以激發(fā)學(xué)生興趣,應(yīng)結(jié)合實際問題、軟件項目幫助學(xué)生樹立目標(biāo),變被動學(xué)習(xí)為主動學(xué)習(xí)。
2.2 將Python課程總體培養(yǎng)目標(biāo)提升為賦能培養(yǎng)
具體包括知識、能力和素養(yǎng)三個層面。知識層面是最基礎(chǔ)的層面,主要是培養(yǎng)學(xué)生掌握Python語法和程序設(shè)計知識。能力層面是高一級的目標(biāo),培養(yǎng)學(xué)生擁有三方面的能力:一是編寫良好的Python程序、數(shù)據(jù)處理和可視化的專業(yè)能力;二是問題抽象、建模、分解,利用Python編程求解自身專業(yè)問題的能力;三是分析問題、團(tuán)隊協(xié)作、表達(dá)溝通、解決問題的綜合能力。最高層次的目標(biāo)是素養(yǎng)層面。要培養(yǎng)學(xué)生的道德品質(zhì)、信息素養(yǎng)和計算思維等軟實力,這些素養(yǎng)一旦具備,受益終身。
2.3 將Python課程教學(xué)劃分成入門、培育和拓展三個階段
這三個階段由淺入深、逐層遞進(jìn)。入門階段介紹Python數(shù)據(jù)類型、程序的基本結(jié)構(gòu)和函數(shù),從而學(xué)生可以理解程序執(zhí)行流程、進(jìn)行簡單的編程。培育階段學(xué)習(xí)復(fù)雜的數(shù)據(jù)類型,例如序列、字典、集合、元組,比較其異同,培養(yǎng)面向?qū)ο蟮乃枷搿M卣闺A段根據(jù)專業(yè)需求介紹相關(guān)的第三方函數(shù)庫,例如時間庫、繪圖庫、隨機(jī)函數(shù)庫、數(shù)據(jù)分析及可視化庫等,目標(biāo)在加深學(xué)生的計算思維能力。
2.4 分專業(yè)合理制定教學(xué)方案
根據(jù)專業(yè)制定不同教學(xué)方案[5],不同專業(yè)、不同生源的學(xué)生計算機(jī)基礎(chǔ)不同,涉及的Python第三方庫有較大差別。在教學(xué)中應(yīng)針對專業(yè)需求和學(xué)生基礎(chǔ)擬定不同教學(xué)方案,因材施教。例如統(tǒng)計學(xué)、大數(shù)據(jù)專業(yè)的應(yīng)用需求在數(shù)據(jù)統(tǒng)計以及數(shù)據(jù)可視化等方向,教學(xué)內(nèi)容上側(cè)重于數(shù)據(jù)類型、Pandas、Numpy和Matplotlib等第三方庫;醫(yī)學(xué)影像專業(yè)側(cè)重圖像處理方向,內(nèi)容包括PIL、 Open CV和文件操作等。
2.5 興趣驅(qū)動Python課程教學(xué)
Python課程的教學(xué)目的是讓學(xué)生掌握程序設(shè)計基礎(chǔ)知識和方法,具備計算思維,學(xué)會用計算機(jī)編程解決本專業(yè)的實際問題。首先要讓學(xué)生樹立信心,教師應(yīng)由淺入深地進(jìn)行案例教學(xué),讓學(xué)生體會到編程的快樂。另外,興趣是最好的老師,程序的案例應(yīng)該結(jié)合生活,例如介紹基于Python的網(wǎng)站、詞云、游戲作品等。課上讓學(xué)生實踐一些有趣的小程序,例如猜數(shù)游戲、Turtle庫作圖、進(jìn)制轉(zhuǎn)換、詞云、排序等。為激發(fā)學(xué)生的學(xué)習(xí)興趣,還可讓學(xué)生上網(wǎng)了解軟件公司對程序員的需求。
2.6 注重融合課程思政元素,培養(yǎng)學(xué)生的愛國精神、敬業(yè)精神
在教學(xué)中要注重精神引領(lǐng),要與學(xué)生探討分析我國軟件行業(yè)發(fā)展?fàn)顩r,提升學(xué)生科技報國的責(zé)任感、使命感,用課程思政促進(jìn)學(xué)生提高Python學(xué)習(xí)的動力。Python是人工智能的主流語言,與行業(yè)結(jié)合性很強(qiáng),各行業(yè)都能在Python中找到相關(guān)第三方庫。編程能力是信息社會每一位理工科大學(xué)生必備的素質(zhì),學(xué)好Python有助于提高各行業(yè)信息化水平。
3 精選經(jīng)典的Python教材,建設(shè)或優(yōu)選優(yōu)質(zhì)網(wǎng)絡(luò)教學(xué)資源
教材是學(xué)生學(xué)習(xí)的重要資料,Python教材應(yīng)體現(xiàn)應(yīng)用性和完備的知識結(jié)構(gòu),應(yīng)優(yōu)先選擇符合大綱和學(xué)生基礎(chǔ)的國家級、省部級優(yōu)秀教材進(jìn)行教學(xué),所選教材應(yīng)包含較多的優(yōu)秀案例,能提供配套的網(wǎng)絡(luò)學(xué)習(xí)資源的更佳。例如可選用北京理工大學(xué)的《Python程序設(shè)計》作為教材或者作為參考資料,該校教師在國內(nèi)最早引入Python課程,因發(fā)現(xiàn)Python卓越的跨平臺、跨專業(yè)、融合語言的能力而致力于推廣該課程。
4 Python課程教學(xué)改革的階段性成果
經(jīng)過Python課程組一年多的努力,以科研促教學(xué),目前Python教學(xué)研究上已經(jīng)取得一些研究成果。開發(fā)的Python試題庫軟件含平時作業(yè)、實驗布置、練習(xí)與考試、自動閱卷等多種功能于一體,已經(jīng)在校內(nèi)由3000名左右的大學(xué)生使用,對提高學(xué)生的學(xué)習(xí)興趣、及時得到教學(xué)反饋、提高編程實踐的效果起到了積極作用。尤其在新冠肺炎疫情期間,教學(xué)完全在線上進(jìn)行,一般的教學(xué)平臺如慕課堂、騰訊課堂、QQ只能播放教學(xué)內(nèi)容、考勤或做簡單的客觀題小測驗,教師難以精準(zhǔn)掌握學(xué)生編程的情況,而通過該Python試題庫軟件,實現(xiàn)了理論題、編程題自動評閱,軟件能針對錯題給予分析和提示,有助于學(xué)生發(fā)現(xiàn)自己知識上的漏洞,也有助于教師了解學(xué)生掌握的情況,進(jìn)行有針對性的教學(xué)。在對軟件中的算法進(jìn)行凝練和創(chuàng)新后,獲批發(fā)明專利一項(“一種智能閱卷方法及系統(tǒng)”) ,反映了評閱方法的先進(jìn)性。針對Python課程中一些重要算法和函數(shù)庫制作了微課課件,幫助學(xué)生對算法有更清晰的理解,其中“窮舉算法”“Python繪圖——Turtle庫”等微課作品獲得學(xué)校和省微課比賽獎項。
5 Python課程教學(xué)的改進(jìn)方案
Python課程是眾多高校非計算機(jī)專業(yè)第一門編程入門課程,在培養(yǎng)學(xué)生計算思維方面有非常重要的作用,目前課程組已經(jīng)在教學(xué)和研究中對其教學(xué)模式和方法積累了一些經(jīng)驗,開發(fā)了配套的試題庫教學(xué)軟件、建設(shè)了網(wǎng)絡(luò)教學(xué)資源,但是在培養(yǎng)學(xué)生編程能力上仍然需要繼續(xù)開拓創(chuàng)新、不斷前進(jìn),堅持問題驅(qū)動、項目引領(lǐng)式教學(xué),重視培養(yǎng)學(xué)生的綜合能力。今后將致力于:1) 進(jìn)一步完善Python試題庫軟件功能,例如增加優(yōu)秀作品展示模塊,促進(jìn)學(xué)生交流編程的優(yōu)秀作品,讓他們能夠多學(xué)習(xí)一些貼近自己專業(yè)的第三方函數(shù)庫的應(yīng)用,能夠用Python解決自己專業(yè)中的問題,幫助學(xué)生提高編程的水平和計算機(jī)應(yīng)用能力;2) 增設(shè)創(chuàng)新性作業(yè),讓學(xué)生在Python網(wǎng)絡(luò)社區(qū)中學(xué)習(xí)優(yōu)秀作品,以增加對Python應(yīng)用的了解、增強(qiáng)學(xué)習(xí)的興趣,讓學(xué)生在課后結(jié)合自己的興趣,開發(fā)相應(yīng)的Python程序作品;3) 能把這個試題庫軟件由Python進(jìn)一步推廣至其他類似課程,應(yīng)用到更多專業(yè),甚至更多學(xué)校,提高高校的整體教學(xué)信息化水平,幫助教師提高工作效率。
6 結(jié)束語
Python作為人工智能與大數(shù)據(jù)領(lǐng)域的主流語言,具有越來越廣泛的應(yīng)用,是高校重要的編程入門課。但目前存在考試方式傳統(tǒng)、評價科學(xué)性較差、教學(xué)上重知識傳授輕能力培養(yǎng)等問題,通過有針對性地開發(fā)Python試題庫軟件,解決了科學(xué)考試、輔助學(xué)生在線學(xué)習(xí)等問題。軟件包含作業(yè)模塊、實驗?zāi)K、考試模塊、評閱模塊等,有助于項目式、問題驅(qū)動式教學(xué)的開展,從傳授知識轉(zhuǎn)變?yōu)榕囵B(yǎng)能力、提升素養(yǎng),讓學(xué)生入門、培育、拓展,在Python教學(xué)上針對不同專業(yè)側(cè)重介紹不同第三方庫,支持專業(yè)發(fā)展和興趣培養(yǎng),多措并舉,旨在提升高校Python教學(xué)水平,為培養(yǎng)各個專業(yè)具有較強(qiáng)信息素養(yǎng)、編程水平的復(fù)合型人才作有益的嘗試。
參考文獻(xiàn):
[1] 戴振華,潘學(xué)文.《Python語言程序設(shè)計》混合金課建設(shè)研究與探討[J].電腦知識與技術(shù),2022,18(8):135-136.
[2] 翁業(yè)林.多課程試題庫軟件系統(tǒng)的研究與實現(xiàn)[D].南京:南京理工大學(xué),2010.
[3] 文軍.改革課程考核方式 建設(shè)思想道德修養(yǎng)與法律基礎(chǔ)試題庫[J].科教文匯(上旬刊),2011(10):24-25.
[4] 陳劍洪.Python程序設(shè)計課程探討[J].現(xiàn)代商貿(mào)工業(yè),2022,43(11):190-191.
[5] 馬曉婧.淺議思政課線上線下混合教學(xué)模式的構(gòu)建——以“貴州省情”課為例[J].科教文匯(上旬刊),2021(7):69-71.
【通聯(lián)編輯:王力】
收稿日期:2022-08-09
基金項目:江蘇省高等教育學(xué)會“大學(xué)素質(zhì)教育與數(shù)字化課程建設(shè)”專項課題(課題號:2020JDKT045、2020JDKT044) ;江蘇省高等學(xué)校教育技術(shù)研究會課題(課題號:2021JSETKT037) ;常州工學(xué)院教育國際化教學(xué)改革研究課題(課題號:gjhjgkt2021-01)
作者簡介:蔡曉麗(1981—) ,女,江蘇常州人,副教授,碩士,主要研究方向為計算機(jī)應(yīng)用、高等教育信息化、教學(xué)系統(tǒng)設(shè)計、軟件開發(fā)等;劉芝怡(1978—) ,女,江蘇常州人,副教授,碩士,主要研究方向為信息管理與數(shù)據(jù)挖掘;孟祥蓮(1980—) ,副教授,控制科學(xué)與工程專業(yè)博士,主要研究方向為軟件工程。