尹燕敏 張亦辰
程序設(shè)計(jì)語(yǔ)言網(wǎng)絡(luò)教學(xué)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
尹燕敏 張亦辰
河海大學(xué)計(jì)算機(jī)與信息學(xué)院 南京 211100
結(jié)合程序設(shè)計(jì)語(yǔ)言教學(xué),提出程序設(shè)計(jì)語(yǔ)言網(wǎng)絡(luò)教學(xué)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)技術(shù),平臺(tái)實(shí)現(xiàn)課程管理、作業(yè)抽題、測(cè)試組卷、試卷自動(dòng)評(píng)閱、試卷結(jié)果分析等功能,有利于提高本類課程的教學(xué)質(zhì)量。
網(wǎng)絡(luò)教學(xué)平臺(tái);程序設(shè)計(jì)語(yǔ)言;測(cè)試組卷
程序設(shè)計(jì)語(yǔ)言課程是計(jì)算機(jī)及相關(guān)專業(yè)的一門非常重要的基礎(chǔ)課,是大學(xué)生學(xué)習(xí)程序設(shè)計(jì)的入門課程,也是學(xué)生學(xué)好后續(xù)課程的基礎(chǔ)。程序設(shè)計(jì)語(yǔ)言課程在大一開設(shè),很多學(xué)生對(duì)計(jì)算機(jī)編程一無(wú)所知,普遍存在畏難情緒,加上程序設(shè)計(jì)語(yǔ)言本身比較抽象,語(yǔ)法繁雜,算法復(fù)雜,所以學(xué)生普遍反映課程難學(xué),也很難成功編寫有用的程序。
近幾年在高校招生規(guī)模不斷擴(kuò)大,在校生數(shù)量急劇增加,大班上課的情況下,教師與學(xué)主溝通的渠道減少,學(xué)生的疑問得不到及時(shí)解答,教師也無(wú)法從整體上把握學(xué)主對(duì)知識(shí)的掌握狀況,在一定程度上也加大了課程學(xué)習(xí)的難度。因此,針對(duì)程序設(shè)計(jì)語(yǔ)言課程教學(xué)中存在的問題,研究開發(fā)該課程的網(wǎng)絡(luò)教學(xué)平臺(tái),為學(xué)生提供自我學(xué)習(xí)和檢測(cè)的平臺(tái),為教師提供學(xué)生學(xué)習(xí)效果的有用信息,服務(wù)課堂教學(xué),是本文的主要任務(wù)。
程序設(shè)計(jì)語(yǔ)言網(wǎng)絡(luò)教學(xué)平臺(tái)的主體功能包括:課程管理,如課件的發(fā)布和刪除;作業(yè)管理,如作業(yè)的發(fā)布、提交和批改,其中作業(yè)自動(dòng)抽取,使每位學(xué)生得到的作業(yè)題目相似但不同,避免抄襲;答疑指導(dǎo),包括在線交流和事后回復(fù);試卷自動(dòng)組卷,按課程內(nèi)容自動(dòng)組成測(cè)試試卷;試卷結(jié)果分析,將測(cè)試結(jié)果進(jìn)行統(tǒng)計(jì)分析等。系統(tǒng)實(shí)現(xiàn)集網(wǎng)絡(luò)課程教學(xué)資源制作、發(fā)布與維護(hù)以及學(xué)生進(jìn)行網(wǎng)絡(luò)學(xué)習(xí)、完成作業(yè)和測(cè)試為一體的網(wǎng)絡(luò)教學(xué)平臺(tái),將原來(lái)封閉式課堂教學(xué)轉(zhuǎn)變?yōu)殚_放式課堂教學(xué),引入更多的教學(xué)資源。
本系統(tǒng)的用戶為管理員、教師和學(xué)主,三者分別管理和使用本系統(tǒng),根據(jù)需求分析和設(shè)計(jì),本系統(tǒng)的總體結(jié)構(gòu)如圖1所示。通過身份驗(yàn)證,教師、學(xué)生和管理員可以進(jìn)入各自的子平臺(tái)進(jìn)行相關(guān)操作。
圖1 程序設(shè)計(jì)語(yǔ)言網(wǎng)絡(luò)教學(xué)平臺(tái)架構(gòu)圖
管理員登錄后可向系統(tǒng)添加教師和課程,并進(jìn)行修改和刪除。管理員主要進(jìn)行后臺(tái)管理,管理員子平臺(tái)主要功能包括3個(gè)方面。
1)系統(tǒng)管理,主要是維護(hù)系統(tǒng)的正常運(yùn)行。①常規(guī)模塊功能是網(wǎng)絡(luò)教學(xué)平臺(tái)正常運(yùn)行所包含的如課程、作業(yè)、試題、答疑及公告等功能的管理。②抽題模塊實(shí)現(xiàn)根據(jù)教師教學(xué)要求,按照指定策略從題庫(kù)抽取形成作業(yè)。教師每次布置的作業(yè),都是從保存在數(shù)據(jù)庫(kù)中的各章節(jié)作業(yè)中抽取形成,學(xué)生練習(xí)的是相似而不同的題目,這樣可以有效避免學(xué)生之間相互抄襲作業(yè)。③組卷模塊實(shí)現(xiàn)根據(jù)指定策略生成測(cè)試試卷??梢园慈舾烧鹿?jié)或全部?jī)?nèi)容對(duì)學(xué)生進(jìn)行測(cè)試,試卷可以隨機(jī)生成,也可以根據(jù)學(xué)生平時(shí)作業(yè)情況生成針對(duì)性試卷。學(xué)生完成后,填空選擇部分直接給出分?jǐn)?shù)和答案,學(xué)生也可以查看主觀題的答案。③分析模塊實(shí)現(xiàn)學(xué)生作業(yè)和測(cè)試結(jié)果的統(tǒng)計(jì)分析,學(xué)生出錯(cuò)較多的題目及時(shí)反饋給教師,便于教師進(jìn)行統(tǒng)一講解和強(qiáng)化訓(xùn)練;將學(xué)生在某個(gè)知識(shí)點(diǎn)題目出錯(cuò)較多的信息反饋給學(xué)生,便于學(xué)生有針對(duì)性地復(fù)習(xí)和練習(xí)。
2)用戶管理包括添加刪除用戶、設(shè)置用戶權(quán)限。
3)數(shù)據(jù)管理是對(duì)后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行管理和維護(hù)。
1)教程管理,包括發(fā)布和刪除課件、教學(xué)動(dòng)畫、課程典型程序等。
2)作業(yè)管理,包括作業(yè)的添加、刪除、發(fā)布、瀏覽和批改等。
3)試題管理,包括試題的添加、刪除及發(fā)布等。
4)答疑管理,針對(duì)學(xué)生提出的問題進(jìn)行網(wǎng)上解答。
5)公告管理,包括信息發(fā)布、更新、刪除等。
1)課程學(xué)習(xí),包括瀏覽與下載教程課件、相關(guān)的動(dòng)畫演示、典型程序等。
2)作業(yè)練習(xí),包括課外作業(yè)練習(xí)、提交作業(yè)及查看批改結(jié)果。
3)試題測(cè)試,學(xué)生可以根據(jù)教學(xué)情況選擇章節(jié)進(jìn)行測(cè)試,查看測(cè)試結(jié)果和標(biāo)準(zhǔn)答案。
4)答疑提問,包括提出問題及查看答疑結(jié)果等。
網(wǎng)絡(luò)教學(xué)平臺(tái)的體系結(jié)構(gòu)采用目前較為通用的B/S應(yīng)用開發(fā)模式。本系統(tǒng)的開發(fā)采用J2EE體系結(jié)構(gòu),使用Struts2+Spring+Hibernate框架,以Tomcat作為Web容器,Eclipse作為開發(fā)工具,MySQL作為數(shù)據(jù)庫(kù)服務(wù)器。整個(gè)頁(yè)面布局較為美觀,整個(gè)系統(tǒng)呈現(xiàn)出操作簡(jiǎn)單、界面友善、靈活性好的特點(diǎn)。
抽題模塊主要用到數(shù)據(jù)庫(kù)中試題表,作業(yè)題按類型、知識(shí)點(diǎn)及難度系數(shù)分類,教師留作業(yè)時(shí)選中某一題目,則抽題模塊會(huì)在數(shù)據(jù)庫(kù)中查詢和教師作業(yè)相同類型、同一知識(shí)點(diǎn)、相同難度的不同題目隨機(jī)發(fā)給學(xué)生,并記錄每道題的抽取次數(shù)。
組卷模塊主要用到表1的試題表,生成表2所示的試卷表中內(nèi)容,組卷方式非常靈活。與通常的考試試卷不同,本系統(tǒng)的用戶可以選擇某幾章進(jìn)行組卷,避免學(xué)生只能到課程結(jié)束才能做整套題目。用戶還可以自行規(guī)定每種類型題目所占的分?jǐn)?shù)比例及具體分?jǐn)?shù),選擇完成后系統(tǒng)根據(jù)對(duì)題目類型及數(shù)量的約定,采取先對(duì)不同題型分別組卷,最后再組合成一份完整試卷的方法。
表1 試題表結(jié)構(gòu)
表2 試卷表
表3 題目統(tǒng)計(jì)表
表4 學(xué)生錯(cuò)題統(tǒng)計(jì)表
一個(gè)完善的組卷算法應(yīng)滿足題目具有隨機(jī)性、知識(shí)點(diǎn)無(wú)重復(fù)等特點(diǎn)。為保證生成試卷的隨機(jī)性和科學(xué)性,在實(shí)現(xiàn)對(duì)不同題型組卷時(shí),把組卷策略的內(nèi)容進(jìn)行整理、分析,形成試題的抽取要求。具體流程:1)生成試卷編號(hào);2)根據(jù)選定的章節(jié)范圍選擇某題目類型的全部題目,得到一記錄集R,試題序號(hào)記為1;3)R中根據(jù)知識(shí)點(diǎn)進(jìn)行分組;4)隨機(jī)從每組中選中一道題目s;5)判斷s是否滿足試卷難度要求,若s滿足要求則轉(zhuǎn)入6,若s不滿足難度要求則轉(zhuǎn)入4重新隨機(jī)抽??;6)將s加入試卷中,題目順序號(hào)加1,s的使用標(biāo)志為已使用,下次不會(huì)再抽?。?)判斷該題型題目個(gè)數(shù)是否滿足要求,不滿足則轉(zhuǎn)入4,滿足則結(jié)束本類型組卷,轉(zhuǎn)入2繼續(xù)其他類型題目的組卷,直到按要求組卷完成;8)生成參考答案。
分析模塊主要用到數(shù)據(jù)庫(kù)中試題統(tǒng)計(jì)表和學(xué)生錯(cuò)題統(tǒng)計(jì)表。學(xué)生的作業(yè)和測(cè)試題目形成后,抽題和組卷系統(tǒng)會(huì)將抽到的題目次數(shù)加一;學(xué)生提交后,系統(tǒng)對(duì)照答案給出分?jǐn)?shù)的同時(shí),會(huì)將出錯(cuò)的次數(shù)計(jì)入試題統(tǒng)計(jì)表中,同時(shí)對(duì)每位學(xué)生做題時(shí)間和出錯(cuò)的題目也都進(jìn)行記錄。分析模塊對(duì)表中數(shù)據(jù)進(jìn)行統(tǒng)計(jì),將每位教師所教學(xué)生中出錯(cuò)率高的題目?jī)?nèi)容發(fā)送給任課教師;對(duì)學(xué)生出錯(cuò)的題目進(jìn)行統(tǒng)計(jì)分析,得到學(xué)生對(duì)某些知識(shí)點(diǎn)出錯(cuò)較多的信息,提醒學(xué)生進(jìn)行該知識(shí)點(diǎn)的專項(xiàng)復(fù)習(xí)。
本文的設(shè)計(jì)思想已經(jīng)成功應(yīng)用于高校程序設(shè)計(jì)網(wǎng)絡(luò)教學(xué)系統(tǒng)中。實(shí)際使用效果表明,本文所述的程序設(shè)計(jì)教學(xué)網(wǎng)絡(luò)教學(xué)平臺(tái)設(shè)計(jì)思想是可行的。該網(wǎng)絡(luò)系統(tǒng)較好地實(shí)現(xiàn)了課內(nèi)講解與課后學(xué)習(xí)相結(jié)合,可將程序設(shè)計(jì)課的教學(xué)內(nèi)容與主要應(yīng)用完整系統(tǒng)地在網(wǎng)絡(luò)中發(fā)布,供不同需求的學(xué)生在網(wǎng)上進(jìn)行個(gè)性化學(xué)習(xí);可以使用多媒體的手段形象生動(dòng)地講解典型例題;測(cè)試組卷模塊可供學(xué)生重復(fù)學(xué)習(xí);分析模塊對(duì)學(xué)生出現(xiàn)的問題給出詳細(xì)分析和指導(dǎo);可以利用網(wǎng)絡(luò)提供的條件,引導(dǎo)有興趣的學(xué)生進(jìn)行相關(guān)問題的討論和答疑等。
[1]王娟勤.基于WEB的程序設(shè)計(jì)類教學(xué)輔助系統(tǒng)的研發(fā)[J].高等農(nóng)業(yè)教育,2011(11):62-63.
[2]吳清佳.C程序設(shè)計(jì)輔助教學(xué)系統(tǒng)的設(shè)計(jì)[J].現(xiàn)代計(jì)算機(jī),2011(4):101-103.
[3]寧誨濤.如何在網(wǎng)絡(luò)教學(xué)中提高《C語(yǔ)言程序設(shè)計(jì)》課程的教學(xué)質(zhì)量[J].科技視界,2012(29):86.
Design and Implementation of Network Teaching Platform for Programming Language
Yin Yanmin,Zhang Yichen
In this paper, combined with the teaching of programming language, we presents the design and realization of network teaching platform for programming language, including course management, homework management, test paper automatic generation, papers automatic correcting,results analysis etc. The platform improves the teaching qualit y.
network teaching platform; programming language; test system
TP315
B
1671-489X(2013)12-0037-02
10.3969/j.issn.1671-489X.2013.12.037