公務(wù)員期刊網(wǎng) 論文中心 正文

程序設(shè)計(jì)課堂行為數(shù)據(jù)采集系統(tǒng)探析

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了程序設(shè)計(jì)課堂行為數(shù)據(jù)采集系統(tǒng)探析范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。

程序設(shè)計(jì)課堂行為數(shù)據(jù)采集系統(tǒng)探析

[摘要]課堂中學(xué)生的行為,直接反映了教學(xué)的精確性和有效性,而程序設(shè)計(jì)類課程教師最關(guān)注的學(xué)生課堂行為,則是學(xué)生代碼的編寫。從學(xué)生程序撰寫的行為數(shù)據(jù)出發(fā),搭建數(shù)據(jù)采集系統(tǒng),將學(xué)生有效的輸入代碼的行為數(shù)據(jù)采集后進(jìn)行處理存儲(chǔ)到數(shù)據(jù)庫中,并實(shí)時(shí)呈現(xiàn)到教師的前端編程開發(fā)環(huán)境,輔助教師開展教學(xué)活動(dòng),提高教學(xué)效果。

[關(guān)鍵詞]程序設(shè)計(jì)類課程;學(xué)生課堂行為;數(shù)據(jù)采集;教學(xué)改革

在以學(xué)生操作為主的課程中,如程序設(shè)計(jì)類課程,學(xué)生普遍存在動(dòng)手能力不強(qiáng)、主動(dòng)性不夠等問題。而在教學(xué)過程中,教師往往只能在教室中來回穿行,盡可能督促學(xué)生跟隨教師的教學(xué)思路,一步步完成實(shí)踐技能的訓(xùn)練。一旦教師的監(jiān)督力度不夠,則無法保障教學(xué)的質(zhì)量和效率。在高職院校中,課堂教學(xué)的師生比幾乎都在1∶40以上,加上學(xué)生的自覺性更低、實(shí)踐能力基礎(chǔ)更薄弱的現(xiàn)狀,在上課過程中實(shí)施全面、有力、有效且能夠刺激學(xué)生的教學(xué)監(jiān)控,顯得尤為重要。如何有效地刺激學(xué)生持續(xù)性地學(xué)習(xí),一直是教學(xué)的一大難題。本文根據(jù)這一難題,研究了程序設(shè)計(jì)類課程學(xué)生課堂行為數(shù)據(jù)采集系統(tǒng)。以Python程序設(shè)計(jì)基礎(chǔ)課程為例,教師建立統(tǒng)一的操作系統(tǒng)環(huán)境,學(xué)生通過瀏覽器登錄操作系統(tǒng),進(jìn)行代碼的輸入、測(cè)試和運(yùn)行等操作,學(xué)生的所有操作數(shù)據(jù)將被行為數(shù)據(jù)采集系統(tǒng)收集匯總后,實(shí)時(shí)顯示在操作系統(tǒng)環(huán)境中供教師查看,以便及時(shí)了解學(xué)生的學(xué)習(xí)狀態(tài),并根據(jù)學(xué)生的學(xué)習(xí)狀態(tài)數(shù)據(jù),及時(shí)調(diào)整自己的教學(xué)節(jié)奏和方法。

一、學(xué)生課堂行為數(shù)據(jù)信息

