康瑞 李果 張萌 天津職業(yè)技術(shù)師范大學(xué)
筆者以山西師范大學(xué)教育技術(shù)學(xué)專(zhuān)業(yè)的本科學(xué)生為調(diào)查對(duì)象,采用問(wèn)卷的形式針對(duì)是否參加過(guò)中小學(xué)教師資格考試進(jìn)行調(diào)查。共收到145份有效問(wèn)卷,其中40%的學(xué)生已參加考試,60%的學(xué)生還未參加。參與過(guò)考試的學(xué)生中有84.48%的學(xué)生認(rèn)為需要一款練習(xí)題庫(kù),有89.66%的學(xué)生愿意使用網(wǎng)站進(jìn)行練習(xí)。因此,筆者以《信息技術(shù)學(xué)科知識(shí)與教學(xué)能力》為主要內(nèi)容基于網(wǎng)站開(kāi)發(fā)了一款題庫(kù),實(shí)現(xiàn)資源的數(shù)字化,以幫助學(xué)生通過(guò)考試。
圖1 前臺(tái)用戶(hù)界面的總體結(jié)構(gòu)
快速練習(xí):能夠動(dòng)態(tài)從后臺(tái)數(shù)據(jù)庫(kù)中隨機(jī)抽取題目供用戶(hù)練習(xí);能夠根據(jù)用戶(hù)的備考時(shí)間不同,自動(dòng)呈現(xiàn)合適的題量;提交答案之后能給出得分;能夠呈現(xiàn)所有題目的解析。
歷年真題:擁有多套真題;提交答案后需要給出得分;能夠呈現(xiàn)所有題目的解析;能夠計(jì)時(shí)考試,時(shí)間截止后自動(dòng)提交試卷。
題目檢索:遇到不會(huì)的題目可以直接在題庫(kù)中進(jìn)行檢索,提高信息的可靠性,減少?zèng)]有必要的時(shí)間耗費(fèi),如若沒(méi)有檢索到相關(guān)內(nèi)容,可以選擇在題庫(kù)中加入。
資料包:幫助用戶(hù)在做題前理解相關(guān)知識(shí)點(diǎn);提供視頻課程以及精選知識(shí)點(diǎn)。
面試題目:在考試后期,提供面試題目,幫助用戶(hù)了解考試內(nèi)容和一些相關(guān)流程。
中小學(xué)教師資格考試并沒(méi)有指定的教材,因此歷年真題具有很高的參考價(jià)值,所以,筆者將近六年的真題以及一些模擬題、預(yù)測(cè)題錄入題庫(kù)中以方便用戶(hù)進(jìn)行練習(xí)。
(1)用戶(hù)登錄注冊(cè)
注冊(cè)頁(yè)面包括用戶(hù)名、設(shè)置密碼和確認(rèn)密碼三個(gè)輸入框。注冊(cè)時(shí)需要規(guī)范輸入信息,如果不符合要求,網(wǎng)站就會(huì)根據(jù)有誤的信息彈出“錯(cuò)誤:該用戶(hù)名已存在”“錯(cuò)誤:密碼長(zhǎng)度不符合,請(qǐng)重新填寫(xiě)”“注冊(cè)失敗,請(qǐng)重新填寫(xiě)”“密碼不一致,返回重試”的提示。注冊(cè)界面的信息插入到數(shù)據(jù)表的相關(guān)代碼如圖2所示。在注冊(cè)成功后,頁(yè)面會(huì)直接跳轉(zhuǎn)到登錄頁(yè)面。
圖2 用戶(hù)信息輸入數(shù)據(jù)庫(kù)
(2)快速練習(xí)
在登錄成功后,網(wǎng)站直接跳轉(zhuǎn)到“快速練習(xí)”頁(yè)面。網(wǎng)站默認(rèn)在數(shù)據(jù)庫(kù)中抽取15道題進(jìn)行練習(xí)。用戶(hù)可以根據(jù)自己備考時(shí)間的不同,在左上方的輸入框中輸入備考時(shí)間,后臺(tái)會(huì)根據(jù)提交的數(shù)字使用for循環(huán)語(yǔ)句返回一定數(shù)量的題目,以滿(mǎn)足不同用戶(hù)的個(gè)性化需要。當(dāng)題目返回后,用戶(hù)可以直接在網(wǎng)站上進(jìn)行作答,“提交”后會(huì)顯示得分,點(diǎn)擊“解析”可以查看題目的答案,并對(duì)錯(cuò)題進(jìn)行標(biāo)紅處理。
(3)題目檢索
檢索功能可以幫助用戶(hù)快速查找到那些有模糊記憶但又未能掌握的題目。實(shí)現(xiàn)這個(gè)功能可以使用SQL語(yǔ)句的like進(jìn)行模糊檢索,找到含有該關(guān)鍵詞的題目并進(jìn)行輸出。
(1)數(shù)據(jù)庫(kù)的作用和選擇
數(shù)據(jù)庫(kù)可以存儲(chǔ)記錄網(wǎng)站數(shù)據(jù),如用戶(hù)的用戶(hù)名、密碼、題目等內(nèi)容。WampServer是一款帶有服務(wù)器的動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)工具,功能多,可視化程度好,可以在64位的配置環(huán)境下運(yùn)行,因此筆者選擇該工具開(kāi)發(fā)平臺(tái)。
(2)用戶(hù)信息數(shù)據(jù)表register
數(shù)據(jù)表共有四個(gè)字段(如圖3),其中id設(shè)為主鍵并進(jìn)行自動(dòng)編號(hào),username設(shè)為唯一值,不可重復(fù),避免用戶(hù)名重復(fù)導(dǎo)致數(shù)據(jù)混亂,password、pwd兩個(gè)字段是用來(lái)保證用戶(hù)在注冊(cè)時(shí)輸入的兩次密碼是一致的。此數(shù)據(jù)表用來(lái)存放用戶(hù)的注冊(cè)信息,方便在登錄時(shí)進(jìn)行身份驗(yàn)證。管理者可以通過(guò)后臺(tái)自行刪除一些用戶(hù)信息。
圖3 register數(shù)據(jù)表的字段
(3)題庫(kù)信息數(shù)據(jù)表collection
collection數(shù)據(jù)表包含11個(gè)字段,如圖4所示。這些字段用來(lái)存儲(chǔ)題的編號(hào)、內(nèi)容以及解析。該數(shù)據(jù)表主要用于在“快速練習(xí)”以及“題目搜索”模塊返回題目數(shù)據(jù),這樣方便隨時(shí)往數(shù)據(jù)庫(kù)中添加,并且不需要改動(dòng)前端代碼,減少了后期維護(hù)網(wǎng)站的工序。
圖4 collection數(shù)據(jù)表的字段
(4)數(shù)據(jù)庫(kù)的連接
數(shù)據(jù)表需要與前端網(wǎng)頁(yè)建立連接,才能將數(shù)據(jù)返回網(wǎng)頁(yè)呈現(xiàn)。因此,要在用戶(hù)注冊(cè)、登錄、快速練習(xí)和題目檢索的代碼模塊間建立連接。本網(wǎng)站將數(shù)據(jù)庫(kù)接口的代碼寫(xiě)在了PHP文件中,涉及數(shù)據(jù)庫(kù)連接的網(wǎng)頁(yè)只需要在該網(wǎng)站代碼的PHP語(yǔ)句中寫(xiě)入“include('conn.php');”就可以連接到數(shù)據(jù)庫(kù),連接數(shù)據(jù)庫(kù)的代碼如下頁(yè)圖5所示。
圖5 連接數(shù)據(jù)庫(kù)的代碼
問(wèn)題一:根據(jù)用戶(hù)需要?jiǎng)討B(tài)返回題目及其答案
在快速練習(xí)模塊,網(wǎng)站要根據(jù)輸入框中提交的數(shù)字返回不同的題量,以滿(mǎn)足不同用戶(hù)備考的需求。因?yàn)閿?shù)字是前端提交過(guò)來(lái)的,所以PHP代碼中需要有一個(gè)變量days接受前端傳遞的數(shù)值,然后用題庫(kù)的題量除以天數(shù)就等于每日用戶(hù)需要完成的練習(xí)。接著,借助for循環(huán)語(yǔ)句將數(shù)據(jù)庫(kù)的數(shù)據(jù)輸出,具體代碼如下頁(yè)圖6所示。需要注意的是,代碼中不同題的name屬性需要進(jìn)行區(qū)分,以保證每道題的選項(xiàng)不干擾;同一題的name屬性需要統(tǒng)一,以保證用戶(hù)只可以選擇一個(gè)選項(xiàng)進(jìn)行提交。數(shù)組$row是存放數(shù)據(jù)庫(kù)中的返回值,使其在前端一行行顯示。
圖6 for循環(huán)語(yǔ)句
問(wèn)題二:試卷重復(fù)提交
在開(kāi)發(fā)過(guò)程中遇到如下問(wèn)題:用戶(hù)提前提交試卷后,繼續(xù)停留在這個(gè)網(wǎng)頁(yè),當(dāng)?shù)褂?jì)時(shí)為0時(shí),試卷會(huì)被再次提交。簡(jiǎn)單來(lái)說(shuō),用戶(hù)提前交卷會(huì)導(dǎo)致試卷重復(fù)提交。
針對(duì)這一問(wèn)題,筆者對(duì)提交試卷的情況進(jìn)行假設(shè):①用戶(hù)自己提前交卷;②倒計(jì)時(shí)結(jié)束網(wǎng)頁(yè)自動(dòng)提交。這兩種情況只能發(fā)生其中一種才能保證試卷只提交一次,要判斷兩種情況是否發(fā)生最直接的辦法就是判斷是否提交了試卷。因此,筆者在JavaScript的代碼中設(shè)置了一個(gè)變量issubmit,并賦給它初始值false,只有倒計(jì)時(shí)變量times為0并且issubmit為false時(shí),網(wǎng)頁(yè)才會(huì)自動(dòng)點(diǎn)擊“提交”按鈕以交卷。但如果用戶(hù)自己提前提交,則賦給issubmit值true,這樣就保證試卷自動(dòng)提交的條件無(wú)法滿(mǎn)足。通過(guò)這個(gè)變量值的判斷就可以使試卷只提交一次,以達(dá)到預(yù)期效果。
問(wèn)題三:解析的隱藏與顯示
點(diǎn)擊“解析”按鈕需要將題目的解析呈現(xiàn)出來(lái),因此在未點(diǎn)擊時(shí)需要將其屬性隱藏,即把display屬性設(shè)置為none;在點(diǎn)擊按鈕后,利用JavaScript執(zhí)行函數(shù),讀取name為demo的標(biāo)簽,并設(shè)置其display為block使其顯示出來(lái)。具體代碼如圖7所示。
圖7 使“解析”顯示的JavaScript代碼
本網(wǎng)站滿(mǎn)足了用戶(hù)的個(gè)性化需求,增強(qiáng)了用戶(hù)學(xué)習(xí)的動(dòng)力,引導(dǎo)他們主動(dòng)地參與到備考環(huán)節(jié)。另一創(chuàng)新就是在題庫(kù)系統(tǒng)中添加了搜索的功能?;ヂ?lián)網(wǎng)快速發(fā)展,網(wǎng)絡(luò)上的信息良莠不齊,檢索者需要在眾多信息中進(jìn)行篩選,這會(huì)浪費(fèi)大量的時(shí)間,因此在題庫(kù)網(wǎng)站中添加搜索功能可以為用戶(hù)節(jié)約大量時(shí)間。