王 惠 ,趙午銘
(九州職業(yè)技術(shù)學(xué)院 機(jī)電工程系,江蘇 徐州 221116)
基于C#的智能點(diǎn)名系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)
王 惠 ,趙午銘
(九州職業(yè)技術(shù)學(xué)院 機(jī)電工程系,江蘇 徐州 221116)
課堂考勤點(diǎn)名和提問是高校教學(xué)過程中必不可少的環(huán)節(jié),為了提高學(xué)生考勤數(shù)據(jù)的安全性和公平、公正性,擺脫教師看著點(diǎn)名冊讀名字做記錄的繁瑣工作,文章介紹使用C#語言設(shè)計(jì)開發(fā)課堂智能點(diǎn)名系統(tǒng)的實(shí)現(xiàn)過程和方法,可以由計(jì)算機(jī)來智能選擇學(xué)生名單,并把考勤結(jié)果和回答問題情況記錄下來,在學(xué)期末實(shí)現(xiàn)平時(shí)成績的自動計(jì)算。
C#;智能點(diǎn)名;語音播報(bào);自動計(jì)算成績
隨著計(jì)算機(jī)技術(shù)的不斷深入和發(fā)展,越來越多的領(lǐng)域都應(yīng)用計(jì)算機(jī)來實(shí)現(xiàn)操作的智能化與自動化。在教育領(lǐng)域,教師在課堂教學(xué)過程中,為了調(diào)動課堂教學(xué)的氛圍,提高學(xué)生的上課注意力,增加師生之間的互動交流,更好的記錄學(xué)生的過程化學(xué)習(xí)活動,點(diǎn)名和提問是教學(xué)過程中必不可少的環(huán)節(jié)。傳統(tǒng)的紙質(zhì)點(diǎn)名考勤方式不僅效率低,數(shù)據(jù)容易丟失[1],而且教師在學(xué)期末還不得不手工來計(jì)算學(xué)生的平時(shí)成績,一方面工作繁瑣,增加了教師的教學(xué)工作量,另一方面可能會統(tǒng)計(jì)錯誤,不能準(zhǔn)確的評價(jià)學(xué)生的學(xué)習(xí)過程。為了提高學(xué)生課堂考勤數(shù)據(jù)的安全性和公平、公正性,使教師可以擺脫看著點(diǎn)名冊讀名字做記錄的繁瑣工作,可以由計(jì)算機(jī)來智能選擇學(xué)生名單,自動完成語音播報(bào)點(diǎn)名,并把學(xué)生到課和回答問題情況記錄下來。在學(xué)期結(jié)束時(shí),教師可以利用已經(jīng)記錄的學(xué)生考勤情況和課堂回答問題情況,通過設(shè)置每項(xiàng)所占的分值,設(shè)定每次曠課、請假和遲到要扣的分?jǐn)?shù)和每次提問要獎勵的分?jǐn)?shù),方便快捷的計(jì)算出學(xué)生的平時(shí)成績。所以有必要開發(fā)一個智能點(diǎn)名系統(tǒng),幫助教師完成課堂的隨機(jī)點(diǎn)名和學(xué)期末的平時(shí)成績的統(tǒng)計(jì)計(jì)算工作,不僅可以保證點(diǎn)名時(shí)的公平、公正性,而且能夠避免教師每次在點(diǎn)名表上手工記錄的麻煩,實(shí)現(xiàn)了平時(shí)成績的自動計(jì)算功能,大大減輕了教師的工作量,提高了平時(shí)成績統(tǒng)計(jì)的正確性。
該點(diǎn)名系統(tǒng)使用C#語言編寫,采用圖形用戶界面技術(shù),實(shí)現(xiàn)教師課堂全部點(diǎn)名、隨機(jī)點(diǎn)名功能、提問、保存考勤點(diǎn)名情況,導(dǎo)出平時(shí)成績等功能。系統(tǒng)具體功能包括:
1)系統(tǒng)主界面:提供系統(tǒng)菜單和圖形顯示操作功能;2)學(xué)生信息導(dǎo)入:通過該界面選擇保存授課班級學(xué)生信息的Excel文件,并把班級名稱、學(xué)生信息、班級人數(shù)顯示在主界面中;3)全部點(diǎn)名:設(shè)置自動語音點(diǎn)名時(shí)的時(shí)間間隔,自動依次選擇導(dǎo)入班級的學(xué)生信息,并實(shí)現(xiàn)語音播報(bào)學(xué)生姓名的功能;4)隨機(jī)點(diǎn)名:為了節(jié)省課堂考勤時(shí)間,設(shè)置抽取學(xué)生個數(shù),隨機(jī)抽取學(xué)生名單,并按學(xué)號從小到大依次自動語音播報(bào);5)課堂提問:隨機(jī)抽取提問學(xué)生并自動語音提問;6)保存考勤、提問情況:在點(diǎn)名過程中和提問結(jié)束后,通過快捷鍵修改學(xué)生的到課和回答問題情況并保存到原學(xué)生信息表中存儲;7)平時(shí)成績的自動計(jì)算與導(dǎo)出:教師根據(jù)課程的過程性考核方法設(shè)置平時(shí)成績總分和每次曠課、請假、遲到要扣的分值、提問要獎勵的分?jǐn)?shù),系統(tǒng)自動計(jì)算出每位學(xué)生的平時(shí)成績,并導(dǎo)出到新建的Excel文件中,系統(tǒng)的總體功能結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)總體功能結(jié)構(gòu)圖
該點(diǎn)名系統(tǒng)包括歡迎界面、系統(tǒng)主界面、平時(shí)成績參數(shù)設(shè)置等界面。首先系統(tǒng)啟動后自動彈出歡迎提示對話框,單擊確定之后彈出系統(tǒng)主界面,如圖2所示。在主界面中可以通過菜單和相應(yīng)的快捷鍵操作實(shí)現(xiàn)系統(tǒng)的功能,也可以通過圖形界面上的功能按鈕完成相應(yīng)的操作。
圖2 系統(tǒng)主界面
在主界面中選擇導(dǎo)入學(xué)生名單菜單,彈出打開Excel文件對話框,選擇存儲授課班級學(xué)生信息的文件后,在系統(tǒng)主界面的DataGridView控件中會顯示導(dǎo)入的班級學(xué)生信息,并在相應(yīng)的班級信息框中顯示當(dāng)前導(dǎo)入的班級名稱和班級總?cè)藬?shù)[2]。
在時(shí)間間隔控件中設(shè)置好自動點(diǎn)名的時(shí)間間隔后,單擊全部點(diǎn)名按鈕,隨機(jī)點(diǎn)名功能將會失效,直到全部點(diǎn)名結(jié)束[3]。在全部點(diǎn)名過程中,該系統(tǒng)會依次選擇被點(diǎn)名的信息并自動語音播報(bào)出當(dāng)前學(xué)生的姓名,如果該學(xué)生沒有到課,暫停全部點(diǎn)名,根據(jù)原因做好點(diǎn)名記錄,設(shè)置快捷鍵ctrl+1增加曠課次數(shù)、ctrl+2增加請假次數(shù)、ctrl+3增加遲到次數(shù)。記錄完畢后單擊繼續(xù)按鈕完成全部點(diǎn)名功能。
在隨機(jī)點(diǎn)名功能中,首先設(shè)置抽取學(xué)生的個數(shù),然后系統(tǒng)會自動的從當(dāng)前班級中抽取學(xué)生名單,并按照抽取學(xué)生的序號從小到大依次自動的選擇、語音播報(bào)被選學(xué)生的信息。
系統(tǒng)的課堂提問功能可以隨機(jī)抽取提問學(xué)生,并語音播報(bào)提問學(xué)生的姓名。當(dāng)學(xué)生回答完畢之后,教師可以通過ctrl+4快捷鍵記錄該學(xué)生回答問題的情況信息。
考勤和提問結(jié)束后,教師通過保存功能把課堂的點(diǎn)名和學(xué)生回答問題情況記錄到原授課班級信息表中,以此作為學(xué)生過程性考核的關(guān)鍵資料。
當(dāng)需要計(jì)算學(xué)生的平時(shí)成績時(shí),教師可以根據(jù)自己課程的過程性考核方法,首先設(shè)置平時(shí)成績的計(jì)算參數(shù),包括曠課、請假、遲到每次所扣分值、提問每次要加分?jǐn)?shù)和平時(shí)成績總分,單擊保存按鈕保存參數(shù)信息,實(shí)現(xiàn)了平時(shí)成績計(jì)算的靈活性,提高了該系統(tǒng)應(yīng)用的適用性。設(shè)置成績參數(shù)界面如圖3所示。
圖3 設(shè)置成績參數(shù)界面
使用導(dǎo)出成績功能可以根據(jù)預(yù)先設(shè)置的成績參數(shù)和已經(jīng)記錄的學(xué)生考勤提問情況自動計(jì)算出每個同學(xué)的平時(shí)成績,并把信息導(dǎo)出到一個新的Excel文件中。
該系統(tǒng)實(shí)現(xiàn)的關(guān)鍵是能夠?qū)崿F(xiàn)Excel文件和DataGridView之間的數(shù)據(jù)導(dǎo)入導(dǎo)出、中文語音播報(bào)功能實(shí)現(xiàn)、隨機(jī)抽取學(xué)生名單、自動計(jì)算平時(shí)成績功能,具體技術(shù)分析如下:
1)Excel文件和DataGridView之間的數(shù)據(jù)導(dǎo)入導(dǎo)出。在保存學(xué)生信息和點(diǎn)名提問信息時(shí)選擇使用Excel表存儲,而沒有選擇主流的數(shù)據(jù)庫存儲技術(shù),主要考慮到教師在點(diǎn)名時(shí)主要是針對班級進(jìn)行,而每個班級的學(xué)生人數(shù)一般不會超過50人,系統(tǒng)的數(shù)據(jù)存儲量不是很大;另一方面可以充分利用教務(wù)管理系統(tǒng)能夠直接把授課班級學(xué)生信息導(dǎo)出到Excel文件中的功能,避免教師再次把信息輸入數(shù)據(jù)庫中的繁瑣。在實(shí)現(xiàn)Excel文件和DataGridView之間的數(shù)據(jù)導(dǎo)入導(dǎo)出功能時(shí)系統(tǒng)采用的是OleDb技術(shù)[4]。該技術(shù)需要首先要在程序開始部分導(dǎo)入System.Data.OleDb命名空間,然后分別創(chuàng)建OleDbConnection、OleDbDataAdapter對象,通過OleDbConnection對象連接Excel文件,OleDbDataAdapter對象把select語句和OleDbConnection對象關(guān)聯(lián),從Excel文件讀取數(shù)據(jù),通過OleDbDataAdapter對象的fill方法填充數(shù)據(jù)表。最后設(shè)置DataGridView對象的DataSource屬性為讀取的數(shù)據(jù)表,實(shí)現(xiàn)Excel文件在DataGridView中的顯示。數(shù)據(jù)保存時(shí)通過OleDbDataAdapter對象的update方法把修改的數(shù)據(jù)記錄保存下來。實(shí)現(xiàn)該功能的主要程序代碼如下:
2)中文語音播報(bào)功能。在實(shí)現(xiàn)中文語音播報(bào)功能時(shí)采用的是微軟的TTS技術(shù)。該技術(shù)首先要安裝TTS中文語音引擎,然后在控制面板中設(shè)置語音屬性為簡體中文。在編程實(shí)現(xiàn)時(shí)導(dǎo)入DotNetSpeech名稱空間,創(chuàng)建SpeechVoiceSpeakFlags、SpVoice對象。在計(jì)時(shí)器Timer的Trick事件中通過調(diào)用SpVoice對象的speak方法實(shí)現(xiàn)中文語音的自動播報(bào)。
3)隨機(jī)抽取學(xué)生名單功能。在隨機(jī)抽取學(xué)生名單功能實(shí)現(xiàn)時(shí)系統(tǒng)使用的是Random類,通過Next方法產(chǎn)生0至學(xué)生總數(shù)之間的隨機(jī)數(shù),然后把這個隨機(jī)數(shù)和已經(jīng)產(chǎn)生的隨機(jī)數(shù)進(jìn)行比較,如果相等,則繼續(xù)生成新的隨機(jī)數(shù),直到?jīng)]有相等的為止。最后把生成的隨機(jī)數(shù)保存到一個數(shù)組中。為了在隨機(jī)點(diǎn)名時(shí)能夠按順序播報(bào)學(xué)生姓名,系統(tǒng)使用Array類的Sort方法從小到大排序,依次把隨機(jī)數(shù)和數(shù)據(jù)集中的學(xué)生名單關(guān)聯(lián),并自動語音播報(bào)實(shí)現(xiàn)隨機(jī)抽取學(xué)生點(diǎn)名的功能。
4)自動計(jì)算平時(shí)成績功能。在實(shí)現(xiàn)自動計(jì)算平時(shí)成績功能時(shí),首先導(dǎo)入Microsoft.Office.Interop.Excel名稱空間,分別創(chuàng)建ApplicationClass、Workbooks、Workbook、Worksheet對象。然后依次讀取數(shù)據(jù)表中的每一列并保存到一個二維數(shù)組中,在循環(huán)的過程中求出每個學(xué)生的平時(shí)成績,用已經(jīng)設(shè)置好的平時(shí)成績總分減去曠課、請假、遲到的分?jǐn)?shù),最后再加上學(xué)生回答問題要獎勵的分?jǐn)?shù)。如果最后求出的平時(shí)成績超過設(shè)置的平時(shí)成績總分則取設(shè)置的平時(shí)成績總分為該學(xué)生的最后平時(shí)成績;如果計(jì)算得到負(fù)數(shù)平時(shí)成績,平時(shí)成績則取0,并把平時(shí)成績顯示在每個學(xué)生的最后一列數(shù)據(jù)上。最后把存儲學(xué)生平時(shí)成績的二維表輸出到一個新的Excel文件中。實(shí)現(xiàn)該功能的主要代碼如下:
①設(shè)置列名。
②保存數(shù)據(jù)到二維表中。
③把二維表輸出到Excel文件中。
本文提出一種基于C#語言的智能點(diǎn)名系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法。該系統(tǒng)既能使傳統(tǒng)的課堂考勤和提問實(shí)現(xiàn)數(shù)字化,并能夠自動進(jìn)行語音播報(bào),可以記錄學(xué)生曠課、請假、遲到和回答問題的情況,而且能夠幫助教師自動統(tǒng)計(jì)計(jì)算導(dǎo)出學(xué)生的平時(shí)成績。教師在課堂教學(xué)過程中使用該系統(tǒng)不僅可以從繁瑣的考勤信息、提問記錄和平時(shí)成績計(jì)算中解放出來,而且通過在講課的過程中使用計(jì)算機(jī)突然播出學(xué)生的姓名,可以調(diào)動課堂氣氛、提高學(xué)生學(xué)習(xí)的注意力、改善學(xué)生的聽課態(tài)度。該系統(tǒng)通過多位在教學(xué)一線教師的課堂應(yīng)用實(shí)踐,一致認(rèn)為可以明顯地提高學(xué)生的課堂學(xué)習(xí)效果,使課堂點(diǎn)名、提問和平時(shí)成績統(tǒng)計(jì)工作不再那么繁瑣,大大減輕了教師的教學(xué)工作量。
當(dāng)然,作為一個新的課堂教學(xué)輔助工具,該系統(tǒng)的功能還需要不斷地補(bǔ)充和完善。例如,可以嘗試在學(xué)生信息表中加入學(xué)生照片信息,當(dāng)系統(tǒng)選中一名學(xué)生點(diǎn)名時(shí),只有答到的學(xué)生與信息表中的姓名、照片完全匹配,才算到課,這樣可以防止學(xué)生替答現(xiàn)象的發(fā)生;同時(shí)在記錄學(xué)生回答問題情況時(shí)可以進(jìn)一步細(xì)化,不同的回答得到不同的分值,真正做到平時(shí)成績統(tǒng)計(jì)的公平、公正,使課程的過程性考核更加符合學(xué)生真實(shí)的學(xué)習(xí)狀態(tài),有利于教師動態(tài)調(diào)整教學(xué)進(jìn)度和方案,不斷提高課程的教學(xué)效果。
[1] 張捷,朱曉姝,李露璐.一個新的課堂教學(xué)工具:智能考勤及提問點(diǎn)名系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 玉林師范學(xué)院學(xué)報(bào),2014(2):119-124.
[2] 孫踐知,張迎新,肖媛媛. C#程序設(shè)計(jì)[M]. 北京:清華大學(xué)出版社,2014.
[3] 傳智播客高教產(chǎn)品研發(fā)部.C#程序設(shè)計(jì)基礎(chǔ)入門教程[M].北京:人民郵電出版社,2014
[4] 龔根華,王煒立.ADO.NET數(shù)據(jù)訪問技術(shù)[M].北京:清華大學(xué)出版社,2016.
The Design and Implementation of Intelligent Roll Calling System Based on C#
WANG Hui,ZHAO Wuming
(Mechanical and Electronic Engineering Department,Jiuzhou Polytechnic,Xuzhou Jiangsu 221116,China)
s:Attendance checking and question asking are essential parts in university classroom. In order to improve the security and fairness of students' attendance data and help teachers get rid of tedious work of reading the name list and keeping the record,this paper introduces an intelligent roll calling system by using C#,which could select the student names from the list,and keep the results of attendance and question answering intelligently. At the end of the semester,the attendance data and achievements of the students are calculated automatically by computer.
C#;intelligent roll calling;voice announcements;automatic results calculation
TP311.52
B
1672-6138(2017)03-0013-04
10.3969/j.issn.1672-6138.2017.03.004
[責(zé)任編輯:曹娜]
2017-05-31
江蘇省高等學(xué)校大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(201612054002Y)。
王惠(1982—),女,江蘇徐州人,講師,研究方向:計(jì)算機(jī)教育、圖像處理與機(jī)器學(xué)習(xí)。