蔡曉麗 劉芝怡 孟祥蓮


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