用于編程教學的基于用戶行為分析的信息交互方法與系統的制作方法
【專利摘要】本發明公開一種用于編程教學的基于用戶行為分析的信息交互方法與系統。該方法包括:為用戶提供初始化的引導信息,引導用戶開始輸入;監聽用戶的輸入行為,當用戶輸入行為停止時,提取并匹配用戶輸入的內容是否符合預期輸入要求;若不符合要求,提示用戶輸入內容有誤或者提供進一步的引導提示,直至用戶糾正輸入內容;當用戶按照引導步驟完成所有輸入要求時,視為完成課程。該系統包括程序開發環境子系統、初始化引導子系統、反饋引導子系統、輸入監測子系統、信息分析子系統、形式驗證子系統、錯誤分析子系統。本發明為用戶提供了一個效率高、互動性和趣味性強的信息交互和學習平臺,能夠有效地將知識點傳遞給學習的用戶。
【專利說明】用于編程教學的基于用戶行為分析的信息交互方法與系統
【技術領域】
[0001]本發明涉及大規模在線教育、計算機教育和程序分析與程序驗證的【技術領域】,具體涉及一種用于編程教學的基于用戶行為分析的信息交互方法與系統。
【背景技術】
[0002]隨著互聯網的快速普及,人們對于教育的渴求達到了前所未有的強度,教和學也可以不再受時間、空間和地點條件的限制,知識獲取的渠道更加靈活和多樣化。現有的線下教育形式受限于場地、資源等因素,已經無法滿足市場的需求;基于互聯網的視頻相關模式的教育形式,在彌補大規模教育需求缺口的同時,也暴露出了缺乏參與性和互動性,難以確保教學質量的問題。特別針對程序設計一類對實踐性要求很高的技能的學習過程,傳統教學方法暴露出了學習過程中信息接受率低和理論遠遠多于實踐的問題。因此,針對程序設計這一特定技能領域,設計一種帶有強參與性的,通過收集相關行為數據,提供實時的帶有互動性的反饋式教育方法和系統變得格外迫切。
[0003]針對不同程序設計課程的需求給出相應的引導,讓學生可以跟隨引導,輸入程序,基于已經相對成熟的編程語言分析的技術,學生的程序設計學習情況可以得到實時的監控和反饋。在這一系統中,被動接受過程變成了由學生進行主動探索和實踐的過程,整個教學過程在給定學習引導的情況下可以完全不需要更多人的參與,同時,這一過程也不受到參與人數的限制,由于對于每個個體來說,一人和多人參與這個過程,體驗到的教學感受是一致的。這種方法和系統強化了參與性,增進了學生對知識接收和吸納的效果。
【發明內容】
[0004]本發明的目的是實現一種用于編程教學的基于用戶行為分析的信息交互方法與系統,根據用戶的輸入內容,并結合實時反饋機制來增強互動,為編程愛好者和計算機相關領域學生提供一個效率高、趣味性強的信息交互和學習平臺。
[0005]本發明的目的是通過以下技術方案實現的:
[0006]一種用于編程教學的基于用戶行為分析的信息交互方法,其步驟包括:
[0007]I)為用戶提供初始化的引導信息,并且引導用戶開始輸入;
[0008]2)監聽用戶的輸入行為,根據用戶的輸入狀態和輸入結果采取不同的處理方式,若存在輸入行為,則繼續監聽,直至用戶停止輸入行為;
[0009]3)當用戶輸入行為停止時,開始對用戶輸入的內容進行分析,提取并匹配用戶輸入的內容是否符合預期輸入要求;
[0010]4)若匹配結果不符合要求,則提示用戶輸入內容有誤或者提供進一步的引導提示,直至用戶糾正輸入內容,使之符合要求;
[0011]5)重復執行上述步驟,當用戶按照引導步驟完成所有輸入要求時,即可視為完成課程,系統將引導進入下一個學習內容。
[0012]進一步地,步驟I)中,初始化的引導信息包括:用于被用戶閱讀的信息、用于告知用戶所需輸入內容的提示信息、用于告知用戶易錯點的提示信息、用于檢測輸入內容準確性的驗證文法信息等。
[0013]進一步地,步驟2)中,利用系統對鍵盤操作的監聽函數來檢測用戶是否處于輸入狀態。如果用戶每兩次輸入行為的中間時間間隔小于系統設定的默認間隔時長,則認為用戶正在輸入中,系統繼續保持監聽狀態;否則認為用戶已停止輸入,此時系統將停止監聽,開始進入對用戶輸入內容提取和匹配的過程。
[0014]進一步地,步驟3)中,根據初始化過程獲取的驗證文法來驗證用戶當前的已輸入信息。
[0015]進一步地,步驟3)中,將用戶輸入內容中每一個節點位置的信息與相同位置的驗證文法進行匹配,從字符串開始位置開始進行子串匹配,根據匹配到的最大的子串長度,來決定需要更新的提示內容信息。
[0016]進一步地,步驟3)中,系統在驗證每一個節點的信息時,均采用正則表達式的文法驗證規則,將節點信息拆分成有序子節點,再按照順序分別予以驗證,在該節點中所有子節點均被驗證有效后,可認為該節點被成功驗證。
[0017]進一步地,步驟4)中,在系統返回錯誤提示的情況下,用戶需要按照要求修正自己的輸入內容,從而讓系統重新匹配并返回結果。
[0018]進一步地,步驟5)中,系統在驗證每一個Token后,如果存在未被驗證的Token,則提醒用戶對于這一項Token的驗證信息不正確;直到全部Token均被驗證且無誤,系統將認為用戶完成了全部要求輸入的內容,允許用戶通過這一節課程,進入下一節課程。
[0019]一種采用上述方法的用于編程教學的基于用戶行為分析的信息交互系統,包括:
[0020]程序開發環境子系統,為用戶提供在線渲染的編程環境,供用戶進行編程輸入;
[0021]初始化引導子系統,接收來服務器端的課程初始化的引導信息用于引導用戶進行輸入;
[0022]反饋引導子系統,接收來自服務器端的形式驗證子系統的引導信息和/或來自錯誤分析子系統的錯誤提示,并顯示給用戶;
[0023]輸入監測子系統,監聽用戶的輸入行為,在用戶停止輸入行為達到指定時間長度后,向信息分析子系統發送程序分析請求;
[0024]信息分析子系統,提取客戶端的代碼編輯框區域的內容,將其轉換成特殊的標記點的集合,并且將標記點集合組成多層次的有序和無序的數組;
[0025]還包括形式驗證子系統和/或錯誤分析子系統,其中:
[0026]形式驗證子系統接收來自信息分析子系統的標記點集合,將傳遞過來的標記點與數據庫中存儲的程序形式語義樹進行深度優先匹配驗證,當語義樹種的子樹被完全匹配后,將子樹根節點的對應的引導信息返回給反饋引導子系統;
[0027]錯誤分析子系統接收來自信息分析子系統的標記點集合,通過語法的錯誤檢測,形成需要糾正的內容和錯誤提示并返回給反饋引導子系統。
[0028]其中,程序開發環境子系統、初始化引導子系統、反饋引導子系統、輸入監測子系統應用于客戶端;信息分析子系統、形式驗證子系統、錯誤分析子系統既可以應用于客戶端,也可以應用于服務器端。
[0029]進一步地,所述信息分析子系統包括:關鍵字提取模塊,用于將程序中的關鍵字進行序列化;詞法分析模塊,用于關鍵字的詞法關系進行組合,生成有序和無序的數組。
[0030]本發明的基于用戶行為分析的信息交互方法與系統,用戶可以在無教師的條件下進行學習。本發明能夠根據用戶的輸入內容,并結合實時反饋機制來增強互動,為編程愛好者、計算機相關領域學生等用戶提供一個效率高、互動性和趣味性強的信息交互和學習平臺,能夠有效地將知識點傳遞給學習的用戶。
【專利附圖】
【附圖說明】
[0031]圖1為實施例中用于編程教學的基于用戶行為分析的信息交互方法的流程圖;
[0032]圖2為實施例中展示用戶與系統交互的信息流示意圖;
[0033]圖3為實施例中初始化過程的示意圖;
[0034]圖4為實施例中各子系統信息交互過程的示意圖;
[0035]圖5為實施例中用戶輸入行為分析過程的示意圖;
[0036]圖6為實施例中引導信息初始化的效果圖;
[0037]圖7為實施例中分析用戶輸入信息并更新引導信息的效果圖;
[0038]圖8為實施例中的用戶全部通過的效果圖。
【具體實施方式】
[0039]為使本發明的上述目的、特征和優點能夠更加明顯易懂,下面通過具體實施例和附圖,對本發明做進一步說明。
[0040]圖1為本發明方法的流程圖,圖2為展示用戶與系統交互的信息流示意圖。如圖1和圖2所示,該方法主要包括以下步驟:
[0041]步驟11,初始化引導子系統為用戶提供初始化的引導信息并提醒用戶進行輸入。
[0042]圖3為初始化過程的示意圖,如該圖所示,主要包括如下步驟:
[0043]步驟111,初始化引導子系統根據學生A選擇的學習請求編號,請求從數據庫服務器中獲取該編號對應的學習記錄信息;
[0044]步驟112,初始化引導子系統查看學生A的學習記錄信息,返回推薦的課程X及其具體信息,包括閱讀提示信息和待驗證文法信息;
[0045]圖6為引導信息初始化顯示的效果圖,如該圖所示,主要包括如下步驟:
[0046]步驟113,初始化引導子系統查看是否需要對編輯框內的代碼文本進行初始化,如果需要初始化代碼,則在學生A輸入內容前將引導區域信息和編輯框中的數據與樣式顯示出來;否則,就只需要對引導區域信息進行初始化并且顯示出來;
[0047]步驟114,學生A查看系統的顯示區域,根據引導區域的閱讀內容來決定輸入的代碼內容,輸入監測子系統監聽學生A的輸入行為,信息分析子系統獲取到學生A的輸入數據。
[0048]步驟12,錯誤分析子系統檢測出用戶輸入內容的錯誤并且提供需要糾正的內容和進一步的提示,以便用戶可以更好地理解引導區域所講述的知識點。
[0049]如圖1和圖4所示,其中主要包括如下步驟:
[0050]步驟121,當輸入監測子系統監聽到用戶停止輸入行為時,會獲取到用戶輸入的內容,并且提交給信息分析子系統;
[0051]步驟122,信息分析子系統分別對用戶輸入的內容進行錯誤分析和形式驗證,然后將錯誤分析結果返回給錯誤分析子系統;
[0052]步驟123,根據信息分析子系統返回的錯誤信息,錯誤分析子系統判斷該錯誤信息的類別,來決定對該錯誤信息的處理方式,錯誤分析子系統將處理結果返回給反饋引導子系統;
[0053]步驟124,反饋引導子系統將反饋信息顯示出來,用戶會得到新的更為具體的提示信息,可以使用戶按照新的提示信息調整自己的輸入內容;
[0054]步驟125,如果反饋引導子系統的返回結果存在錯誤信息,用戶界面會顯示錯誤信息;
[0055]步驟126,如果反饋引導子系統的返回結果存在引導信息,用戶界面的引導區域會更新內容,為用戶提供更具體的引導信息。
[0056]步驟13,信息分析子系統將不斷引導用戶進行輸入,并且在引導用戶依次輸入正確內容后,會告知用戶已經完成當前課程的學習。
[0057]其中主要包括如下步驟:
[0058]步驟131,當輸入監測子系統監聽到用戶的輸入行為停止時,信息分析子系統會獲取代碼編輯框中的內容;
[0059]圖5為信息分析子系統對用戶輸入內容分析過程的示意圖,如該圖所示,主要包括如下步驟:
[0060]步驟132,信息分析子系統中的關鍵字提取模塊會將初始化引導子系統返回的待驗證文法信息拆分成需要驗證的Token子節點,并且將Token子節點組成有序或者無序的數組;
[0061]步驟133,信息分析子系統之后把Token數組傳遞給形式驗證子系統,形式驗證子系統對傳遞過來的Token數組進行拆分,并將每一個拆分出來的元素依次與信息分析子系統獲取到的用戶輸入內容進行匹配;
[0062]步驟134,匹配方式如下:查看某一個拆分出來的Token里面包含的節點信息,該節點信息以正則匹配表達式的形式存在;
[0063]步驟135,形式驗證子系統分別獲取到當前用戶輸入內容及Token節點信息,對二者進行匹配,并返回匹配結果;
[0064]步驟136,如果返回的匹配結果是正確匹配結果,則將該Token節點位置的狀態標記為正確匹配狀態;否則將該節點位置標記為未正確匹配狀態;
[0065]步驟137,在將信息分析子系統傳遞給形式驗證子系統的待驗證Token數組中的每一個元素的狀態都驗證后,會得到一個與該Token數組長度相同的狀態信息字符串,形式驗證子系統會把該狀態列表信息返回到客戶端;
[0066]圖7為一個分析用戶輸入信息并更新引導信息的效果圖,如該圖所示,包括以下步驟:
[0067]步驟138,客戶端根據形式驗證子系統返回的狀態值,采取不同的處理方式;
[0068]步驟139,如圖4所示,如果形式驗證子系統對當前知識點的驗證結果正確,則反饋引導子系統將用戶引導區域的內容進行更換,引導用戶進入下一條知識點;
[0069]步驟1310,直到形式驗證子系統正確匹配全部Token節點,反饋引導子系統將用戶引導區域內容引導到結束部分的信息,提示用戶驗證過程已經完成;
[0070]圖8為本發明的一個實施例的用戶通過全部驗證后的效果圖,如該圖所示,包括以下步驟:
[0071]步驟1311,反饋引導子系統告知用戶可以在程序開發環境子系統中對自己輸入的代碼內容進行操作;
[0072]步驟1312,用戶在程序開發子系統中運行代碼,與程序進行互動或者查看代碼運行結果;
[0073]步驟1313,用戶可以修改代碼編輯框中的內容,并且重新經過形式驗證子系統的驗證過程通過后,運行修改后的代碼。
[0074]以上實施例僅用以說明本發明的技術方案而非對其進行限制,本領域的普通技術人員可以對本發明的技術方案進行修改或者等同替換,而不脫離本發明的精神和范圍,本發明的保護范圍應以權利要求所述為準。
【權利要求】
1.一種用于編程教學的基于用戶行為分析的信息交互方法,其步驟包括: 1)為用戶提供初始化的引導信息,并且引導用戶開始輸入; 2)監聽用戶的輸入行為,根據用戶的輸入狀態和輸入結果采取不同的處理方式,若存在輸入行為,則繼續監聽,直至用戶停止輸入行為; 3)當用戶輸入行為停止時,開始對用戶輸入的內容進行分析,提取并匹配用戶輸入的內容是否符合預期輸入要求; 4)若匹配結果不符合要求,則提示用戶輸入內容有誤或者提供進一步的引導提示,直至用戶糾正輸入內容,使之符合要求; 5)重復執行上述步驟,當用戶按照引導步驟完成所有輸入要求時,即可視為完成課程,系統將引導進入下一個學習內容。
2.如權利要求1所述的方法,其特征在于:步驟I)中,初始化的引導信息包括:用于被用戶閱讀的信息、用于告知用戶所需輸入內容的提示信息、用于告知用戶易錯點的提示信息、用于檢測輸入內容準確性的驗證文法信息。
3.如權利要求1所述的方法,其特征在于:步驟2)中,利用系統對鍵盤操作的監聽函數,來檢測用戶是否處于輸入狀態;如果用戶每兩次輸入行為的中間時間間隔小于系統設定的默認間隔時長,則認為用戶正在輸入中,系統繼續保持監聽狀態;否則認為用戶已停止輸入,此時系統將停止監聽,開始進入對用戶輸入內容提取和匹配的過程。
4.如權利要求1所述的方法,其特征在于:步驟3)中,根據初始化過程獲取的驗證文法,來驗證用戶當前的已輸入信息。
5.如權利要求4所述的方法,其特征在于:步驟3)中,將用戶輸入內容中每一個節點位置的信息與相同位置的驗證文法進行匹配,從字符串開始位置開始進行子串匹配,根據匹配到的最大的子串長度,來決定需要更新的提示內容信息。
6.如權利要求5所述的方法,其特征在于:步驟3)中,在驗證每一個節點的信息時,均采用正則表達式的文法驗證規則,將節點信息拆分成有序子節點,再按照順序分別予以驗證,在該節點中所有子節點均被驗證有效后,可認為該節點被成功驗證。
7.如權利要求1所述的方法,其特征在于:步驟4)中,在系統返回錯誤提示的情況下,用戶需要按照要求修正自己的輸入內容,從而讓系統重新匹配并返回結果。
8.如權利要求1所述的方法,其特征在于:步驟5)中,在驗證每一個Token后,如果存在未被驗證的Token,則提醒用戶對于這一項Token的驗證信息不正確;直到全部Token均被驗證且無誤,系統將認為用戶完成了全部要求輸入的內容,允許用戶通過這一節課程,進入下一節課程。
9.一種采用權利要求1所述方法的用于編程教學的基于用戶行為分析的信息交互系統,其特征在于,包括: 程序開發環境子系統,為用戶提供在線渲染的編程環境,供用戶進行編程輸入; 初始化引導子系統,接收來服務器端的課程初始化的引導信息用于引導用戶進行輸A ; 反饋引導子系統,接收來自服務器端的形式驗證子系統的引導信息和/或來自錯誤分析子系統的錯誤提示,并顯示給用戶; 輸入監測子系統,監聽用戶的輸入行為,在用戶停止輸入行為達到指定時間長度后,向信息分析子系統發送程序分析請求; 信息分析子系統,提取客戶端的代碼編輯框區域的內容,將其轉換成特殊的標記點的集合,并且將標記點集合組成多層次的有序和無序的數組; 還包括形式驗證子系統和/或錯誤分析子系統,其中: 形式驗證子系統接收來自信息分析子系統的標記點集合,將傳遞過來的標記點與數據庫中存儲的程序形式語義樹進行深度優先匹配驗證,當語義樹種的子樹被完全匹配后,將子樹根節點對應的引導信息返回給反饋引導子系統; 錯誤分析子系統接收來自信息分析子系統的標記點集合,通過語法的錯誤檢測,形成需要糾正的內容和錯誤提示并返回給反饋引導子系統。
10.如權利要求9所述的系統,其特征在于:程序開發環境子系統、初始化引導子系統、反饋引導子系統、輸入監測子系統應用于客戶端;信息分析子系統、形式驗證子系統、錯誤分析子系統應用于客戶端或者應用于服務器端。
【文檔編號】G09B5/14GK104239032SQ201410363739
【公開日】2014年12月24日 申請日期:2014年7月28日 優先權日:2014年7月28日
【發明者】俞昊然 申請人:俞昊然