劉平
摘要:理論課程不僅能對實踐課程提供必要的指導,還對增強學生人文素質、提高人才核心競爭力、提升可持續(xù)職業(yè)能力等至關重要。高職院校的學生文化基礎差,普遍對理論課程缺乏興趣。為提高學生學習興趣,設計并實訓了基于Visual Basic的信息系統(tǒng)——題目訓練器,使學生通過在計算機上答題,特別是針對錯得比較多的薄弱環(huán)節(jié),在得到反饋和解析基礎上反復訓練,達到熟記理論知識的目的。文章詳細地介紹了該系統(tǒng)的設計與實現過程。
關鍵詞:理論知識;訓練;反饋;信息系統(tǒng);數據庫
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)06-0099-04
Abstract: Theory Course not only can guide practical courses, but also is important to enhance the quality of humanity, improve core competitiveness and sustainable professional ability for students. For the students of higher vocational colleges, their cultural foundation is poor. So they have less interesting for theory course universally. To improve students interesting, the writer designed and realized information system—test question trainer。Students can answer questions on this system of computers repeatedly. Especially, they can get feedback of weak link which they always do wrong in real time. With repeated training, students can memorize the theoretical knowledge. The article introduces the design and implementation process of the information system in detail.
Key words: theory course;train;feedback;information system;database
理論課程和實踐課程是現代職業(yè)教育課程體系的兩大組成部分,理論課程與實踐課程是相輔相成的。只有在必要的理論指導下開展的實踐活動才能真正培養(yǎng)學生的實際動手能力,另外理論課程是增強學生人文素質、提高人才核心競爭力、提升可持續(xù)職業(yè)能力的有效途徑。但在實際教學過程中,往往輕理論,重實踐。高職院校的學生文化基礎較差,枯燥的理論學習讓他們提不起學習興趣,再加之“背功”差,對理論學習“前學后忘”,教學效果不理想。我們應根據高職學生的特點,采用適合他們的教學模式,多給他們動手操作的機會,使之從枯燥乏味的理論學習中解脫出來。
基于此,筆者進行了信息系統(tǒng)輔助理論教學模式的嘗試?;赩isual Basic設計并實現了題目訓練器,通過在計算機上對理論題反復訓練,并同步得到反饋與解析,達到熟記的目的。
1 總體設計
系統(tǒng)的主要功能是:批量導入理論題,讓學生答題并給出結果反饋,同時對學生做題的正誤情況進行統(tǒng)計,學生可以查詢出錯誤較多的題,進行反復訓練。系統(tǒng)主要包括以下幾大模塊:用戶管理、學期管理、科目管理、試題類型管理、題庫管理、題目訓練、錯題查詢。
用戶管理:包括密碼修改、用戶維護。用戶分為管理員和普通用戶。普通用戶可以修改自己的密碼,管理員可以對用戶進行維護,包括對用戶進行添加、修改、刪除、查詢等操作。
學期管理、科目管理、試題類型管理用于對學期、科目、試題類型等基礎信息進行添加或刪除操作。
題庫管理:對試題進行維護,包括從Excel表格批量導入試題,對試題進行添加、修改、刪除、查詢等操作。
題目訓練:用于對所選試題進行答題、批改及解析等。
錯題查詢:用于根據查詢條件顯示相應錯題,查詢條件包括:用戶名、學期、科目、試題類型、錯題次數、錯題日期等。
系統(tǒng)流程圖如圖1所示。
2 數據庫設計
本系統(tǒng)涉及的對象主要包括:操作用戶、學期、科目、試題類型、試題、錯題等。分別設計數據表對這些對象進行維護。
系統(tǒng)用戶分為管理員和普通用戶,管理員負責系統(tǒng)的維護,普通用戶主要是做題及各類信息的查詢。用戶表(User)包括字段為:序號(ID)、用戶名(UserName)、密碼(UserCode)、權限(UserRight)。
試題表(Question)存儲試題信息,包括字段為:序號、學期、科目、試卷編號、試題內容、試題答案、試題類型、考查知識點、試題解析、錄入日期。其中學期字段關聯于學期表,科目字段關聯于科目表,試題類型字段關聯于試題類型表,錄入日期字段在導入系統(tǒng)時讀取系統(tǒng)日期。
錯題表(Wrongques)記錄用戶錯題情況,包括字段為:試題編號、用戶名、答錯題次數、答對題次數、最近做題日期。試題編號字段關聯于試題表,最近做題日期讀取最近一次做題時的系統(tǒng)日期。
試題表與錯題表通過試題編號關聯,用戶表與錯題表通過用戶編號關聯。用戶表、試題表及錯題表三者的關聯關系如圖2所示。
3 系統(tǒng)實現
3.1數據庫連接
要實現對數據庫的操作,首先要連接數據庫。在系統(tǒng)中添加了Module1, 在這里創(chuàng)建TransactSQL()函數用于連接數據庫,并通過傳遞的SQL語句參數對數據庫進行查詢、更新等操作。主要代碼如下所示。
Public Function TransactSQL(ByVal sql As String) As ADODB.Recordset
…
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset
'連接并打開數據庫
con.Provider = "Microsoft.Jet.OLEDB.4.0"
con.ConnectionString = "Data Source=" & App.Path & "\exercise.mdb;"
con.Open
'執(zhí)行由過程參數傳過來的SQL語句
strArray = Split(sql)
If StrComp(VBA.UCase(strArray(0)), "select", vbTextCompare) = 0 Then
rs.Open VBA.Trim(sql), con, adOpenKeyset, adLockOptimistic
Set TransactSQL = rs
Else
con.Execute sql
End If
…
End Function
3.2用戶管理模塊設計與實現
用戶管理模塊主要實現對用戶信息的添加、修改、刪除及查詢操作。在窗體上添加了MSHFlexGrid1控件,用于顯示用戶信息。在窗體的load事件中,默認加載所有用戶信息。用戶可點擊“查詢”按鈕,設置查詢條件,如用戶名、權限等,以顯示所需要的用戶信息。用戶管理界面如圖3所示。
3.3題庫管理模塊設計與實現
題庫管理模塊用于實現對題庫中試題的批量導入、單條添加、修改、刪除及查詢等功能。其功能設計概圖如圖4所示。
批量導入功能是通過打開Excel文件,從文件中逐行讀取試題信息并插入到數據庫的試題表(Question)中。主要代碼如下所示:
Private Sub Cmdimport_Click()
…
' 打開文件
With CommonDialog1
' .CancelError = True
.Flags = cdlOFNHideReadOnly Or cdlOFNAllowMultiselect Or cdlOFNExplorer Or cdlOFNNoDereferenceLinks
.Filter = "excel文件(*.xls)|*.xls"
.ShowOpen
End With
filename = CommonDialog1.filename
…
Set xlapp = CreateObject("Excel.Application")? '創(chuàng)建EXCEL對象
Set xlbook = xlapp.Workbooks.Open(filename) '打開已經存在的工作簿文件
xlbook.RunAutoMacros (xlAutoOpen) '運行EXCEL啟動宏
xlbook.RunAutoMacros (xlAutoClose) '運行EXCEL關閉宏
xlapp.Visible = False '設置EXCEL不可見
Set xlsheet = xlbook.Worksheets(1)? '設置活動工作表
…
'逐行讀取Excel文件內容,并插入到Question表中
For i = 2 To lastrow
…
sql = "insert into [Question](Term,Subject,QueNo,Questions,Keys,Quetype,Querange,Queanalys,Quedate) values('" & Trim(xlsheet.Cells(i, 1)) & "','" & Trim(xlsheet.Cells(i, 2)) & "','" & Trim(xlsheet.Cells(i, 3)) & "','" & CheckString(xlsheet.Cells(i, 4)) & "','" & CheckString(xlsheet.Cells(i, 5)) & "','" & Trim(xlsheet.Cells(i, 6)) & "','" & Trim(xlsheet.Cells(i, 7)) & "','" & Trim(xlsheet.Cells(i, 8)) & "','" & Date & "')"
Call TransactSQL(sql)
k = 1
End If
Next
If k = 1 Then MsgBox ("導入成功!")
Call viewData(viewsql) //顯示導入結果
…
End Sub
值得一提的是,上述代碼中在“insert”SQL語句中,引用了CheckString()函數,這個函數的作用是:當需插入表中的字符串內容含單引號時,在單引號前再插入一個轉義字符單引號,使該單引號轉成普通字符。因為在SQL語句中單引號表示字符串的開始和結束,如果字符串中含有單引號的,就需要把它轉化為普通字符,否則SQL語句將無法正常執(zhí)行。CheckString()函數的具體代碼如下:
Public Function CheckString(ByVal str As String) As String
Dim returnStr As String
returnStr = ""
If InStr(1, str, "'") <> 0 Then
returnStr = Replace(str, "'", "''")
Else
returnStr = str
End If
CheckString = returnStr
End Function
導入模版是Excel文件,該文件中第一行各列標題分別為:學期、科目、編號、題目、答案、題目類型、考查知識點、解析,用戶需在對應標題下填寫好各行的內容,系統(tǒng)將根據逐行將Excel表格中的內容插入到數據庫的Question表中。
在VB中要想調用Excel,需要打開VB編程環(huán)境“工程”菜單中的“引用”項目,并選取項目中的“MicrosoftExcel 11.0 object library”項。由于Excel版本不同,這個選項的版本號也是不同的。
因為EXCEL是以層次結構組織對象的,其對象模型中含有許多不同的對象元素。
第一層:Application對象,即Excel本身;
第二層:workbooks對象集,指Excel的工作簿文件;
第三層:worksheets對象集,表示的是Excel的一個工作表;
第四層:Cells和Range對象,指向Excel工作表中的單元格。
因此需要定義好各層,代碼如下:
Dim xlapp As Excel.Application 'Excel對象
Dim xlbook As Excel.Workbook '工作簿
Dim xlsheet As Excel.Worksheet '工作表
再創(chuàng)建各對象,代碼如下:
Set xlapp = CreateObject("Excel.Application")? '創(chuàng)建EXCEL對象
Set xlbook = xlapp.Workbooks.Open(filename) '打開已經存在的test.xls工作簿文件
Set xlsheet = xlbook.Worksheets(1)? '設置活動工作表
再逐行讀取單元格xlsheet.Cells(i, j)的內容,i,j分別代表行號和列號。
3.4試題訓練模塊設計與實現
該模塊用于對所選試題進行訓練,提交后反饋答題結果及試題解析。每答錯或答對一道題,在錯題表(WrongQues)中會有相應紀錄:如果是未做過的題,則新增一條紀錄,錯題數或對題數為1;如果是做過的題,根據試題編號找到這條紀錄,將其錯題數或對題數增加1。通過“查詢”功能,輸入查詢條件,選擇需要的試題。查詢條件包括學期、科目、試題類型、考查知識點、試題編號范圍、試題錄入日期、錯題次數等。試題訓練界面,如圖5所示。在這個界面中,用戶在回答文本框中輸入問題答案,再點擊“提交”,系統(tǒng)會將用戶的回答與“Question”表中的對應紀錄的“Keys”值進行比較,如果一致,則顯示回答正確;如果不一致,則顯示回答錯誤及正確答案。同步顯示試題解析,并在錯題表(WrongQues)中做相應紀錄。
3.5錯題查詢模塊設計與實現
該模塊通過設置查詢條件,在錯題表(WrongQues)中查詢錯題情況。查詢條件包括用戶名、學期、科目、試題類型、考查知識點、試題編號范圍、錯題次數范圍、對題次數范圍、答題日期范圍等。錯題查詢界面如圖6所示。單擊其中的某一條紀錄,可以根據試題編號查看到該試題的詳細信息。
4 結束語
本系統(tǒng)初步實現了讓學生在計算機上對理論試題進行反復訓練,并同步提供反饋與解析的目的。通過動手練,一定程度上提高了學生對枯燥的理論學習的學習興趣,從而達到較好的學習效果。以英語學習為例,因為知識點多而散,不容易記憶,學生在系統(tǒng)中進行訓練并得到及時反饋,并通過錯題庫查詢,根據錯題頻率找到薄弱環(huán)節(jié),從而有針對性地強化訓練,邊訓練并記憶,可以大大提高學習效率。但系統(tǒng)功能還需在實踐中不斷完善,以更好地提高使用效率。特別是試題導入功能,雖然已經實現了使用Excel文件批量導入,但如果能改成掃描導入等方式,將能更好地提高試題導入的效率。
參考文獻:
[1] 梁海鵬,薛建紅.基于ACCESS的庫存管理系統(tǒng)設計與實現[J].物探裝備,2018,28(3):191-193.
[2] 張?zhí)伊郑?基于ACCESS數據庫系統(tǒng)開發(fā)下的數據庫備份操作實現[J].科技經濟導刊,2016(7):116-117.
[3] 秦文寧,張若楠,王璀,等.基于Access的河南師范大學圖書管理系統(tǒng)[J].無線互聯科技,2019(6):57-58.
[4] 李麗,史運平.基于Visual Basic6.0的ADO數據庫訪問技術[J].山西建筑,2007,33(22):367-368.
[5] 梁鳳蘭.基于校網絡教學平臺的混合式教學設計與應用[J].軟件工程,2018,21(12):50-53.
[6] 李晶. 基于Bb 平臺的大學理論課程互動教學方案設計[J].航海教育研究(MER),2019,2(36):90-93.
[7] 王紹建,黃代華,馮寶貴. 高職院校理論課程教學困境及解決途徑[J].湖南工業(yè)職業(yè)技術學院學報,2016,16(6):98-100.
[8] 顧馨梅,唐燦.終身教育視野下構建現代職業(yè)教育體系的思考[J].襄陽職業(yè)技術學院學報,2019,18(6):11-14.
【通聯編輯:王力】