摘 要:本文就目前高校編程考試的形式做了分析,給出建設(shè)一個(gè)在線編程考試網(wǎng)站的建議。并以河北農(nóng)業(yè)大學(xué)為例,論述了建設(shè)一個(gè)網(wǎng)站的具體流程。傳統(tǒng)的編程考試,一般來說分手寫代碼考試或者上機(jī)考試,無論哪種形式,從老師或者學(xué)生的角度來看,都存在著一定的缺點(diǎn),建設(shè)一個(gè)在線編程考試的網(wǎng)站無疑是一個(gè)不錯(cuò)的選擇。結(jié)合網(wǎng)站的設(shè)計(jì)原則,本文介紹有關(guān)網(wǎng)站前端Html+css+Javascript、后端mysql數(shù)據(jù)庫(kù)等知識(shí),闡述一個(gè)網(wǎng)站的具體建設(shè)流程。
關(guān)鍵詞:網(wǎng)站建設(shè);編程考試;HTML;MySQL
一、 引言
無論對(duì)于學(xué)習(xí)計(jì)算機(jī)的還是對(duì)于非計(jì)算機(jī)的學(xué)生,編程都可以訓(xùn)練我們的思維,培養(yǎng)我們的能力等。近年來,各地高校積極開展編程課程的實(shí)踐,然而在編程課程的考試方式上,存在著一些問題。傳統(tǒng)的編程考試方式,一般都是手寫代碼或者上機(jī)考試。一方面,對(duì)老師的閱卷帶來困難,不同于一般的考試,編程考試是寫代碼,一行行的代碼,每個(gè)學(xué)生都有自己的編程風(fēng)格,老師們看起來會(huì)很吃力。另一方面,也存在著老師誤判的可能,很可能因?yàn)槔蠋煹氖韬?,多給或者漏給學(xué)生們分?jǐn)?shù)。當(dāng)然,也存在著一些學(xué)生作弊的行為等。結(jié)合這些實(shí)際問題,提出一個(gè)建設(shè)在線考試網(wǎng)站的建議。類似于ACM程序競(jìng)賽網(wǎng)站,該網(wǎng)站可以在線評(píng)估學(xué)生的成績(jī),并具有檢測(cè)雷同或者相似代碼的功能。做到又快又準(zhǔn)。
二、 研究問題的意義
(一) 提出并分析問題
在高校學(xué)生的編程課程中,學(xué)習(xí)一門語言,首先學(xué)習(xí)語法。學(xué)習(xí)了語法要多加上機(jī)練習(xí),用已知的知識(shí)去解決一些問題。到了期末考試,有的老師會(huì)以筆試的方式讓同學(xué)們寫代碼,有的老師直接讓學(xué)生們上機(jī)敲代碼,無論哪種方式,老師們都希望學(xué)生能夠?qū)W到知識(shí)。再者說,編程是一門實(shí)踐性很強(qiáng)的課程,無論手寫代碼還是上機(jī)操作,都很能鍛煉學(xué)生們的編程能力。但是這些方法都存在著一些不足。
(二) 解決問題的方法
建設(shè)一個(gè)在線考試網(wǎng)站,來使編程考試更加規(guī)范,更加準(zhǔn)確。它具有如下的優(yōu)點(diǎn):
方便性:機(jī)器打分,能夠減輕老師的負(fù)擔(dān)
準(zhǔn)確性:不存在分?jǐn)?shù)失誤的行為
快捷性:學(xué)生當(dāng)場(chǎng)出分
真實(shí)性:具有檢測(cè)代碼雷同或者相似的功能,在一定程度上遏制了學(xué)生作弊的現(xiàn)象
三、 建設(shè)網(wǎng)站
結(jié)合河北農(nóng)業(yè)大學(xué)實(shí)際使用情況,采用B/S架構(gòu)來設(shè)計(jì)網(wǎng)站,網(wǎng)站流程圖如下:
(一) 網(wǎng)頁(yè)前端設(shè)計(jì)
從網(wǎng)站訪客對(duì)象,使用的具體工作來看,網(wǎng)頁(yè)前端采用靜態(tài)頁(yè)面。采用HTML+CSS+JavaScrip設(shè)計(jì)出網(wǎng)頁(yè)模板,將其放入網(wǎng)站服務(wù)器上,待輸入網(wǎng)站URL后服務(wù)器返回頁(yè)面內(nèi)容給瀏覽器。如下圖所示:
頁(yè)面本身是靜態(tài)的,為了不顯單調(diào),也可采用asp.net技術(shù),php語言等為頁(yè)面添加動(dòng)態(tài)元素,使頁(yè)面更具有交互性。
(二) MySQL數(shù)據(jù)庫(kù)
這里,結(jié)合網(wǎng)站的實(shí)際情況,選擇使用MySQL數(shù)據(jù)庫(kù),一方面,它輕量,占用內(nèi)存小一些,一般中小型項(xiàng)目用的是mysql。另一方面,它是免費(fèi)的,在免費(fèi)的數(shù)據(jù)庫(kù)里面,性能比較好,適合WEB應(yīng)用。
學(xué)校網(wǎng)站使用數(shù)據(jù)庫(kù)的流程圖:
建立數(shù)據(jù)庫(kù),為實(shí)現(xiàn)成績(jī)信息的管理模塊功能。在數(shù)據(jù)庫(kù)中建立兩張表,一個(gè)表用來存儲(chǔ)用戶的注冊(cè)資料,即學(xué)生的資料,另一個(gè)表用來存儲(chǔ)學(xué)生的成績(jī)信息。通常,我們用表格的形式來填寫學(xué)生的信息,因此當(dāng)我們?cè)O(shè)計(jì)成績(jī)錄入界面時(shí),根據(jù)學(xué)生的多少來自動(dòng)成績(jī)錄入的行數(shù),同時(shí)將表分成3列,分別為姓名、學(xué)號(hào)、成績(jī)。
接著,用SQL語言來創(chuàng)建數(shù)據(jù)庫(kù),并把學(xué)生信息導(dǎo)入其中。當(dāng)我們查詢成績(jī)時(shí),在查詢系統(tǒng)輸入學(xué)生的學(xué)號(hào),我們知道,學(xué)生的名字可能存在重名現(xiàn)象,但是學(xué)號(hào)是學(xué)生的唯一標(biāo)識(shí),即學(xué)號(hào)不存在重復(fù),所以在創(chuàng)建學(xué)生信息數(shù)據(jù)庫(kù)的時(shí)候,將學(xué)生的學(xué)號(hào)設(shè)置為了主鍵,在查詢的時(shí)候,只輸入學(xué)生的學(xué)號(hào),相應(yīng)的,web服務(wù)器在收到瀏覽器的請(qǐng)求后,會(huì)去數(shù)據(jù)庫(kù)中查找有關(guān)的信息,若表中有對(duì)應(yīng)的學(xué)生成績(jī),則返回所要查詢的數(shù)據(jù),若表中不存在該學(xué)生的成績(jī),則返回空值。
(三) web服務(wù)器
相對(duì)于一些其他網(wǎng)站,農(nóng)大考試網(wǎng)站規(guī)模較小,選用Apache作為web服務(wù)器。相較于微軟公司IIS的Web服務(wù)器,雖然配置操作較難,但具有安全性、可擴(kuò)展性、穩(wěn)定性、開放性等優(yōu)點(diǎn)。功能如下
在web服務(wù)器端發(fā)布編寫好的HTML界面,可使網(wǎng)站運(yùn)作起來。訪問農(nóng)大網(wǎng)站,就要訪問網(wǎng)站的web服務(wù)器,當(dāng)請(qǐng)求訪問頁(yè)面時(shí),先通過web服務(wù)器進(jìn)行解析,去數(shù)據(jù)庫(kù)中取所需要的數(shù)據(jù),最后把數(shù)據(jù)同網(wǎng)頁(yè)內(nèi)容連接在一起,通過http協(xié)議發(fā)送給瀏覽器,即可看到整個(gè)界面。
四、 總結(jié)
在當(dāng)今互聯(lián)網(wǎng)的時(shí)代,網(wǎng)站建設(shè)有著重大的意義。對(duì)于我們學(xué)校,學(xué)校的官網(wǎng)可以幫助學(xué)校宣傳信息,樹立學(xué)校良好的形象。我們的編程在線考試網(wǎng)站,給學(xué)生提供了一個(gè)很好的學(xué)習(xí)平臺(tái),既方便了師生,又實(shí)現(xiàn)了教育資源的共享。營(yíng)造了一個(gè)共同討論,共同分享的環(huán)境??傊?,高校網(wǎng)站的建設(shè)不管是面向現(xiàn)在還是面向未來,都有很好的帶頭模范作用。
(趙豪越:通訊作者)
參考文獻(xiàn):
[1]黃建昌.計(jì)算機(jī)編程語言課程的教學(xué)方法[J].信息與電腦,2017(7).
[2]范芳東.靜態(tài)網(wǎng)頁(yè)制作技術(shù)與動(dòng)態(tài)網(wǎng)頁(yè)制作技術(shù)的比較分析[J].無線互聯(lián)科技,2018(2).
[3]胡畢松.基于HTML5與CSS3高校互聯(lián)網(wǎng)移動(dòng)端網(wǎng)站優(yōu)化[J].物聯(lián)網(wǎng)技術(shù),2016.
[4]張江珊.用Apache& MySQL& PHP構(gòu)建高校教務(wù)管理系統(tǒng)[N].吉林大學(xué)學(xué)報(bào),2004(3).
[5]戴勝,朱琳.基于web服務(wù)器的網(wǎng)站性能優(yōu)化研究[J].信息記錄材料,2018(6).
作者簡(jiǎn)介:
黃建昌,河北省滄州市,河北農(nóng)業(yè)大學(xué)理工學(xué)院。