孫 笑 微
(沈陽師范大學 軟件學院, 沈陽 110034)
2018年6月教育部高校司吳巖司長提出了建設“金課”的設想,提出要建設“線上”“線下”“線上線下”混合式、虛擬仿真、社會實踐5種類型的“金課”,并將“金課”的內涵歸結為“兩性一度”,即高階性、創新性和挑戰度。在此背景下,“淘汰水課,打造金課”,推進“課堂革命”成為我國高等教育改革的焦點[1-4]。C語言程序設計是計算機科學與技術專業中的專業基礎必修課,為順應時代的發展,需要對C語言程序設計的實踐教學方法進行改革[5-8]。 PTA[9-11]程序設計類實驗輔助教學平臺是由浙江大學主導,杭州百騰教育科技有限公司管理運營,全國高校教師共同建設的程序設計類課程的輔助教學平臺。本文運用PTA平臺對C語言程序設計課程進行混合式教學模式改革,實現資源共享,對PTA平臺數據進行采集和分析,同時進行混合式教學效果評價。
本文針對沈陽師范大學軟件學院網絡工程專業2019級1班45名學生進行PTA學習實踐,從PTA平臺獲取數據的同時進行數據分析[12-13]。
學生在PTA平臺完成代碼程序題的時候,由于平臺采用C和C++編譯器,對學生編譯錯誤的信息會有提示,可以讓學生反復提交,學生提交的時間、狀態(正確或錯誤)、答題分數、題目、編譯器、耗時等會顯示在后臺提交的列表中,如圖1所示。

圖1 學生提交數據列表Fig.1 Students submit data list
在PTA平臺中,教師可以設置題目集的結束時間,題目集結束后不能重新修改設置,學生也不能繼續答題,題目集關閉后教師可以在平臺上查看學生提交作業的排名,這個排名是依據學生答題的分數自動批改并自動根據成績排名的結果,如圖2所示,可以看見排名、學生姓名、總分數、單項題分數和每道代碼編程題的分數,以及學生提交題目集的時間。

圖2 學生題目集排名列表Fig.2 Student question set ranking list
PTA還提供了數據導出功能----導出“成績單”,可以把每個題目集的成績單導出為Excel文件,文件中包含了每道題(包括判斷選擇題等)的詳細分值和正確與否,圖3為Excel表中部分數據。

圖3 學生成績單Fig.3 Students score List
PTA提供的數據導出功能----導出“得分代碼”,可以把每個學生的每個編程題的代碼導出為一個壓縮文件,文件中包含了詳細代碼信息,包括代碼的大小和.c文件,圖4為壓縮文件中的代碼文件列表。雙擊文件,即可打開源代碼,如圖5所示。

圖4 學生得分代碼列表Fig.4 Students score code list

圖5 源文件Fig.5 Source file
PTA可以導出“答卷”,將每個學生的題目集以試卷的方式導出為html文件,文件中包含了學生的答題開始時間、結束時間、答題時長、學號、姓名、試卷總分和學生所得分,同時還包括詳細的習題信息以及學生答題情況,還有每道題的分值和學生所得分,答卷卷頭部分如圖6所示。

圖6 學生答卷Fig.6 Students answer sheet
基于PTA平臺所采集的數據,可以全面、客觀、規范地進行混合式教學效果評價。
針對學生提交列表提交的數據可以分析出學生對每一道題編譯的難易程度、編輯時間和具體掌握情況,對于某些較復雜或者學生理解不好的題目可以在課堂上集中講解,對于容易出錯的地方也可以讓學生在課堂上做集中討論。課后,要求學生寫好實驗報告和學習小結。為了達到教學相長的效果,也可以在每章節結束后進行教學反思和總結,以便為下一次教學提供指導和依據。
PTA中的數據可看見學生的每一個題目集在班級中的排名,通過排名學生可以及時調整自己的學習態度和學習計劃。而教師更可掌握全班學生的學習狀態,對于習題集不及格、排名靠后或者提交作業較晚的同學,應該給予適當的激勵機制,督促學生主動學習,對于有學習困難的同學給予指導和幫助。
以前學生在編輯代碼的時候,無論是手寫作業還是電子作業,教師很難判斷學生之間是否有抄襲的情況,即使能夠判斷也需要耗費大量的人力,PTA平臺提供的自動查重功能很好地解決了代碼抄襲的問題,學生代碼查重率可以有效分析學生之間是否有重復性代碼以及重復率,可以比較真實有效地杜絕抄襲現象,也可以使教師更好地掌握學生的學習狀態,對于有抄襲現象的同學要予以批評教育,使學生端正學習態度,培養學生正確的世界觀和價值觀。
利用PTA平臺提供的數據導出功能----“正答率”,可以分析出每道題學生的答題正確率,對于正答率較低的題目,教師可以在課堂上做集中講解,對于大家普遍有問題的題目,教師也可以分析出此題是否適合當前教學對象,進而對題目集做適當調整,題目集正答率分析如圖7所示。

圖7 正答率Fig.7 Accuracy rate
PTA平臺還提供了數據導出功能----“試卷分析”,可以對學生的題目集進行詳細的數據分析,如題目集最高分、最低分和中位線等,優秀、良好、中等、及格和不及格的人數和比例,完成題目集的時間和人數比例等,還可以匯總題目集中的知識點分布和難易程度,如圖8所示。試卷分析還可以給出不同知識點的得分率分布柱狀圖和不同分數段人數分布的柱狀圖,如圖9和圖10所示。通過試卷分析,教師可以掌握題目集的詳細情況,進而為今后的教學改革做出指導和幫助。

圖8 試卷分析Fig.8 Examination paper analysis
對沈陽師范大學軟件學院網絡工程專業2019級學生的C語言程序設計混合式教學進行嘗試,經過與2018級學生進行對比,得到學生C語言程序設計課程的平均成績(其中包括平時成績30%、期中成績20%、期末成績50%)、不及格率、優秀率和學生參加ACM國際大學生程序設計競賽人數的對比,如表1所示。
從表1中數據可以得出,實踐教學改革有益于學生提高理論知識水平,適合學生水平的實驗資源有助于學生達到PTA教學水平要求,提高課程通過率和優秀率,學生實踐能力的提高也大大提高了學生程序設計競賽的成績。鑒于PTA系統在C語言教學中的良好效果,軟件學院若干課程如JAVA、數據結構等也都陸續采用PTA作為教學、實驗和考試平臺。

圖10 人數分布Fig.10 Population distribution

表1 “C語言程序設計”實踐教學改革教學效果對比Table 1 A comparison of the teaching effect of the practical teaching reform of “C language programming”
基于PTA 平臺實現C語言程序設計課程的混合式教學的開展,對于有效豐富教學資源,提高學生的自主學習主觀能動性、學生的編程能力和計算機操作能力都具有至關重要的作用。加強了師生互動,提高了教師教學的效率和學生學習的效率,將學生自主創新的熱情激發出來,讓學生從被動接受灌輸轉變為積極主動學習,學會積極思考,將所學知識融會貫通,以此來不斷提高學生的編程能力和動手實踐能力,確保促進學生的全面發展,為高校教學改革提供了新的思路。