錢玲如
摘 要本文論述的是一個基于INTERNET 的B/S模式下C語言網(wǎng)上作業(yè)系統(tǒng)的實(shí)現(xiàn)方法、思路及過程。本系統(tǒng)用ASP動態(tài)網(wǎng)頁的形式實(shí)現(xiàn),系統(tǒng)前臺界面美觀,設(shè)置多級用戶權(quán)限分類登錄,可分為教師、學(xué)生、管理員三類用戶;后臺功能強(qiáng)大,操作簡單,滿足系統(tǒng)維護(hù)需要。本系統(tǒng)很好地完成了C語言的教與學(xué),使得教師可以在線布置作業(yè)、批改作業(yè)、對學(xué)生成績進(jìn)行統(tǒng)計(jì)、在線答疑;學(xué)生亦可以實(shí)現(xiàn)在線瀏覽作業(yè)、提交作業(yè)、在線疑問等功能。另外,系統(tǒng)在線直接調(diào)用TC程序運(yùn)行服務(wù)器端C語言作業(yè),并調(diào)試運(yùn)行得到結(jié)果,是本系統(tǒng)最大的特色;系統(tǒng)還可以完成學(xué)生成績的數(shù)據(jù)統(tǒng)計(jì),供教師參考,以適當(dāng)修正授課進(jìn)度,以方便學(xué)生調(diào)整學(xué)習(xí)的進(jìn)度。
關(guān)鍵詞 ASP系統(tǒng);作業(yè)批改;TC調(diào)用;數(shù)據(jù)統(tǒng)計(jì)
中圖分類號G434 文獻(xiàn)標(biāo)識碼A文章編號1673-9671-(2009)112-0056-02
隨著信息技術(shù)的高速發(fā)展,計(jì)算機(jī)的應(yīng)用越來越普及和廣泛,所以目前社會上各個學(xué)校提交作業(yè)的形式也由原來的手工謄寫改革成了上交電子文檔,但是目前學(xué)校作業(yè)管理一般都采用以下兩種方法:
1)將作業(yè)存在U盤、光盤等介質(zhì)上。
2)存放到教師電腦上的一個共享目錄內(nèi)。
用前一種方法作業(yè)收繳麻煩、不便管理;第二種方法要好一些,但學(xué)生可以隨意查看、更改作業(yè),老師在幫學(xué)生修改作業(yè)時,也很容易搞亂哪些是改過,哪些沒改過;這些都使教師對學(xué)生作業(yè)的管理產(chǎn)生很大的麻煩。
這就必然要求有更好方法來實(shí)現(xiàn)對作業(yè)的管理,我的C語言網(wǎng)上作業(yè)系統(tǒng)就在這樣的情況下應(yīng)孕而生了。它的應(yīng)用不僅是在C語言這一門課程中。在現(xiàn)代化教育技術(shù)模式下,計(jì)算機(jī)在學(xué)校已相當(dāng)普及。在這樣的環(huán)境下,許多學(xué)校對學(xué)生的部分作業(yè)提出了更高要求,例如要求學(xué)生作業(yè)能夠長期保存到計(jì)算機(jī)中以利于學(xué)校將來教學(xué)的重復(fù)利用等等,就要求教師能夠在任何聯(lián)網(wǎng)的計(jì)算機(jī)上進(jìn)行在線作業(yè)的布置、批改、成績統(tǒng)計(jì)、成績?yōu)g覽等,要求學(xué)生能夠查詢自己上交的作業(yè),其它相關(guān)人員也可以利用計(jì)算機(jī)通過互聯(lián)網(wǎng)對學(xué)生作業(yè)情況進(jìn)行了解與查詢。這是未來教育發(fā)展的趨勢,也確實(shí)是一個行之有效的辦法,值得去推廣。
本文的創(chuàng)新之處有以下兩個方面:
1)實(shí)現(xiàn)普通作業(yè)管理之外,對某個學(xué)生的全部作業(yè)的平均分以及對某一次作業(yè)全部學(xué)生的平均分進(jìn)行了適當(dāng)?shù)慕y(tǒng)計(jì),以此來掌握學(xué)生的學(xué)習(xí)情況,教師就可根據(jù)數(shù)據(jù)進(jìn)行分析適當(dāng)調(diào)整授課速度和難度。
2)對學(xué)生上交C語言程序直接在線運(yùn)行,查看程序結(jié)果,直接根據(jù)程序結(jié)果給學(xué)生評分,避免書面程序作業(yè)批改時的錯誤。
1系統(tǒng)概述
本系統(tǒng)采用B/S模式建立C語言網(wǎng)上作業(yè)系統(tǒng),主要目的是能提供給學(xué)生提交作業(yè)、教師在線批改作業(yè)的網(wǎng)絡(luò)環(huán)境。
1)學(xué)生能完成在線注冊,查看作業(yè),提交作業(yè),瀏覽、修改、刪除、上傳、下載作業(yè),更主要的學(xué)生自己能隨時統(tǒng)計(jì)自己作業(yè)提交的次數(shù),成績的總分及平均分,從而能快捷有效地調(diào)整自己某一階段的學(xué)習(xí)步伐。
2)教師能在線布置作業(yè)、批改作業(yè)(直接調(diào)試運(yùn)行學(xué)生C語言原程序,得到結(jié)果),可以對學(xué)生的成績進(jìn)行階段性的統(tǒng)計(jì),查看學(xué)生留言及在線回答學(xué)生的提問等。
2可行性分析
在設(shè)計(jì)該系統(tǒng)的初期,我作了大量的調(diào)查和規(guī)劃工作,對該系統(tǒng)的開發(fā)可行性作了細(xì)致全面的分析,主要是從以下三個方面來分析的。
2.1技術(shù)可行性
本系統(tǒng)采用的是B/S模式,開發(fā)工具使用ASP和Dreamweaver MX,數(shù)據(jù)庫使用SQL Server 2000,所以開發(fā)技術(shù)比較成熟,基本排除了開發(fā)工具操作和使用上的困難。但是開發(fā)本系統(tǒng)最主要需要解決的技術(shù)困難是:教師在批改學(xué)生提交C語言原程序時,能在系統(tǒng)中直接調(diào)用TC調(diào)試工具。
2.2經(jīng)濟(jì)可行性
這個C語言網(wǎng)上作業(yè)系統(tǒng),是適用于大中專院校,在硬件要求上只需提供一臺Web服務(wù)器,開支和花費(fèi)并不大,所以從經(jīng)濟(jì)上分析開發(fā)該系統(tǒng)是完全可行的。
2.3操作可行性
該系統(tǒng)操作采用可視化界面,集中采用網(wǎng)頁的形式,對普通用戶來說僅需掌握一般的計(jì)算機(jī)操作知識就可,況且該系統(tǒng)是專門為大中專院校C語言教學(xué)而開發(fā)的,所以在該系統(tǒng)操作上不論是學(xué)生還是教師都應(yīng)該不存在障礙。
3關(guān)鍵設(shè)計(jì)說明
3.1后臺部分
1)本系統(tǒng)分為前臺和后臺兩個主要模塊,用戶分為三類,分別是教師、學(xué)生、管理員,其中教師相當(dāng)于普通管理員能發(fā)布作業(yè)、查看學(xué)生的作業(yè)信息等。管理員稱為超級管理員,可以進(jìn)行前臺和后臺雙重管理,但是在前臺和后臺的管理中,為了避免登錄的沖突性,在設(shè)計(jì)時分別采用session()屬性和cookies()屬性。
2)后臺管理中涉及到公告管理、圖書管理、下載管理、鏈接管理、用戶管理、學(xué)生管理,其中用戶管理包括對管理員和教師的管理。
3)該系統(tǒng)設(shè)置學(xué)生在注冊后不允許馬上登錄,必須要等待管理員批準(zhǔn)后方可登錄。所以在設(shè)計(jì)學(xué)生表時,設(shè)計(jì)了字段“stu_status”默認(rèn)初始值為“c”其含義是:若未被批準(zhǔn)禁止訪問。但當(dāng)管理員批準(zhǔn)后“stu_status”的值為“o”,意味著允許訪問。
3.2教師批改作業(yè)管理
在實(shí)現(xiàn)批改作業(yè)功能時,采用分頁列表形式,每頁顯示20條記錄,并且可以羅列出全部學(xué)生提交的作業(yè),也可單獨(dú)羅列出某個學(xué)生提交的作業(yè),對批改過的作業(yè)和未批改過的作業(yè)作出相應(yīng)的標(biāo)記,方便教師批改。
在這項(xiàng)功能中能體現(xiàn)本系統(tǒng)的一個特色:教師除了能直接批閱提交的文本作業(yè)給出成績和批語外,還可以直接運(yùn)行查看學(xué)生提交的C語言原程序。其實(shí)現(xiàn)的具體方法是:
1)調(diào)用run.asp程序。
<%
response.write"文件下載"
Dim Stream
Dim Contents
Dim FileName
Dim FileExt
Const adTypeBinary = 1
FileName =Request("FileName")
FileName=replace(FileName,"works/","")
if FileName = "" Then
Response.Write "無效文件名."
Response.End
End if
' 下載這個文件
Response.Clear
Response.ContentType = "application/octet-stream"
Response.AddHeader "content-disposition", "attachment; filename=" & FileName
Set Stream = server.CreateObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
Stream.LoadFromFile Server.MapPath(FileName)
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
%>
2)在本地機(jī)上設(shè)置C語言的打開方式為TC。具體操作為:工具-〉文件夾選項(xiàng)-〉文件類型,將 *.c的文件打開方式設(shè)置為用TC。
所以當(dāng)教師在點(diǎn)擊瀏覽附件時系統(tǒng)可以自動在TC的環(huán)境下自動運(yùn)行C語言原文件,這一點(diǎn)正好符合本系統(tǒng)設(shè)計(jì)的初衷,也是本系統(tǒng)的特色所在。
3)在線答疑。采用分頁顯示的列表,每頁顯示20條記錄,主要是完成教師回答學(xué)生的疑問,所以在設(shè)計(jì)時采用論壇的形式,教師可以對學(xué)生提出的疑問使用“固頂”,從而能保證重要的消息在列表的前面。
4)數(shù)據(jù)統(tǒng)計(jì)。該系統(tǒng)的另一個創(chuàng)新之處是能對學(xué)生提交的作業(yè)進(jìn)行成績統(tǒng)計(jì)。比如可以統(tǒng)計(jì)學(xué)生應(yīng)該提交作業(yè)的次數(shù),以及實(shí)際提交作業(yè)的次數(shù),成績的平均分,還可以按學(xué)生的學(xué)號對學(xué)生進(jìn)行相應(yīng)的數(shù)據(jù)查詢。在進(jìn)行數(shù)據(jù)統(tǒng)計(jì)時,對數(shù)據(jù)庫中的多張表進(jìn)行了必要的聯(lián)系,比如要查詢某個學(xué)生的成績,必須先對數(shù)據(jù)庫中的student表進(jìn)行查詢,然后再查詢answer表和readtb表(教師批改作業(yè)表),從而將answer表中的answer_id和readtb表中的read_answer_id建立聯(lián)系,查詢r(jià)eadtb表中的read_result字段(成績字段)。
4結(jié)語
經(jīng)測試,本系統(tǒng)很好地完成了設(shè)計(jì)之初的需要,使得教師可以在線布置作業(yè)、批改作業(yè)、對學(xué)生成績進(jìn)行統(tǒng)計(jì)、在線答疑;學(xué)生亦可以實(shí)現(xiàn)在線瀏覽作業(yè)、提交作業(yè)、在線疑問等功能。重要的是,老師可在任一臺聯(lián)網(wǎng)的機(jī)器上在線直接調(diào)用TC程序運(yùn)行服務(wù)器端C語言作業(yè),并調(diào)試運(yùn)行得到結(jié)果,既提高了工作效率,又提高了批改的準(zhǔn)確率。借鑒這個經(jīng)驗(yàn)可以將本“作業(yè)系統(tǒng)”推廣到其它程序語言的教學(xué)中去。
參考文獻(xiàn)
[1](美)Konrad King編著(杜大鵬等譯).SQL編程實(shí)用大全[M].北京:中國水利水電出版社,2003.
[2] Waymire,Richard,Sawtell,Rick.Sams Teach Yourself Microsoft SQL Server 2000 in 21 Days.Macmillan Computer Pub,2002,11:1-96.
[3]羅運(yùn)模,王珊 等編著,周立柱審校.SQL Server 數(shù)據(jù)庫系統(tǒng)基礎(chǔ)[M].北京:高等教育出版社,2003.
[4]光軍 編著.動態(tài)網(wǎng)站設(shè)計(jì)編程技法[M].北京:北京航空航天大學(xué)出版社,2001.
[5]鄧文淵,陳蕙貞,陳俊榮 編著.ASP與網(wǎng)絡(luò)數(shù)據(jù)庫技術(shù)[M].北京:中國鐵道出社,2003.
[6]閆靜,鐘斌 等編著.Dreamweaver MX2004與ASP動態(tài)網(wǎng)頁[M].北京:機(jī)械工業(yè)出版社,2004.
[7]林盛雄,程永靈 編著.網(wǎng)頁設(shè)計(jì)與制作[M].北京:冶金工業(yè)出版社,2003.
[8]郭瑞軍,李杰,初曉璐 等編著.ASP數(shù)據(jù)庫開發(fā)實(shí)例精粹[M].北京:電子工業(yè)出版社,2005.