學(xué)生在上課過程中會(huì)產(chǎn)生各種隨機(jī)的行為數(shù)據(jù),但是大部分?jǐn)?shù)據(jù)并不能代表學(xué)生的學(xué)習(xí)狀態(tài),也無法表征學(xué)生的學(xué)習(xí)行為。學(xué)生課堂行為數(shù)據(jù)并非指學(xué)生觀看屏幕的時(shí)間、抬頭低頭率等參數(shù)指標(biāo),而是能夠直接反映學(xué)生學(xué)習(xí)的行為數(shù)據(jù)信息。同時(shí),在傳統(tǒng)教學(xué)模式下,被認(rèn)為能夠客觀衡量學(xué)生行為的數(shù)據(jù),主要集中在教學(xué)平臺(tái)?,F(xiàn)在廣泛使用的教學(xué)平臺(tái),如智慧職教、大學(xué)生慕課、超星學(xué)習(xí)通等,或通過學(xué)生是否完整學(xué)習(xí)課程視頻的數(shù)據(jù)來判斷是否完成學(xué)習(xí)任務(wù),或通過平臺(tái)中課程的客觀測(cè)試題對(duì)學(xué)生進(jìn)行成績?cè)u(píng)分,這些方法根本無法真正反映學(xué)生的學(xué)習(xí)行為和學(xué)習(xí)效果?,F(xiàn)在的教學(xué)活動(dòng),教學(xué)平臺(tái)無法對(duì)學(xué)生的學(xué)習(xí)行為進(jìn)行客觀判斷和采集,更沒有其他較好的工具或者平臺(tái)來采集學(xué)生過程性實(shí)踐操作的行為數(shù)據(jù),進(jìn)而對(duì)學(xué)生的學(xué)習(xí)活動(dòng)進(jìn)行過程性的客觀評(píng)價(jià)。對(duì)于程序設(shè)計(jì)類課程來說,重在代碼的設(shè)計(jì)和實(shí)踐操作,編寫代碼的有效行為才是采集行為數(shù)據(jù)信息的目標(biāo)。本文主要針對(duì)程序設(shè)計(jì)類課程,采集教學(xué)過程中學(xué)生產(chǎn)生的課堂行為數(shù)據(jù)信息。不同班級(jí)不同的學(xué)生,他們的課堂行為數(shù)據(jù)在整個(gè)課堂教學(xué)過程中不斷發(fā)生變化,在不同的教學(xué)活動(dòng)中產(chǎn)生不一樣的代碼輸入行為數(shù)據(jù)。學(xué)生課堂行為數(shù)據(jù)采集的信息主要包括以下幾個(gè)部分。

(一)學(xué)生相關(guān)信息

教師一般會(huì)對(duì)不同的班級(jí)采用不同的授課方式,且會(huì)在一門課程的持續(xù)教學(xué)過程中,根據(jù)學(xué)生的學(xué)習(xí)狀態(tài)和學(xué)習(xí)水平做出動(dòng)態(tài)的調(diào)整。學(xué)生的課堂行為數(shù)據(jù)采集,基礎(chǔ)信息便是學(xué)生的學(xué)號(hào)和姓名,以表征學(xué)生個(gè)體。而學(xué)生又是處于不同班級(jí)的,除了學(xué)生個(gè)體本身,不同班級(jí)的橫向?qū)Ρ葦?shù)據(jù)也非常重要,因此,另一個(gè)學(xué)生相關(guān)的信息便是其班級(jí)信息。

(二)代碼數(shù)據(jù)

