曾鴻智 陳敏 張競超 眭靈建 李夢杰 覃凌鵬



摘要:教育承載著龐大的信息流,傳統教育信息化已是大勢所趨,“互聯網+教育”是互聯網技術與教育深度融合,以推動教育進步、效率提升和組織變革、增強教育創新力和生產力的具有戰略性和全局性的教育變革。面向大學計算機軟件工程專業中的重點專業基礎課《Java程序設計》,設計并開發了一個在線練習考試系統,以傳統考試與互聯網相結合的“互聯網+教育”形式,優化了現有考試功能,并融入了特色化模塊。應用表明,該系統加強了學生自主學習能力和學習興趣,提高了學生實踐編程水平,系統具有功能豐富、針對性強、實用性高、易于使用等特點。
關鍵詞:信息化教育;互聯網+教育;在線考試;Java
中圖分類號:TP311 ? 文獻標識碼:A
文章編號:1009-3044(2019)13-0081-03
Abstract: Education is carrying a huge flow of information, and the traditional education informatization is the trend. "Internet + education" is a strategic and all round educational reform that deeply integrates Internet technology and education to promote educational progress, efficiency improvement and organizational change, and enhance educational innovation and productivity. For the key professional basic course "Java programming" in the major of computer software engineering, an online exercise examination system for the course is designed and developed. The Internet plus education form combined with the traditional examination and the Internet is used to optimize the existing examination function and integrate into the characteristic module. The application shows that the system has strengthened the students' autonomous learning ability and interest in learning. The system has the characteristics of rich function, strong pertinence and high practicability.
Key words: Informatization education; Internet + education; online examination; Java
1 概述
傳統考試采用教師人工選題出卷,將試題打印至紙張上,集中組織學生進行考試,考后教師需要手工批閱大量試卷,組織一場考試需要教務人員與學生花費大量人力、物力,同時, 由于期末考試后的試卷批改時間較短,教師還需要完成統計學生成績、分析試卷等工作,因此,客觀上存在工作量大、統計工具不便利、數據分析結果不直觀等問題[1]。
“互聯網+”是對于互聯網的進一步發展,是更加智慧化的互聯網,它既延續了互聯網所具備的對于信息的傳輸功能,可以跨越距離,同步時間利用多媒體的傳播信息,又多了一項多維度多設備多向的信息傳播交流[2]。基于互聯網的在線考試消除了時間、空間等因素的限制,以互聯網的便捷性節省了大量人力、物力、財力。互聯網推動了高等教育內容和方式的革新,而工程教育專業認證則促進了高等教育人才培養質量的提升。2010年《國家中長期教育改革和發展規劃綱要(2010-2020年)》指出,高等教育實行工程教育專業認證是今后高校教育改革發展的核心任務之一[3]。目前,國內很多高校和專業均在致力于通過工程教育提升辦學水平和高素質工程技術人才的培養質量。
Java是近年來最為普及的幾種計算機語言之一,《Java程序設計》是大學計算機軟件工程專業中的重點專業基礎課。目前,專門針對該課程的考試系統為數不多,且存在如下共性不足:
1)實踐性差,沒有編程題不能編程,導致學生理論強,實踐編程差;
2)題型難度沒有梯度,學生能力水平不同,難度不能做到正好合適;
3)沒有錯題回顧,學生做了試題獲取不到新知識;
4)數據分析缺乏,沒有直觀的統計數據;
5)題卷不靈活,題型單一,不能滿足學生的需求;
6)學生間沒有交互性,互聯網沒有真正互聯。
基于上述分析,本文設計實現了一個面向《Java程序設計》課程的在線考試與練習多功能系統,該系統改進了網上現有考試系統的不足并進行了功能擴展,具有功能豐富、針對性強、實用性高、易于使用等特點。
2 系統總體設計
系統功能設計如下:
1)系統設計有在線編譯引擎,學生可以在沒有安裝Java軟件環境的情況下直接通過網頁運行調試Java代碼;
2)按題目等級梯度分級,學生需要不斷做題才能解鎖更高難度題卷;
3)學生可以回顧試卷,系統將標記出錯題,顯示所有題目的正確答案以及解析;
4)按試卷查閱學生分數與答題情況,系統會根據答題情況自動生成可交互的動態圖表;
5)可以進行時間短,題量少的小規模隨堂測試,也可以選擇專題練習,針對課堂內容進行及時練習鞏固;
6)參加完考試后,學生可以在系統的小型論壇中交流心得體會,加強學生間的交流,提高學習興趣。
系統含有學生端、教師端、管理端三個客戶端(如圖1所示),根據登陸賬號的類別系統將進入相應的客戶端。
3 關鍵技術實現途徑
3.1練習與考試模塊
考試引擎包含了基礎的功能外還加入了許多形式與功能。考試含有分級、題型專題、隨堂考試。分級考試根據不同的難度將試題組成固定的試卷,用戶會從最低等級開始,達到規定分數時可能解鎖更難的試題;題型與專題考試是系統根據用戶輸入的條件由題庫中抽取隨機的試題組成的試卷;隨堂考試是在規定的短時間段內答題,并記錄答題時間。
系統加入了防作弊功能,第一次進入考試頁面將自動全屏,每當用戶按F11退出全屏時系統會監測事件提示用戶并將試題隱藏,點擊顯示試題系統將再次進入全屏狀態,系統檢測到一次考試中用戶觸發退出全屏事件三次以上將自動為其提交試卷并標記作弊。流程如下圖:
3.2在線編譯引擎
作為針對Java課程的練習考試系統,最重要的編程練習自然必不可缺,本系統加入在線編譯功能,使學生能在做編程題時直接在系統中編譯代碼,大大提高學生的編程實踐能力。
在線編譯功能的具體實現思路為:系統獲取定義類的代碼行,以定義的類名創建.java類型文件,將提交的代碼寫入該文件中,運行windows系統的cmd命令,在控制臺上寫入"javac "+className+".java \n"命令編譯.java文件,編譯成功后會出現一個類名.class的文件,然后系統寫入"java "+className+" \n"命令運行.class文件,最后獲取控制臺輸出的內容展示給用戶。關鍵代碼如下:
3.3編程題評分引擎
系統不僅可以在線編譯還含有一套評分系統,教師添加完編程題后還需要添加測試組數據,測試組數據由不同分值的測試項組成,測試項根據題目需求包含輸入數據、輸出數據、限制時間、限制內存,在線編譯用戶提交的代碼后系統將輸入數據寫入命令行,如果運行輸出的結果與輸出數據一致且沒有超過限制的時間和內存時則可以獲得該數據項的分數。關鍵代碼如下:
4 系統實現
系統以Struts2+Spirng+Hibernate為框架,前端使用bootstrap和Ajax,數據庫使用SQL Server。學生端為主體用戶端,參與考試與練習,還包含考后回顧、考后交流等輔助性功能;教師端主要管理試題和學生成績;管理端負責用戶和考試的管理。
4.1學生端
以考試為主,所有考試使用同樣的考試引擎,點擊交卷后數據庫將保存學生答題記錄、試題答題情況、機器閱卷分數等信息;學生端還包含多種功能。
4.2教師端
教師端主要負責管理試題和和學生成績。
4.3管理端
5 結束語
“互聯網+”的到來意味著新技術的改革,深入改革教育模式、提高教育效率“互聯網+教育”模式勢在必行。系統實用性強、功能豐富,通過比較已有的考試系統來改進完善,根據Java課程特點設計出有針對性的功能,方便了學生練習和考試、提高了實踐能力,減輕教師繁重的教務,但在特定時間段如考試時并發訪問量瞬間達到峰值,系統還需加強穩定性與并發量。希望能為高校《Java程序設計》課程的在線輔助教學能提供一定的幫助與指導。
參考文獻:
[1] 肖鵬南,章小童.針對傳統考試模式的弊端提出基于Web的在線考試系統的分析與實現[J].數字化用戶,2013(6):49-50.
[2] 陳耀華,陳琳.互聯網+教育智慧路向研究[J].中國電化教育, 2016(9):80-84
[3] 黃琳,田志高,胡若飛.改進教學方法提高化工原理實驗教學效果[J].廣州化工,2015,43(21):212-214.
【通聯編輯:謝媛媛】