前言:想要寫出一篇引人入勝的文章?我們特意為您整理了程序設(shè)計課堂行為數(shù)據(jù)采集系統(tǒng)探析范文,希望能給你帶來靈感和參考,敬請閱讀。
[摘要]課堂中學(xué)生的行為,直接反映了教學(xué)的精確性和有效性,而程序設(shè)計類課程教師最關(guān)注的學(xué)生課堂行為,則是學(xué)生代碼的編寫。從學(xué)生程序撰寫的行為數(shù)據(jù)出發(fā),搭建數(shù)據(jù)采集系統(tǒng),將學(xué)生有效的輸入代碼的行為數(shù)據(jù)采集后進(jìn)行處理存儲到數(shù)據(jù)庫中,并實時呈現(xiàn)到教師的前端編程開發(fā)環(huán)境,輔助教師開展教學(xué)活動,提高教學(xué)效果。
[關(guān)鍵詞]程序設(shè)計類課程;學(xué)生課堂行為;數(shù)據(jù)采集;教學(xué)改革
在以學(xué)生操作為主的課程中,如程序設(shè)計類課程,學(xué)生普遍存在動手能力不強(qiáng)、主動性不夠等問題。而在教學(xué)過程中,教師往往只能在教室中來回穿行,盡可能督促學(xué)生跟隨教師的教學(xué)思路,一步步完成實踐技能的訓(xùn)練。一旦教師的監(jiān)督力度不夠,則無法保障教學(xué)的質(zhì)量和效率。在高職院校中,課堂教學(xué)的師生比幾乎都在1∶40以上,加上學(xué)生的自覺性更低、實踐能力基礎(chǔ)更薄弱的現(xiàn)狀,在上課過程中實施全面、有力、有效且能夠刺激學(xué)生的教學(xué)監(jiān)控,顯得尤為重要。如何有效地刺激學(xué)生持續(xù)性地學(xué)習(xí),一直是教學(xué)的一大難題。本文根據(jù)這一難題,研究了程序設(shè)計類課程學(xué)生課堂行為數(shù)據(jù)采集系統(tǒng)。以Python程序設(shè)計基礎(chǔ)課程為例,教師建立統(tǒng)一的操作系統(tǒng)環(huán)境,學(xué)生通過瀏覽器登錄操作系統(tǒng),進(jìn)行代碼的輸入、測試和運行等操作,學(xué)生的所有操作數(shù)據(jù)將被行為數(shù)據(jù)采集系統(tǒng)收集匯總后,實時顯示在操作系統(tǒng)環(huán)境中供教師查看,以便及時了解學(xué)生的學(xué)習(xí)狀態(tài),并根據(jù)學(xué)生的學(xué)習(xí)狀態(tài)數(shù)據(jù),及時調(diào)整自己的教學(xué)節(jié)奏和方法。
一、學(xué)生課堂行為數(shù)據(jù)信息
學(xué)生在上課過程中會產(chǎn)生各種隨機(jī)的行為數(shù)據(jù),但是大部分?jǐn)?shù)據(jù)并不能代表學(xué)生的學(xué)習(xí)狀態(tài),也無法表征學(xué)生的學(xué)習(xí)行為。學(xué)生課堂行為數(shù)據(jù)并非指學(xué)生觀看屏幕的時間、抬頭低頭率等參數(shù)指標(biāo),而是能夠直接反映學(xué)生學(xué)習(xí)的行為數(shù)據(jù)信息。同時,在傳統(tǒng)教學(xué)模式下,被認(rèn)為能夠客觀衡量學(xué)生行為的數(shù)據(jù),主要集中在教學(xué)平臺?,F(xiàn)在廣泛使用的教學(xué)平臺,如智慧職教、大學(xué)生慕課、超星學(xué)習(xí)通等,或通過學(xué)生是否完整學(xué)習(xí)課程視頻的數(shù)據(jù)來判斷是否完成學(xué)習(xí)任務(wù),或通過平臺中課程的客觀測試題對學(xué)生進(jìn)行成績評分,這些方法根本無法真正反映學(xué)生的學(xué)習(xí)行為和學(xué)習(xí)效果?,F(xiàn)在的教學(xué)活動,教學(xué)平臺無法對學(xué)生的學(xué)習(xí)行為進(jìn)行客觀判斷和采集,更沒有其他較好的工具或者平臺來采集學(xué)生過程性實踐操作的行為數(shù)據(jù),進(jìn)而對學(xué)生的學(xué)習(xí)活動進(jìn)行過程性的客觀評價。對于程序設(shè)計類課程來說,重在代碼的設(shè)計和實踐操作,編寫代碼的有效行為才是采集行為數(shù)據(jù)信息的目標(biāo)。本文主要針對程序設(shè)計類課程,采集教學(xué)過程中學(xué)生產(chǎn)生的課堂行為數(shù)據(jù)信息。不同班級不同的學(xué)生,他們的課堂行為數(shù)據(jù)在整個課堂教學(xué)過程中不斷發(fā)生變化,在不同的教學(xué)活動中產(chǎn)生不一樣的代碼輸入行為數(shù)據(jù)。學(xué)生課堂行為數(shù)據(jù)采集的信息主要包括以下幾個部分。
(一)學(xué)生相關(guān)信息
教師一般會對不同的班級采用不同的授課方式,且會在一門課程的持續(xù)教學(xué)過程中,根據(jù)學(xué)生的學(xué)習(xí)狀態(tài)和學(xué)習(xí)水平做出動態(tài)的調(diào)整。學(xué)生的課堂行為數(shù)據(jù)采集,基礎(chǔ)信息便是學(xué)生的學(xué)號和姓名,以表征學(xué)生個體。而學(xué)生又是處于不同班級的,除了學(xué)生個體本身,不同班級的橫向?qū)Ρ葦?shù)據(jù)也非常重要,因此,另一個學(xué)生相關(guān)的信息便是其班級信息。
(二)代碼數(shù)據(jù)
程序設(shè)計類課程,最重要的評判學(xué)生行為的指標(biāo),顯然就是學(xué)生在上課過程中能夠積極主動地輸入程序代碼,而將學(xué)生代碼輸入的行為進(jìn)行量化分析,其前提就是定義代碼輸入的行為數(shù)據(jù)。以Python程序設(shè)計基礎(chǔ)為例,一個知識點的教學(xué)活動不管教學(xué)方式如何變化,教學(xué)過程主要分為理論的講解、實踐任務(wù)的下發(fā)、學(xué)生的操作、教師的講解以及學(xué)生的修改。作為編程類課程,學(xué)生針對實踐任務(wù)輸入的代碼以及對代碼的修改是最關(guān)鍵的課堂行為數(shù)據(jù)。首先,學(xué)生會根據(jù)教師下發(fā)的任務(wù),輸入相應(yīng)的原始代碼,每過一定時間數(shù)據(jù)采集系統(tǒng)會定時自動保存學(xué)生輸入的代碼,也可由學(xué)生手動強(qiáng)制保存,所有的代碼都會被存入學(xué)生本地的日志文件中。其次,隨著教師的講解,學(xué)生可能會迭代修改代碼,也有可能會因為原始代碼是正確的,而無需修改。因此,學(xué)生如果修改代碼,所有的最新代碼也會被定時或強(qiáng)制保存,而原本如果學(xué)生輸入的代碼就是正確的,不用根據(jù)教師的講解修改,則可通過代碼運行部分的數(shù)據(jù)體現(xiàn)。根據(jù)課堂教學(xué)實踐任務(wù)的逐步開展,上述行為會被不斷重復(fù)。學(xué)生登錄開發(fā)環(huán)境后所有輸入的代碼都被保存下來,以便進(jìn)行學(xué)生操作數(shù)據(jù)的橫向和縱向?qū)Ρ?。?dāng)然,除了輸入的代碼數(shù)據(jù),運行結(jié)果也是非常重要的。不管是原始輸入的還是修改的代碼,都會被學(xué)生運行,以測試自己輸入的代碼是否正確。一般的,教師下發(fā)的任務(wù)答案是唯一的,所以,不管學(xué)生的代碼如何書寫,運行結(jié)果是否正確,都可以將其與正確答案進(jìn)行對比。因此,代碼運行后的結(jié)果數(shù)據(jù),也將會被保存在本地日志文件中,以便后續(xù)發(fā)送至數(shù)據(jù)庫,被用于分析學(xué)生的實踐操作行為。同時,大部分學(xué)生學(xué)習(xí)Python程序設(shè)計基礎(chǔ)時,并沒有編程基礎(chǔ),在寫程序代碼的過程中,會出現(xiàn)各種各樣的錯誤,有的是語法錯誤,有的是拼寫錯誤,有的是程序邏輯錯誤,不管哪種錯誤,都需要學(xué)生學(xué)會定位自己發(fā)生錯誤的代碼。學(xué)生課堂行為數(shù)據(jù)采集系統(tǒng)的開發(fā)環(huán)境平臺,提供學(xué)生進(jìn)行代碼調(diào)試的工具,可以幫學(xué)生快速找到自己程序異常的原因。因此,代碼調(diào)試的異常提示數(shù)據(jù)也會被保存到本地日志文件中。
(三)代碼的記錄時間與更新時間
為了分析學(xué)生在整個課堂的教學(xué)過程中是否積極主動參與到學(xué)習(xí)中,系統(tǒng)必須一直檢測數(shù)據(jù)的代碼是否有更新。如果個別學(xué)生學(xué)習(xí)懶散,則會出現(xiàn)很長時間的代碼無更新狀態(tài),而當(dāng)學(xué)生已經(jīng)有了程序設(shè)計思路開始動手寫代碼的時候,短時間內(nèi)有較高的代碼更新率。因此,采集學(xué)生代碼不同的更新時間,會直接反映學(xué)生的學(xué)習(xí)狀態(tài)和效率。在寫入日志文件時,學(xué)生課堂行為數(shù)據(jù)其中兩個重要的信息便是:代碼的記錄時間和更新時間,記錄時間是上一次更新代碼時記錄下來的時間。根據(jù)上述需要采集的學(xué)生課堂行為數(shù)據(jù)信息,本文研究了基于Python編程環(huán)境,并兼容C、C++等主流編程語言環(huán)境的學(xué)生課堂行為數(shù)據(jù)采集系統(tǒng)。
二、數(shù)據(jù)采集系統(tǒng)的研究
本文研究的學(xué)生課堂行為數(shù)據(jù)采集系統(tǒng),基于Python程序設(shè)計基礎(chǔ)課程,部署了學(xué)生的Python開發(fā)系統(tǒng)環(huán)境,學(xué)生使用自己的學(xué)號和姓名登錄開發(fā)系統(tǒng)。根據(jù)教學(xué)內(nèi)容的不同,學(xué)生在課堂中可能會在自己獨立的開發(fā)環(huán)境中輸入代碼、調(diào)試代碼以及運行代碼,學(xué)生在該系統(tǒng)中做的這一系列的操作行為數(shù)據(jù)相關(guān)的信息,都將被采集存儲到數(shù)據(jù)庫中。后臺系統(tǒng)將數(shù)據(jù)呈現(xiàn)在前臺供教師實時觀看,幫助其及時了解學(xué)生的學(xué)習(xí)狀態(tài)和自己的教學(xué)效果,以做出實時的教學(xué)內(nèi)容和方式的調(diào)整。課堂行為數(shù)據(jù)采集系統(tǒng),主要有學(xué)生端、前端接入、后臺處理以及數(shù)據(jù)庫組成,其具體結(jié)構(gòu)如圖所示。數(shù)據(jù)采集系統(tǒng)不同的模塊負(fù)責(zé)不同的功能,前端接入產(chǎn)生原始的學(xué)生行為數(shù)據(jù),數(shù)據(jù)監(jiān)控則將原始數(shù)據(jù)同步上傳,數(shù)據(jù)管理對上傳后的數(shù)據(jù)處理后存儲到數(shù)據(jù)庫中。
(一)前端接入
前端接入主要是學(xué)生、教師或管理員通過自己主機(jī)的瀏覽器,使用HTTP協(xié)議與數(shù)據(jù)監(jiān)控模塊的Web服務(wù)端通信,進(jìn)入自己賬號對應(yīng)的獨立的編程語言開發(fā)環(huán)境。不管教師還是學(xué)生,都可以通過自己的瀏覽器登錄數(shù)據(jù)采集系統(tǒng),但是不同的用戶擁有不同的賬號,不同的賬號對應(yīng)不同的權(quán)限。教師通過自己的工號登錄,分配的是管理員權(quán)限。教師登錄后,可以進(jìn)行創(chuàng)建任務(wù)、下發(fā)任務(wù),查看學(xué)生代碼輸入的實時數(shù)據(jù)等操作。而學(xué)生使用自己的學(xué)號作為用戶名登錄,只有普通用戶的權(quán)限,可以接受教師下發(fā)的任務(wù),根據(jù)任務(wù)在環(huán)境中輸入完成不同教學(xué)任務(wù)對應(yīng)的程序代碼。除了不同用戶的權(quán)限,前端環(huán)境也保障了每個用戶的獨立編程環(huán)境,相互之間互不影響。不同的用戶登錄系統(tǒng),都會從后臺拉取鏡像單獨運行,在本地終端形成自己的類似容器的環(huán)境。用戶所在的開發(fā)環(huán)境,只會記錄本用戶的所有數(shù)據(jù),安全獨立,運行可靠。學(xué)生每個人的課堂行為數(shù)據(jù)相關(guān)的信息,都會被保存在本地終端環(huán)境的日志文件中,以供后臺進(jìn)行數(shù)據(jù)采集。
(二)數(shù)據(jù)監(jiān)控
數(shù)據(jù)監(jiān)控是數(shù)據(jù)采集系統(tǒng)最基礎(chǔ)也是最重要的模塊,不僅要保障前端接入后用戶的正常運行,還要將前端數(shù)據(jù)采集后與數(shù)據(jù)處理模塊進(jìn)行交互,并進(jìn)行實時顯示。運行環(huán)境部署模塊,部署了具體課程所需的編程環(huán)境,Python程序設(shè)計基礎(chǔ)課程使用Python語言,因此,該模塊會將Python開發(fā)環(huán)境所需的編輯器、解釋器和調(diào)試器都進(jìn)行統(tǒng)一部署,讓教師和學(xué)生方便地使用基礎(chǔ)資源,產(chǎn)生原始的行為數(shù)據(jù)。Web服務(wù)端和用戶權(quán)限管理模塊,是密不可分的。前端接入通過HTTP協(xié)議與Web服務(wù)端進(jìn)行通信,提供所有用戶以Web瀏覽器的方式接入,直面程序開發(fā)環(huán)境;用戶權(quán)限模塊則提供了基本的權(quán)限分配,實現(xiàn)學(xué)生與學(xué)生之間的用戶權(quán)限隔離,方便對每個學(xué)生的個人行為操作數(shù)據(jù)進(jìn)行管理,也實現(xiàn)了教師對整個班級的數(shù)據(jù)的觀測。日志模塊則是核心模塊,所有學(xué)生在各自終端環(huán)境的日志文件觸發(fā)上傳事件時,這些文件都會被同步上傳到該模塊。由于學(xué)生會保存相同的代碼,或者定期保存的代碼并無變化,因此,只有當(dāng)學(xué)生本地的日志文件修改內(nèi)容大于指定的最小修改閾值,才會觸發(fā)日志文件的上傳,而上傳的所有學(xué)生行為數(shù)據(jù),才是最終日志模塊采集的有效數(shù)據(jù)。數(shù)據(jù)實時顯示模塊,則是將數(shù)據(jù)管理模塊中處理后的數(shù)據(jù)實時顯示返回前端,供教師或者管理員用戶查看,讓教師和學(xué)生通過該系統(tǒng)真正提高自己的教與學(xué)的最終效果。
(三)數(shù)據(jù)管理與數(shù)據(jù)庫
數(shù)據(jù)管理模塊將數(shù)據(jù)監(jiān)控采集的學(xué)生課堂行為數(shù)據(jù)進(jìn)行處理后存入數(shù)據(jù)庫。學(xué)生行為管理模塊,主要針對教師,管理班級學(xué)生的有效輸入行為;用戶日志收集模塊,則收集不同班級、不同學(xué)生的數(shù)據(jù)監(jiān)控中上傳的原生數(shù)據(jù);事件管理模塊則對收集的日志數(shù)據(jù)進(jìn)行過濾處理,去除無效的過程性行為數(shù)據(jù),保障數(shù)據(jù)存儲的高效性。數(shù)據(jù)管理模塊將處理后的數(shù)據(jù)存放到數(shù)據(jù)庫中,供管理員后續(xù)的進(jìn)一步的使用和分析。學(xué)生個體在時間維度上,其數(shù)據(jù)是一直在變化的,學(xué)生在課堂中的有效行為數(shù)據(jù)并不多,通過本文的學(xué)生課堂行為數(shù)據(jù)采集系統(tǒng),采集學(xué)生在特定的操作行為產(chǎn)生的有效數(shù)據(jù),將學(xué)生的代碼輸入行為進(jìn)行真實有效的記錄,并通過數(shù)據(jù)的處理顯示,讓教師實時快速調(diào)整自己的教學(xué)目標(biāo)、教學(xué)內(nèi)容或教學(xué)方式,達(dá)到最佳的教學(xué)成效。
三、結(jié)論
信息化教學(xué)已經(jīng)在現(xiàn)代教學(xué)領(lǐng)域占據(jù)了非常重要的地位。綜合使用云計算、數(shù)據(jù)分析等技術(shù)建立的學(xué)生課堂行為數(shù)據(jù)采集系統(tǒng),不僅將學(xué)生在課堂中的有效編程行為數(shù)據(jù)信息保存下來,實時地反映課堂中的學(xué)生學(xué)習(xí)狀態(tài),有利于完善教師和學(xué)生的教學(xué)活動,更提供了對不同年級、不同班級、不同學(xué)生個體橫向和縱向行為數(shù)據(jù)分析的可能性,對教學(xué)改革有著較為深遠(yuǎn)的作用和意義。
作者:虞菊花 常興治 陶亞輝 單位:常州信息職業(yè)技術(shù)學(xué)院 軟件與大數(shù)據(jù)學(xué)院