劉永川,劉 春,熊才權(quán),葉志偉
(湖北工業(yè)大學 計算機學院,湖北 武漢 430068)
操作系統(tǒng)是計算機類專業(yè)的核心專業(yè)課程。與其它專業(yè)課程相比,其內(nèi)容廣泛、龐雜,知識點難度和跨度較大,與計算機系統(tǒng)結(jié)構(gòu)、計算機組成原理、數(shù)據(jù)結(jié)構(gòu)等諸多課程有著緊密聯(lián)系。一些實力雄厚的國外高校如麻省理工學院、普林斯頓大學等,所開設的操作系統(tǒng)課程教學目標是引導學生設計與實現(xiàn)一個小型操作系統(tǒng)[1-2]。該目標能很好地培養(yǎng)學生的系統(tǒng)操作能力[3],但對教學硬件條件、師資力量、學生整體素質(zhì)的要求非常高。
北京航空航天大學計算機學院在2007 年引進麻省理工學院操作系統(tǒng)實驗的基礎上,經(jīng)過多年持續(xù)建設,設計與實現(xiàn)了一套基于MIPS 平臺的操作系統(tǒng)實驗系列,通過六大實驗引導學生逐步實現(xiàn)一個小型操作系統(tǒng)[4]。多年的教學實踐結(jié)果證明,該實驗系列對學生幫助很大,但同時也暴露出一些問題,例如:以4 名學生為一組,按小組完成實驗,很難區(qū)分同組內(nèi)學生的工作量和學習效果;只有46%的學生能夠完成全部實驗(如果不是按小組完成實驗,而是要求每個學生獨立完成實驗,完成率可能還將大幅降低);幫助學生解決實驗過程中的問題需耗費大量教學資源;教師很難提供細粒度、及時的指導;缺少自動化的實驗環(huán)境等。
南京航空航天大學建設了基于公有云的操作系統(tǒng)實驗平臺[5],取得了一定的教學效果,同時指出:“目前學生提交的程序由教師和助教人工進行測試,如何進行自動化測試甚至實時將成績反饋給學生是一個很有價值且值得探索的方向?!?/p>
對于廣大地方高校,由于教學硬件條件、師資數(shù)量、學生整體素質(zhì)等限制,不能照搬國內(nèi)外名校的教學方案。一方面,教師難以對每個學生的每次作業(yè)、實驗提供一對一、針對性的指導;另一方面,部分學生由于相關(guān)課程基礎不扎實,難以獨立完成作業(yè)、實驗。這些痛點問題導致一些學生無法得到有效的訓練,且教師難以準確掌握學生平時的學習狀況,難以針對學情及時調(diào)整與改進教學設計,也不能充分調(diào)動學生的學習主動性、積極性,因此不符合以產(chǎn)出為導向、以學生為中心,持續(xù)改進教學的教育理念[6-8]。
圖1 以框圖形式呈現(xiàn)了廣大地方高校操作系統(tǒng)教學中的痛點問題及其影響,圖中箭頭可解釋為“導致”。由圖1 可見,痛點問題對教師、學生均產(chǎn)生了負面影響,并且對教師的負面影響還會作用到學生,從而加深對學生的影響,最終導致教學目標難以達成。為解決或部分解決廣大地方高校在操作系統(tǒng)課程教學實踐中的這些痛點問題,從2018 年開始,湖北工業(yè)大學計算機學院嘗試采用云班課[9-10]管理學生作業(yè),并采用在線評價(Online Judge,OJ)平臺[11-12]管理學生實驗,不斷改進教學。
Fig.1 Pain points in operating system teaching and their influences圖 1 操作系統(tǒng)教學中的痛點問題及其影響
云班課是一種信息化教學輔助工具,支持PC 端(通過瀏覽器)和手機端(通過APP)操作,可提供信息化教學所需的常見功能,如在線測驗、在線作業(yè)、作業(yè)匿名評價、教學數(shù)據(jù)分析等。為利用云班課管理作業(yè),鼓勵學生獨立思考、獨立完成作業(yè),準確評估學生對知識點的掌握情況以及考察學生的學習態(tài)度,教師可將作業(yè)分為客觀題和主觀題兩種形式,并分別進行相應的教學設計?;谠瓢嗾n管理學生作業(yè)的框架如圖2所示。
Fig.2 Framework of students' homework managemennt based on cloud class圖2 基于云班課管理學生作業(yè)框架
客觀題作業(yè)包括單選題和多選題。教師課前在云班課上準備好若干道選擇題,涵蓋上一章節(jié)的主要知識點。在上課過程中,教師可隨時要求學生用自己的手機完成答題。所涉及的知識點可能來自教材或PPT,但更多地來自課堂上教師的講授、程序的演示及課堂討論的問題。通過類似的措施可提高課堂出勤率,引導學生認真聽講,積極參與課堂教學活動,提高其學習興趣。
如圖2 所示,客觀題作業(yè)能夠及時、有效地反饋學生整體學情。這是因為答題時間僅限幾分鐘,每個學生在各自手機上看到的題目是亂序排列的,并且每道題的所有選項也是亂序排列的(這些是云班課提供的功能)。在短短幾分鐘內(nèi),學生們無暇他顧,只能集中精力完成自己的答題。而對于傳統(tǒng)方法,即教師通過批閱學生課后作業(yè)的方式掌握學生整體學情,既難以確保及時,又無法確保有效(因為無法確保課后作業(yè)是學生獨立完成的)。
學生群體的答題結(jié)果可由云班課以多種形式統(tǒng)計呈現(xiàn),從而幫助教師及時、準確地掌握學生學習狀況:哪些知識點應該強化,哪些學生需要幫扶,今后如何改進相關(guān)知識點的教學等。以上符合以學生為中心、持續(xù)改進教學的教育理念。
主觀題要求學生課后在作業(yè)本上完成,并在規(guī)定的時間節(jié)點內(nèi)拍照后做成PDF 文件上傳到云班課,若逾期上傳則依據(jù)逾期時間的長短扣分。設置主觀題作業(yè)主要是為了彌補客觀題題型單一、一些知識點不便出客觀題等不足,如圖2 所示。主觀題作業(yè)由學生之間進行匿名互評,教師在布置主觀題作業(yè)時,已在云班課上設定好若干評分點,并給出參考答案。主觀題及其評分點是一同給出的,參考答案在學生匿名互評開始后由云班課平臺公開。
為了鼓勵學生認真參與互評,以評審者的視角看待并學習其他同學的答題,參與互評活動本身也可作為本次作業(yè)的一個評分項,每個學生以匿名方式隨機評價3 份他人作業(yè),即可獲得該項分數(shù)。教師可對學生互評活動進行適當監(jiān)管,確?;ピu活動公正、有序進行。教師的監(jiān)管可以如下方式進行:對每次作業(yè),教師抽取若干份親自評閱,可隨機選取,或選取學生評分最高和最低的若干份作業(yè);個別學生可能對自己的作業(yè)得分有異議,則其作業(yè)也由教師親自評閱。
實驗主要由學生在課后完成,課堂上教師對實驗難點進行講解,對遇到困難的學生提供必要指導,鼓勵學生盡力通過自主鉆研解決困難。對于實驗做得比較好的學生,可以請其在課堂上分享自己的實驗心得,并由教師引導所有學生進行討論。
在線評價平臺已被廣泛應用于各類程序設計大賽,其能夠自動判定用戶提交的程序邏輯是否正確,具備自動查重、答題統(tǒng)計、排名等功能。將在線評價平臺應用于操作系統(tǒng)實驗,可實現(xiàn)自動呈現(xiàn)學情、自動評分和自動生成實驗報告等功能,甚至能夠自動定位錯誤,從而提高學生獨立完成實驗的信心。
基于在線評價平臺管理學生實驗的框架如圖3 所示,圖中箭頭可解釋為“服務”。由圖3 可見:①教師的工作、系統(tǒng)自動完成的工作都是為學生服務的,體現(xiàn)了以學生為中心的教育理念;②系統(tǒng)自動完成的工作也是為教師服務的。在傳統(tǒng)教學中,原本由教師完成的繁重工作如檢查學生實驗中的錯誤、批閱實驗報告、評分、統(tǒng)計學情等,現(xiàn)均由系統(tǒng)自動完成,從而極大地提高了教師工作效率,使其能夠集中精力根據(jù)學情設計并輔導學生實驗、持續(xù)改進教學。
筆者于2018年搭建在線評價平臺時,采用最低配置的阿里云服務器:單核CPU,1GB 內(nèi)存,20GB 硬盤,1M 外網(wǎng)帶寬,同時配備Ubuntu-14.04-Server 操作系統(tǒng),安裝HUSTOJ在線評價平臺[11]。該平臺開源且免費,在國內(nèi)被廣泛應用。
按此方案搭建在線評價平臺,成本低廉,且完全能夠應對兩個班級約60 名學生同時做實驗。選擇其它品牌的云服務器、操作系統(tǒng)和在線評價平臺也是可行的,甚至選擇校園內(nèi)網(wǎng)服務器代替公網(wǎng)云服務器也是可行的。
Fig.3 Framework of students' experiment management based on online evaluation platform圖3 基于在線評價平臺管理學生實驗框架
許多操作系統(tǒng)功能的模擬實驗可以依托在線評價平臺完成,記為第一類實驗,表1 列出了其中一部分實驗;另外有一些實驗不能依托在線評價平臺完成,記為第二類實驗。表2 列出了不能依托在線評價平臺完成的實驗,以及其不能依托在線評價平臺的原因。本文主要論述采用在線評價平臺管理第一類實驗。
Table 1 Operating system experiments supported by online evaluation platform表1 可依托在線評價平臺完成的操作系統(tǒng)實驗
Table 2 Operating system experiments unable to be supported by online judge表2 不可依托在線評價平臺完成的實驗
將在線評價平臺用于管理學生實驗,除利用在線評價平臺自身的程序查重功能自動判定程序邏輯是否正確外,教師還可通過精心設計實驗,實現(xiàn)自動定位學生實驗程序中的錯誤類型。這里以多級反饋隊列調(diào)度算法實驗為例進行具體說明[13]。
若系統(tǒng)只有1 個隊列,則多級反饋隊列調(diào)度算法將退化成時間片輪轉(zhuǎn)調(diào)度算法;此時,若系統(tǒng)中總共有m個進程,第i個進程的服務時間為Ti,則當時間片T≥ max{T1,T2,…,Tm}時,多級反饋隊列調(diào)度算法將進一步退化成先來先服務調(diào)度算法。這兩種情況屬于多級反饋隊列調(diào)度算法發(fā)生質(zhì)變的邊界條件,能夠考察學生的邏輯思維是否縝密。很多學生提交的程序在一般情況下能夠正確工作,但在這兩種邊界條件下,不能正確退化成時間片輪轉(zhuǎn)調(diào)度算法和先來先服務調(diào)度算法。
教師可將這兩種邊界條件下的在線評價平臺測試數(shù)據(jù)分別列為第j、k組數(shù)據(jù),當學生提交的程序未能通過第j、k組數(shù)據(jù)測試時,由在線評價平臺返回相應的錯誤提示代碼,讓其知道該程序至少存在這兩種邏輯錯誤。這將幫助學生快速找到實驗程序中的關(guān)鍵錯誤,可大大提高學生通過自身努力完成實驗的信心,同時節(jié)省了教師時間。
在線評價平臺能夠自動判斷學生提交的程序是否邏輯正確,然而正確就給100 分,錯誤就給0 分,顯然不是很合適。因此,需要通過設計合理的評分規(guī)則實現(xiàn)自動、客觀評價學生實驗,以達到鼓勵學生通過自身努力獨立完成實驗的目的。
容易看出,學生提交多少次代碼才能達到邏輯完全正確且查重通過,這“次數(shù)”和“查重通過”能夠比較有效地反映學生邏輯思維的縝密程度與學習態(tài)度。據(jù)此,教師可對學生實驗采取如表3所示的評分規(guī)則。
Table 3 Experiment scoring rules表 3 實驗評分規(guī)則
學生每次提交的代碼正確與否、查重通過與否等各項數(shù)據(jù)均被在線評價平臺記錄到數(shù)據(jù)庫中。因此,利用數(shù)據(jù)庫查詢命令,能夠快速統(tǒng)計所有學生的實驗成績,從而自動呈現(xiàn)學情。并且,基于這些數(shù)據(jù)和預先準備的實驗報告模板,軟件可自動生成實驗報告。該方式一方面可避免學生提交的實驗報告格式不一,另一方面還能為學生節(jié)省撰寫實驗報告的時間,以便其能夠更專心地投入到實驗中。
對實驗結(jié)果進行有效評估,能夠幫助教師準確掌握學生的學習狀況,并針對學情及時調(diào)整和改進教學?!坝行гu估”的前提是:學生群體的實驗結(jié)果具有較高的真實性。在線評價平臺的自動查重機制能夠確保學生獨立完成實驗,為“有效評估”提供了前提保證。
筆者基于在線評價平臺設計了5 個必做實驗,且從實驗1 到實驗5 難度依次加大。筆者以近一屆160 名學生作為考察對象,要求所有學生獨立完成這5 個實驗。在實驗要求的期限內(nèi),學生若未能提交一次正確的代碼,相當于放棄該實驗,將視為未參加實驗。這里以“參加實驗比例”和“獨立完成比例”兩項指標評估實驗結(jié)果:前者定義為參加實驗的學生人數(shù)與學生總?cè)藬?shù)之比,后者定義為提交了正確代碼且通過了查重的學生人數(shù)與參加實驗的學生人數(shù)之比?!皡⒓訉嶒灡壤蹦軌蜉^好地量化實驗難度,該比例越高,實驗難度越低;“獨立完成比例”能夠較好地量化學生成績的有效性,該比例越高,成績有效性越高。
表4 給出了實驗結(jié)果相關(guān)數(shù)據(jù)。圖4 以折線圖的形式展示了“參加實驗比例”與“獨立完成比例”隨實驗難度增加(即實驗序號增加)的變化趨勢。由圖4 可見,雖然實驗1 最簡單,“參加實驗比例”接近于1,但只有約65%的學生能夠獨立完成;實驗2-實驗5 的難度顯著高于實驗1,但獨立完成比例顯著高于實驗1,80%以上的學生能夠獨立完成實驗2-實驗5。
Table 4 Data of experiment results表 4 實驗結(jié)果數(shù)據(jù)
Fig.4 Line chart of experiment results圖 4 實驗結(jié)果折線圖
實驗1 的獨立完成比例顯著低于實驗2—實驗5,其中的主要原因可能是:第一次基于在線評價平臺做實驗,部分學生對在線評價平臺的查重機制抱有僥幸心理;相當數(shù)量的學生經(jīng)歷實驗1“查重未通過”之后,能夠更加誠實、認真地對待后續(xù)實驗。實驗難度雖然對“獨立完成比例”有一定影響,但不是主要原因。在某屆學生中,筆者曾有意將難度最高的實驗5 改作第一次實驗,結(jié)果實驗5 的獨立完成比例降為0.23 8,而之后的實驗獨立完成比例都能保持在80%以上。此結(jié)果在一定程度上印證了筆者推測,同時證明采用在線評價平臺管理學生實驗,有效培養(yǎng)了學生群體誠實、認真的學習態(tài)度。
以云班課和在線評價平臺作為信息化教學輔助工具,靈活應用到操作系統(tǒng)課程的教學實踐中,能夠有效解決一些地方高校操作系統(tǒng)教學中的若干痛點問題,且成本低廉、實用性強、易于推廣。云班課能夠幫助教師及時、準確地掌握學生的學習狀況,從而有針對性地調(diào)整教學,提高教學質(zhì)量。在線評價平臺能夠?qū)崿F(xiàn)對學生實驗自動評分、自動呈現(xiàn)學情、自動生成實驗報告、自動定位實驗程序中的錯誤類型等功能,從而大大節(jié)省了教師資源,幫助學生快速找到實驗程序中的關(guān)鍵錯誤,大幅提高了學生通過自身努力完成實驗的信心。
從2018 年至今,在4 屆學生中,筆者基于云班課和在線評價的操作系統(tǒng)教學受到了學生廣泛好評。在湖北省計算機類專業(yè)人才培養(yǎng)合作聯(lián)盟2021 年度會議——操作系統(tǒng)分論壇上,筆者向與會的湖北地方高校從事操作系統(tǒng)教學的一線教師們詳細介紹了該教學方案,受到了廣泛關(guān)注。
云班課和在線評價平臺還可與翻轉(zhuǎn)課堂[14-16]、Boppps[17-18]等教學模式進行有機結(jié)合,從而更好地提升教學效果。當然,基于云班課和在線評價的操作系統(tǒng)教學目前還存在一些不足之處,如前文所描述的第二類操作系統(tǒng)實驗尚不能利用在線評價平臺進行管理。如何對這類實驗進行自動化評分與自動化定位程序錯誤類型,是一個值得進一步探索的方向。