程序設(shè)計(jì)類課程,最重要的評(píng)判學(xué)生行為的指標(biāo),顯然就是學(xué)生在上課過程中能夠積極主動(dòng)地輸入程序代碼,而將學(xué)生代碼輸入的行為進(jìn)行量化分析,其前提就是定義代碼輸入的行為數(shù)據(jù)。以Python程序設(shè)計(jì)基礎(chǔ)為例,一個(gè)知識(shí)點(diǎn)的教學(xué)活動(dòng)不管教學(xué)方式如何變化,教學(xué)過程主要分為理論的講解、實(shí)踐任務(wù)的下發(fā)、學(xué)生的操作、教師的講解以及學(xué)生的修改。作為編程類課程,學(xué)生針對(duì)實(shí)踐任務(wù)輸入的代碼以及對(duì)代碼的修改是最關(guān)鍵的課堂行為數(shù)據(jù)。首先,學(xué)生會(huì)根據(jù)教師下發(fā)的任務(wù),輸入相應(yīng)的原始代碼,每過一定時(shí)間數(shù)據(jù)采集系統(tǒng)會(huì)定時(shí)自動(dòng)保存學(xué)生輸入的代碼,也可由學(xué)生手動(dòng)強(qiáng)制保存,所有的代碼都會(huì)被存入學(xué)生本地的日志文件中。其次,隨著教師的講解,學(xué)生可能會(huì)迭代修改代碼,也有可能會(huì)因?yàn)樵即a是正確的,而無需修改。因此,學(xué)生如果修改代碼,所有的最新代碼也會(huì)被定時(shí)或強(qiáng)制保存,而原本如果學(xué)生輸入的代碼就是正確的,不用根據(jù)教師的講解修改,則可通過代碼運(yùn)行部分的數(shù)據(jù)體現(xiàn)。根據(jù)課堂教學(xué)實(shí)踐任務(wù)的逐步開展,上述行為會(huì)被不斷重復(fù)。學(xué)生登錄開發(fā)環(huán)境后所有輸入的代碼都被保存下來,以便進(jìn)行學(xué)生操作數(shù)據(jù)的橫向和縱向?qū)Ρ?。?dāng)然,除了輸入的代碼數(shù)據(jù),運(yùn)行結(jié)果也是非常重要的。不管是原始輸入的還是修改的代碼,都會(huì)被學(xué)生運(yùn)行,以測(cè)試自己輸入的代碼是否正確。一般的,教師下發(fā)的任務(wù)答案是唯一的,所以,不管學(xué)生的代碼如何書寫,運(yùn)行結(jié)果是否正確,都可以將其與正確答案進(jìn)行對(duì)比。因此,代碼運(yùn)行后的結(jié)果數(shù)據(jù),也將會(huì)被保存在本地日志文件中,以便后續(xù)發(fā)送至數(shù)據(jù)庫,被用于分析學(xué)生的實(shí)踐操作行為。同時(shí),大部分學(xué)生學(xué)習(xí)Python程序設(shè)計(jì)基礎(chǔ)時(shí),并沒有編程基礎(chǔ),在寫程序代碼的過程中,會(huì)出現(xiàn)各種各樣的錯(cuò)誤,有的是語法錯(cuò)誤,有的是拼寫錯(cuò)誤,有的是程序邏輯錯(cuò)誤,不管哪種錯(cuò)誤,都需要學(xué)生學(xué)會(huì)定位自己發(fā)生錯(cuò)誤的代碼。學(xué)生課堂行為數(shù)據(jù)采集系統(tǒng)的開發(fā)環(huán)境平臺(tái),提供學(xué)生進(jìn)行代碼調(diào)試的工具,可以幫學(xué)生快速找到自己程序異常的原因。因此,代碼調(diào)試的異常提示數(shù)據(jù)也會(huì)被保存到本地日志文件中。

(三)代碼的記錄時(shí)間與更新時(shí)間

