盧春光 賈亞娟


摘 要:在高校的課堂教學中,教師課堂點名效率低下是一個普遍現象。文章分析了高校課堂點名提問的現狀,提出了通過Python語言實現的課堂點名提問系統的設計,為教師提供了新的課堂輔助手段,同時促進了學生的學習狀態和學習效率的提升,推動了高校課堂教學更好地發展。
關鍵詞:教學;點名提問;Python
0 引言
在高校的教學過程中,傳統的點名方式是采用花名冊,按照名單進行人工點名,不僅效果差而且影響正常教學。隨著教學改革的進行,各種新的教學方式和教學理念不斷推出,信息化教學逐漸成為一種新的教學趨勢。陳恒等[1]提出了基于微信實現的大學課堂點名系統;孫沫麗等[2]提出了基于ASP.NET 技術實現的高校課堂提問考核管理系統;馮捷等[3]提出了基于Excel平臺的隨機點名系統。本文基于Python語言,設計實現了一款簡單易用的課堂點名提問系統,可以幫助高校教師更好地進行教學與管理。
1 系統分析
在進行課堂點名提問系統的設計時,多數研究者采用了隨機點名的方式,這種方式對于每一位學生點名提問的概率是相同的,不同層次的學生,可能會一直保持一定的差距。因此,在進行本系統的設計時,在保持隨機點名功能的同時,增加了一種“優先選擇”的點名功能。“優先選擇”的設計,旨在幫助成績較差的學生,以達到整體學生成績提升的目的。
2 系統架構設計
2.1 系統功能設計
課堂點名提問系統的設計分為優先選擇和隨機選擇兩個組成部分,其系統架構如圖1所示。優先選擇模塊的功能是:優先選擇系統中分數較低的同學進行點名提問,如果最低分學生只有一個,則可以直接選中;如果最低分學生有多個組成,則會隨機地從中選出一個。隨機選擇模塊的功能是:從系統中隨機選擇一個學生點名提問,所選擇的學生與分數無關,每一個學生被選擇的機會均等。在兩種模式下被選中的學生,教師可根據其回答問題的具體情況,進行加分或者減分,并通過系統直接將最新得分更新保存。
系統中,每個學生的初始分數值相同,均為60分;在第一次使用時,通過優先選擇和隨機選擇最終的結果是一致的,隨著第一次的使用,被選中的學生分數有了變化,如果加分則得分將高于60分,如果減分,則得分將低于60分。隨著系統的使用,學生的得分逐漸產生了變化,通過優先選擇和隨機選擇得到的學生信息將不再保持一致。教師在課堂教學中,可以交替使用兩種模式,通過優先選擇得到的是分數較低的學生,這部分學生通過課上和課下努力學習,課堂積極回答問題,可以通過加分,逐步將自己的分數提高,在后續的優先選擇中,將有可能不會被選中;同時,教師應同時使用隨機選擇。其他分數較高的學生,同樣可以積極參與課堂學習,如果被教師減分,則同樣有可能被優先選擇選中。該系統可以促進分數較低的學生努力學習,同時可以警示其他同學不進則退,一旦不積極努力,則隨時可能被其他同學超越。
2.2 系統界面設計
課堂點名提問系統的界面設計由兩部分組成:優先選擇模塊和隨機選擇模塊,如圖2所示。
本系統界面的操作非常簡單,教師點擊“優先選擇”按鈕或者“隨機選擇”按鈕,即可從系統中選擇分數最低學生或者從系統中隨機選擇一名學生,并在輸出結果文本框顯示學生的姓名,教師可對學生點名和提問,根據學生出勤和回答問題的情況,可以點擊“加分”按鈕進行相應的加分或者點擊“減分”按鈕進行相應的減分。點擊“清空”按鈕,可以將結果清空,方便后續的使用。系統操作結果如圖3所示。
2.3 系統代碼設計
在進行系統設計時,需要準備一個包含學生信息的Excel表格,表格由2列組成,第1列為學生的姓名,第2列為學生的基礎分數,每個學生的基礎分數均設置為60分。系統的主要代碼如下:
(1)優先選擇模塊代碼。
num1 = 0
def first_select(self):
global num1
df = pd.read_excel(file_score)
# 讀取分數,放入數組s中;讀取學生姓名,放入數組n中
s = []
for item in df[‘score]:
s.append(item)
n = []
for item in df[‘name]:
n.append(item)
# 讀取分數最低值,最低分所在位置;所有符合要求的學生,放入student數組中
s_min = min(s)
student = []
for i in range(0,len(s)):
if s[i] == s_min:
student.append(n[i])
else:
i=i+1
# 從student數組中,隨機輸出一個值
result = random.choice(student)
……
(2)加分模塊代碼。
def add_score_1(self):
global num1
df = pd.read_excel(file_score)
s = []
for item in df[‘score]:
s.append(item)
n = []
for item in df[‘name]:
n.append(item)
for i in range(0,len(n)):
if n[i] == num1:
s[i]=s[i]+5
pd.set_option(‘mode.chained_assignment, None)
# 更新分數
df[‘score].loc[i] = s[i]
……
# 更新excel文件
df.to_excel(file_score,index = False)
通過pyinstaller將程序代碼進行打包,生成exe文件,教師在使用時,將打包好的應用程序,放入C盤根目錄下,雙擊ktdm_gui.exe文件,即可運行使用;對于不同的班級使用,更換score.excel文件即可。
3 結語
通過課堂點名提問系統,教師可以更好地掌握學生的學習狀態,豐富了課堂教學的手段,促使學生由原來的被動式學習變為積極主動地學習,提高了學生的課堂學習效率。同時,也促進了教師積極探索更多的方式進行教學,為后續的教學改革提供了更為豐富的手段,推動了教與學的良性發展。
[參考文獻]
[1]陳恒,李宏達,趙曉艷.基于微信的大學課堂點名系統的設計與實現[J].軟件,2018(3):45-47.
[2]孫沫麗,郭亮,李偉光,等.高校課堂提問考核管理系統的設計與實現[J].信息與電腦,2020(16):64-66.
[3]馮婕,張娟,岳秋菊.基于Excel的課堂隨機點名系統的設計[J].自動化與儀器儀表,2016(2):129-130.
(編輯 王永超)