朱家龍


摘要:目前高校課堂普遍存在學生積極性不高,課堂氛圍壓抑沉悶的問題。為了提高學生參與課堂的積極性,改善教學質量,提出并設計了基于Visual Basic的隨機提問系統。該系統的代碼編輯部分主要是由Randomize語句和Rnd語句構成,該代碼主要實現的功能是可以隨機產生一位被提問學生。由于隨機產生,減少了學生的反感情緒并且改變了課堂氛圍。通過在不同課程的課堂進行使用該系統,其效果證明了該系統的實用性和有效性。
關鍵詞:隨機提問系統;Visual Basic;Randomize語句;Rnd語句
中圖分類號:TP311 ? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2019)15-0148-02
Abstract: At present, students' enthusiasm is not high and the classroom atmosphere is depressing. In order to improve the enthusiasm of students to participate in the classroom and the quality of teaching, a random questioning system based on Visual Basic is proposed and designed. The code editing part of the system is mainly composed of Randomize statement and Rnd statement. The main function of the code is to randomly generate a student to be questioned. As a result of random production, it reduces students' negative feelings and changes the classroom atmosphere. By using the system in different classes, the effectiveness of the system has proved its practicability and effectiveness.
Key words: Random Questioning System; Visual Basic; Randomize; Rnd
1 背景
課堂提問是一種教師用于檢查學生出勤、考核學生知識掌握程度的常用教學方法。此方法的應用能夠幫助學生參與課堂的積極性,給予教師適時有效的教學效果反饋。然而,在高校課堂上,傳統的課堂提問,即以學生花名冊為主要工具的方法,不僅分散了教師的注意力,還在一定程度上引起了部分學生的抵觸情緒,主要表現為不愿積極主動回答問題,或反感自己常被教師點到的“不公平”。這一問題的出現影響了學生主動參與課堂的積極性、教學效果的反饋和教學質量的提高。
為了解決克服傳統課堂提問方式帶來的弊端,研究者提出一種基于VB(Visual Basic)的隨機提問系統,該系統可以幫助教師隨機提取一位同學回答問題,首先,隨機的方式具有一定的公平性,當學生被抽中時,其內心不會出現對老師反感的情緒,而教師也可以通過隨機抽取學生的這一過程,提高學生的注意力和改變課堂氛圍。本文設計的基于VB的隨機提問系統在課堂上應用,并收到良好效果,證明該系統的有效性和實用性。
2 基于VB的隨機提問系統實現
隨著科技的不斷進步,教室的多媒體也不斷完善,其中,為了提高教學效率,應用計算機進行教學時普遍現象,此外,VB作為大學生應掌握的軟件,所以每間教室的計算機均應安裝,這也是隨機提問系統要基于VB的原因。值得一提的是,VB生成的應用工程可以在未安裝VB的環境下依然可以使用,但不能進行設置[1-3]。
2.1 隨機提問系統的設計
本文設計的隨機提問系統核心是用到VB中的Randomize語句(初始化隨機數生成器)和Rnd語句(返回一個包含隨機數值的Single)[4],Randomize用number將Rnd函數的隨機數生成器初始化,該隨機數生成器給number一個新的種子值。如果省略number,則用系統計時器返回的值作為新的種子值。本文的number用學生的學號或姓名,number的值決定了Rnd生成隨機數的方式。之所以對最開始給定的種子都會生成一樣的數列,是因為每次調用Rnd函數都用數列中的前一個數作為下一個數的種子。在調用Rnd之前,使用無參數的Randomize語句初始化隨機數生成器,該生成器具有根據系統計時器得到的種子。為了生成某一范圍內的隨機數,具體公式為
式中,upperbound是隨機數范圍的上限,而lowerbound為隨機數范圍的下限。值得一提的是,若想得到重復的隨機數序列,在使用具有數值參數的Randomize之前直接調用具有負參數值的Rnd。使用具有相同number值的Randomize是不會得到重復的隨機數序列的。
具體的VB程序代碼編輯如下所示:
Dim l As Integer
Dim a(100) As String
Dim b(100) As Boolean
Private Sub Command1_Click()
Timer2.Enabled = True
Timer1.Enabled = True
End Sub
Private Sub Command3_Click()
For i = 0 To l - 1
b(i) = True
Next i
End Sub
Private Sub Timer1_Timer()
x = Int(Rnd * l)
If b(x) Then Label1.Caption = a(x)
End Sub
Private Sub Form_Load()
Randomize
Open "student.txt" For Input As #1
l = 0
Do Until EOF(1)
Line Input #1, a(l)
l = l + 1
Loop
For i = 0 To l - 1
b(i) = True
Next i
End Sub
Private Sub Timer2_Timer()
Timer1.Enabled = False
For i = 0 To l - 1
If Label1.Caption = a(i) Then b(i) = False
Next i
Timer2.Enabled = False
End Sub
2.2 隨機提問系統的窗體布局
將VB的代碼編輯完成后,進行窗體布局,考慮到實用性和簡潔性,設計的窗口不應過大,設計的主體及學號不顯示部分要醒目,在設計過程中應使用亮麗的顏色,本文設計的窗體布局如圖1所示。
圖1中,將學生的姓名用亮黃色顯示,以黑色為底,這樣可以更加顯著的突出重點;提問按鈕主要用于提問學生時使用;當繼續提問時,可以按重置按鈕進行繼續提問,當然,不安也可以正常使用。
3 隨機提問系統在教學中的應用研究
3.1 隨機提問系統的使用方法
首先,將學生的姓名放在建立的txt類型文檔中,其命名為student.txt,文檔中的姓名或學號的排列方式如圖2所示。
其次,點擊提問按鈕,黑色屏幕內的學生姓名就會產生滾動變換的效果,過一定的時間黑色屏幕內就會隨機產生一位學生姓名。此外,為了保證下一次提問的公平性和系統運行的合理性,按一下重置按鈕即可。當學生未正確作答或態度不端正,可以設定懲罰機制,即在student.txt中增加一次該同學的姓名,這樣他被抽中的概率將會增加。經過5000次提問數據統計,發現每個人被提問到的次數大體一致,這證明了該隨機提問系統的隨機性和公平性。
3.2 隨機提問系統的課堂使用效果
當本文設計的隨機提問系統在不同課程的課堂進行使用時,其表現的共性主要是,首先,學生對于這種新穎的提問方式表示好奇,吸引絕大多學生的注意力。當屏幕滾動的時候,所有學生都在期待被提問者的產生,導致課堂非常安靜。當被提問的學生隨機產生時,整個教室又會突然會歡呼起來,這種表現主要是由于慶幸自己未被抽中,此外,抽中的同學并沒有表現出反感情緒,這主要是因為,他自己也清楚,這是隨機產生的,并非人為選擇。從課堂使用效果可以證明該隨機提問系統的實用性。
4 結論
本文通過分析目前課堂中存在不良氛圍,以及教師提問存在主觀性的問題,提出并設計了基于VB的隨機提問系統,該提問系統設計的代碼編程部分主要使用VB中的Randomize語句和Rnd語句,此外,隨機提問系統的窗體布局設計主要考慮到實用性和簡潔性。將本文設計的隨機提問系統應用到課堂中,根據使用效果證明了該隨機提問系統的可行性和有效性。
參考文獻:
[1] 周長宏, 蘭清昭. 用VB6.0編寫輔助中學數學課堂教學軟件的研究與探索[J]. 電腦知識與技術, 2019, 15(6): 44-46.
[2] 廖昌蘭, 李云勝. 基于VB的檔案庫房溫濕度實時監控系統[J]. 山西科技, 2019, 34(2): 48-51.
[3] 劉華敏. 基于IE的隨機點名系統的分析與設計[J]. 電腦知識與技術, 2016, 12(31): 54-55.
[4] 張玉生. Visual Basic程序設計教程[M]. 北京: 清華大學出版社, 2011: 86-87.
【通聯編輯:謝媛媛】