為了分析學(xué)生在整個(gè)課堂的教學(xué)過程中是否積極主動(dòng)參與到學(xué)習(xí)中,系統(tǒng)必須一直檢測(cè)數(shù)據(jù)的代碼是否有更新。如果個(gè)別學(xué)生學(xué)習(xí)懶散,則會(huì)出現(xiàn)很長時(shí)間的代碼無更新狀態(tài),而當(dāng)學(xué)生已經(jīng)有了程序設(shè)計(jì)思路開始動(dòng)手寫代碼的時(shí)候,短時(shí)間內(nèi)有較高的代碼更新率。因此,采集學(xué)生代碼不同的更新時(shí)間,會(huì)直接反映學(xué)生的學(xué)習(xí)狀態(tài)和效率。在寫入日志文件時(shí),學(xué)生課堂行為數(shù)據(jù)其中兩個(gè)重要的信息便是:代碼的記錄時(shí)間和更新時(shí)間,記錄時(shí)間是上一次更新代碼時(shí)記錄下來的時(shí)間。根據(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è)計(jì)基礎(chǔ)課程,部署了學(xué)生的Python開發(fā)系統(tǒng)環(huán)境,學(xué)生使用自己的學(xué)號(hào)和姓名登錄開發(fā)系統(tǒng)。根據(jù)教學(xué)內(nèi)容的不同,學(xué)生在課堂中可能會(huì)在自己獨(dú)立的開發(fā)環(huán)境中輸入代碼、調(diào)試代碼以及運(yùn)行代碼,學(xué)生在該系統(tǒng)中做的這一系列的操作行為數(shù)據(jù)相關(guān)的信息,都將被采集存儲(chǔ)到數(shù)據(jù)庫中。后臺(tái)系統(tǒng)將數(shù)據(jù)呈現(xiàn)在前臺(tái)供教師實(shí)時(shí)觀看,幫助其及時(shí)了解學(xué)生的學(xué)習(xí)狀態(tài)和自己的教學(xué)效果,以做出實(shí)時(shí)的教學(xué)內(nèi)容和方式的調(diào)整。課堂行為數(shù)據(jù)采集系統(tǒng),主要有學(xué)生端、前端接入、后臺(tái)處理以及數(shù)據(jù)庫組成,其具體結(jié)構(gòu)如圖所示。數(shù)據(jù)采集系統(tǒng)不同的模塊負(fù)責(zé)不同的功能,前端接入產(chǎn)生原始的學(xué)生行為數(shù)據(jù),數(shù)據(jù)監(jiān)控則將原始數(shù)據(jù)同步上傳,數(shù)據(jù)管理對(duì)上傳后的數(shù)據(jù)處理后存儲(chǔ)到數(shù)據(jù)庫中。

(一)前端接入

前端接入主要是學(xué)生、教師或管理員通過自己主機(jī)的瀏覽器,使用HTTP協(xié)議與數(shù)據(jù)監(jiān)控模塊的Web服務(wù)端通信,進(jìn)入自己賬號(hào)對(duì)應(yīng)的獨(dú)立的編程語言開發(fā)環(huán)境。不管教師還是學(xué)生,都可以通過自己的瀏覽器登錄數(shù)據(jù)采集系統(tǒng),但是不同的用戶擁有不同的賬號(hào),不同的賬號(hào)對(duì)應(yīng)不同的權(quán)限。教師通過自己的工號(hào)登錄,分配的是管理員權(quán)限。教師登錄后,可以進(jìn)行創(chuàng)建任務(wù)、下發(fā)任務(wù),查看學(xué)生代碼輸入的實(shí)時(shí)數(shù)據(jù)等操作。而學(xué)生使用自己的學(xué)號(hào)作為用戶名登錄,只有普通用戶的權(quán)限,可以接受教師下發(fā)的任務(wù),根據(jù)任務(wù)在環(huán)境中輸入完成不同教學(xué)任務(wù)對(duì)應(yīng)的程序代碼。除了不同用戶的權(quán)限,前端環(huán)境也保障了每個(gè)用戶的獨(dú)立編程環(huán)境,相互之間互不影響。不同的用戶登錄系統(tǒng),都會(huì)從后臺(tái)拉取鏡像單獨(dú)運(yùn)行,在本地終端形成自己的類似容器的環(huán)境。用戶所在的開發(fā)環(huán)境,只會(huì)記錄本用戶的所有數(shù)據(jù),安全獨(dú)立,運(yùn)行可靠。學(xué)生每個(gè)人的課堂行為數(shù)據(jù)相關(guān)的信息,都會(huì)被保存在本地終端環(huán)境的日志文件中,以供后臺(tái)進(jìn)行數(shù)據(jù)采集。

(二)數(shù)據(jù)監(jiān)控

數(shù)據(jù)監(jiān)控是數(shù)據(jù)采集系統(tǒng)最基礎(chǔ)也是最重要的模塊,不僅要保障前端接入后用戶的正常運(yùn)行,還要將前端數(shù)據(jù)采集后與數(shù)據(jù)處理模塊進(jìn)行交互,并進(jìn)行實(shí)時(shí)顯示。運(yùn)行環(huán)境部署模塊,部署了具體課程所需的編程環(huán)境,Python程序設(shè)計(jì)基礎(chǔ)課程使用Python語言,因此,該模塊會(huì)將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)限分配,實(shí)現(xiàn)學(xué)生與學(xué)生之間的用戶權(quán)限隔離,方便對(duì)每個(gè)學(xué)生的個(gè)人行為操作數(shù)據(jù)進(jìn)行管理,也實(shí)現(xiàn)了教師對(duì)整個(gè)班級(jí)的數(shù)據(jù)的觀測(cè)。日志模塊則是核心模塊,所有學(xué)生在各自終端環(huán)境的日志文件觸發(fā)上傳事件時(shí),這些文件都會(huì)被同步上傳到該模塊。由于學(xué)生會(huì)保存相同的代碼,或者定期保存的代碼并無變化,因此,只有當(dāng)學(xué)生本地的日志文件修改內(nèi)容大于指定的最小修改閾值,才會(huì)觸發(fā)日志文件的上傳,而上傳的所有學(xué)生行為數(shù)據(jù),才是最終日志模塊采集的有效數(shù)據(jù)。數(shù)據(jù)實(shí)時(shí)顯示模塊,則是將數(shù)據(jù)管理模塊中處理后的數(shù)據(jù)實(shí)時(shí)顯示返回前端,供教師或者管理員用戶查看,讓教師和學(xué)生通過該系統(tǒng)真正提高自己的教與學(xué)的最終效果。

(三)數(shù)據(jù)管理與數(shù)據(jù)庫

數(shù)據(jù)管理模塊將數(shù)據(jù)監(jiān)控采集的學(xué)生課堂行為數(shù)據(jù)進(jìn)行處理后存入數(shù)據(jù)庫。學(xué)生行為管理模塊,主要針對(duì)教師,管理班級(jí)學(xué)生的有效輸入行為;用戶日志收集模塊,則收集不同班級(jí)、不同學(xué)生的數(shù)據(jù)監(jiān)控中上傳的原生數(shù)據(jù);事件管理模塊則對(duì)收集的日志數(shù)據(jù)進(jìn)行過濾處理,去除無效的過程性行為數(shù)據(jù),保障數(shù)據(jù)存儲(chǔ)的高效性。數(shù)據(jù)管理模塊將處理后的數(shù)據(jù)存放到數(shù)據(jù)庫中,供管理員后續(xù)的進(jìn)一步的使用和分析。學(xué)生個(gè)體在時(shí)間維度上,其數(shù)據(jù)是一直在變化的,學(xué)生在課堂中的有效行為數(shù)據(jù)并不多,通過本文的學(xué)生課堂行為數(shù)據(jù)采集系統(tǒng),采集學(xué)生在特定的操作行為產(chǎn)生的有效數(shù)據(jù),將學(xué)生的代碼輸入行為進(jìn)行真實(shí)有效的記錄,并通過數(shù)據(jù)的處理顯示,讓教師實(shí)時(shí)快速調(diào)整自己的教學(xué)目標(biāo)、教學(xué)內(nèi)容或教學(xué)方式,達(dá)到最佳的教學(xué)成效。

三、結(jié)論

信息化教學(xué)已經(jīng)在現(xiàn)代教學(xué)領(lǐng)域占據(jù)了非常重要的地位。綜合使用云計(jì)算、數(shù)據(jù)分析等技術(shù)建立的學(xué)生課堂行為數(shù)據(jù)采集系統(tǒng),不僅將學(xué)生在課堂中的有效編程行為數(shù)據(jù)信息保存下來,實(shí)時(shí)地反映課堂中的學(xué)生學(xué)習(xí)狀態(tài),有利于完善教師和學(xué)生的教學(xué)活動(dòng),更提供了對(duì)不同年級(jí)、不同班級(jí)、不同學(xué)生個(gè)體橫向和縱向行為數(shù)據(jù)分析的可能性,對(duì)教學(xué)改革有著較為深遠(yuǎn)的作用和意義。

作者:虞菊花 常興治 陶亞輝 單位:常州信息職業(yè)技術(shù)學(xué)院 軟件與大數(shù)據(jù)學(xué)院

相關(guān)熱門標(biāo)簽