999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

在線可視化編程作業云平臺的設計與應用

2020-09-29 08:46:34張思遠黃劍鋒吳偉民劉添添
實驗技術與管理 2020年7期
關鍵詞:可視化作業功能

蘇 慶,張思遠,黃劍鋒,吳偉民,劉添添

(1. 廣東工業大學 計算機學院,廣東 廣州 510006;2. 廣東工業大學 系統工具與可視計算創新實驗室,廣東 廣州 510006)

計算機編程能力是計算機專業學生的核心專業能力之一,對于學生深入理解專業基礎知識、促進業務素質培養,以及提高就業質量都具有重要意義[1]。然而,當前計算機專業學生的計算機編程能力培養存在以下問題:①學時少。在課程改革、課時壓縮的大背景下,學時變得非常緊張。②學生多、教師少。在擴招的大背景下,師生比例進一步失調,教師無法及時對學生進行一一輔導。③程序調試過程的直觀性差,程序運行時各種數據的關系抽象復雜,導致編程效率低下。

隨著云平臺技術[2-3]的日漸成熟,各類基于云平臺的面向特定用途的教學系統開始陸續建成并投入使用,產生了良好的教學效果[4]。例如,國防科技大學eduCoder平臺(https://www.educoder.net/)是一個基于互聯網的IT教學、實驗、實戰和開發平臺,支持編程作業的自動化評測,實時反饋學生實驗和實訓的錯誤。浙江大學PTA(https://pintia.cn/)程序設計類實驗輔助教學平臺支持多種編程語言的在線編程和代碼抄襲查重。中山大學超算習堂EasyHPC(https://easyhpc.net/)是一個提供高性能計算優質教育內容的在線教育實踐平臺,并提供了面向高性能計算并行程序設計的即寫即用型編程實踐環境。上述平臺都并未支持在線編程調試以及數據關系的可視化展示。

本課題組開發的“在線可視化編程作業云平臺”是一個集編輯、編譯、運行、可視化調試和自動程序測評為一體的在線編程作業環境,學生可在該平臺上在線編寫和可視化調試自己編寫的程序,極大提高了學生程序設計訓練的效率和效果。該平臺將大量作業用時轉移至課外,學生可以自由安排時間進行上機編程作業,破解了上課學時緊張導致課堂訓練量不足的困境;該平臺利用云的可動態擴展特性,低成本地提供了全天候的上機作業環境,并可自動程序測評,緩解了師生比例失調的矛盾;另外,該平臺提供可視化程序調試器,直觀反映程序運行時各種數據的關系,可大大提高編程效率。

1 系統總體設計

“在線可視化編程作業云平臺”目前支持C語言程序設計以及數據結構(C語言版)的編程作業。該平臺采用 C/S架構,包含 AnyviewCe(學生端)和AnyviewSr(服務端)模塊,平臺總體架構如圖1所示。

圖1 平臺總體架構

1.1 學生端設計

學生端用于完成以及提交編程類作業題目,主要功能包括登錄、做題、個人信息管理等,其中做題功能最為重要,包含了打開題目、代碼編輯、編譯、調試、運行等子功能。

登錄后的學生端界面如圖2所示。學生可以首先點擊工具欄中的“題目文檔”按鈕,查看題目的具體要求,然后構思編程思路。在代碼編輯區編寫程序時,該學生端也提供了常用的剪切、復制、粘貼等編輯功能。程序編寫完畢后,即可在編譯、調試和運行工具欄中進行程序編譯,必要時還可以進行可視化調試[5]。

可視化面板實時呈現了運行時數據之間的關系變化過程,這也是學生端提供的最為關鍵的功能。運行時數據結構可視化可以極大地幫助學生理解程序調試過程,不但可以在程序運行過程中觀察數據值的變化,還可以觀察數據之間關系的變化,極大地提高程序效率。

圖2展示了一個正在處理4條鏈表的程序在某一時刻的數據關系快照。從左下方的可視化面板可以看出,最后一條鏈表中的表尾指針指向了第一條鏈表中的某個結點,這是一種需要學生特別關注的情況,它要么是程序實現有錯,要么是正在進行鏈表的部分合并操作。由此可以看出,可視化調試可以幫助學生直觀、快速地觀察當前的數據關系,從而分析當前程序正在執行的功能是否符合預期目的,明顯降低初學者的編程門檻。

圖2 鏈表數據結構可視化舉例

1.2 服務端設計

在線可視化編程作業系統平臺的服務端包含了教師和管理員兩種角色。

1.2.1 教師端功能設計

在教師端中,較為重要的功能位于作業管理子模塊,包括批改作業、綜合評分、成績統計等。

(1)批改作業功能。本編程作業平臺可以對學生答案程序進行正確與否的測定。因此該批改作業功能主要用于以下方面:對于正確的學生答案程序,教師可以對其代碼風格、算法復雜度等方面進行更細致的評述;對于錯誤的學生答案程序(尤其是學生經過反復修改仍然未獲通過的程序,以及班上大面積雷同出錯的程序),教師可以觀察其錯誤原因和類型,在課堂上講解和指導。

(2)綜合評分功能。該功能可以便于教師綜合學生的編程時長、錯誤次數和算法性能等多種因素,給出每一道題的分數值,通常可作為評定平時成績的重要依據。

(3)成績統計功能。該功能對于整個班級進行做題情況的成績分析和統計,便于教師掌握班級整體學習情況,及時調整教學進度與重點難點。

1.2.2 管理端功能設計

在管理端,則側重于提供本編程作業平臺的各類管理功能,其中較為重要的功能集中于校際事務模塊。

(1)題庫管理功能。該功能用于作業題的題庫建立、題目入庫以及編排等。對于不同層次的學校,對作業表的要求會有所差異。例如,職業技術院校更加注重于編程熟練程度,往往需要使用算法設計難度低、但編程量大的題目;對于一般非重點高等工科院校,則需要在編程量和算法設計難度兩方面作出平衡來選擇題目。因此,在該功能中,還包含了題目內部關聯挖掘、處理與推薦等子功能。

(2)校際對比功能。該功能用于同層次的學校之間的編程作業平臺應用情況對比,為加入平臺的學校提供包括題庫設定、作業表設定以及其他相關管理設定的輔助決策支持。另外,該功能還可以讓管理員全面地掌握各學校的平臺應用情況,便于作出平臺資源調配。

2 平臺關鍵技術

本平臺的關鍵技術在學生端和服務端各有側重:學生端關鍵在于可視化調試技術,服務端則是云平臺相關部署技術。

2.1 可視化調試技術

本平臺依據C語言標準使用ANTLR技術[6]快速構建編譯器框架,實現了一個C編譯器的子集,可滿足初學者在大部分情況下進行C程序編程的要求。

在程序執行過程中,數據結構是一種具有時間屬性(由創建到被銷毀的時間周期)的數據。將程序執行過程中的數據關系實時可視化,能增強數據呈現效果,讓用戶以直觀交互的方式對數據進行觀察,從而發現數據中隱藏的特征、關系和模式,可以極大地提高程序調試效率,從而降低編程學習者的學習門檻。因此,本平臺還實現了可視化調試器,為程序執行過程提供了可視化運行環境,其中重點在于各種數據結構的可視化技術[7]。

數據結構可視化從類型上可以分為集合結構可視化、單鏈結構可視化、樹形結構可視化、圖結構可視化等[8]。

(1)集合結構可視化。分為兩種表達形式:一種為常見的一維、二維和三維數組,此時采用順序表的表達形式;另一種為離散集合(在離散數學課程[9]實驗中較為常見),此時則一般采取在二維空間進行離散分布的方式。在實踐應用中發現,后一種方式由于其離散分布造成的元素隨機排列,不便于觀察,因此無論是數組還是集合,多采用順序表形式。

(2)單鏈結構可視化。在程序執行過程中,可能會產生多個結點指向一個結點的情況,此時的單鏈結構不符合單鏈表定義,而且單鏈結構局部發生明顯改變,此時需要學生認真觀察單鏈結構的變化是否與預期相符(如上圖2所示),從而快速理解當前的數據關系,便于調試過程順利進行。

(3)樹形結構和圖結構可視化。從數據結構的角度,樹是圖的一種特例,然而由于其連通無回路的特性,其可視化布局需要專門研究,常見的方法有均分布局法、動態布局法等;圖結構的變化則更加多樣,常見的可視化布局方法有環形布局法、力導向布局法等。

2.2 云平臺部署技術

編程作業過程中將會產生大量的編程數據,包括用戶信息、上機題庫、用戶編程行為數據等,具有數據量大、數據類型復雜的特點,其中用戶編程行為的數據是以非結構化的形式存在的。對編程作業過程的教務管理和作業管理的設計應該具有動態擴展性、準確定位等特點,而傳統存儲技術很難達到這個目的。依靠云存儲的存儲虛擬化技術能夠把不同的硬盤虛擬成為性質相同的設備,提供動態擴容的特性;對象存儲技術能夠為用戶從大量數據中獲取所需信息提供技術支持。在線可視化編程作業云平臺框架如圖3所示。

圖3 在線可視化編程作業云平臺框架

本作業平臺在開放架構的X86服務器上實現虛擬化支持,包括云數據層、云數據接口層、云業務邏輯層、云訪問層等部分。

(1)云數據層對平臺數據信息進行歸檔,提供快速查詢的底層接口,并保證數據的完整性、可靠性。在數據庫方面,程序使用了MySQL,考慮到并行數據處理技術的成熟性,云平臺采用MapReduce方式處理并行數據。系統中實施緩存管理,本作業平臺采用Redis技術。基于Redis緩存技術的高效特性,可以較好地應對日漸增多的系統數據量,因而對于數據的存儲和服務器資源優化特別重要。

(2)云數據接口層主要采用MyBatis、SpringBoot和Javabean技術。MyBatis支持定制化SQL、存儲過程以及高級映射。MyBatis避免了幾乎所有的 JDBC代碼和手動設置參數以及獲取結果集,而且可以使用簡單的 XML或注解來配置和映射原生信息,將接口和普通的Java對象映射成數據庫中的記錄。

(3)云業務邏輯層提供業務的統一管理,使用統一的權限配置。當業務實體發生改變或者是有新的業務時,系統的基礎架構都不需要做出任何調整,可以直接使用原有的功能。如代碼檢測功能,只需在教師權限里面添加該功能,再編碼實現即可。系統使用Shiro技術實現業務中的權限控制,用于在不同角色登錄時分配不同權限給各個角色。后臺服務系統有用戶多、模塊多和權限多的特點,因此采用分組的用戶管理設計。用戶登錄系統后,系統會根據該用戶的權限提供相應的功能,并對用戶的每個操作檢查用戶的使用權限。系統將用戶、用戶組的權限通過各個結點進行綁定,在各個結點上實現繼承與非繼承的設置管理,從而使管理員可以進行靈活的配置。

(4)云訪問層為用戶提供作業編程服務,用戶通過終端設備獲取虛擬化實驗環境中的多種服務。云訪問層使用 SpringMVC框架技術[10],設計前端控制器來分派請求,同時提供靈活的配置處理程序映射、視圖解析、語言環境和主題解析,并支持文件上傳。

3 平臺實現與應用

本作業平臺在上線使用前,遵從軟件開發管理規范[11],實施了單元測試、集成測試以及多輪壓力測試,使得本平臺的功能正確性、系統穩定性和性能可滿足性都得到了全面的驗證,并且及時修正了各種錯誤。

平臺上線以來,首先在我校計算機學院進行試用,為大一上學期C語言程序設計和大二上學期數據結構課程的實驗以及上機作業環節服務,涉及學生約 800人/屆,共約 1600人/年;任課教師約 16人。在師生比大約1∶100的情況下,大部分學生每學期可自主完成大約80道編程作業的訓練量。之后擴展應用至我校其他開設了軟件編程類課程的學院,自2012年以來,本平臺累計上機總人數約12 000人次,總實驗機時約153 600小時。由于本平臺在提高程序調試率方面的積極作用,降低了編程學習的門檻,師生的使用反饋都較為良好。目前,本課題組出版了一本《數據結構》教材[12],并配備了與教材內容編排配套的上機作業題目。隨著教材的逐步配合推廣,已有部分其他高等院校準備試用本平臺,預計會產生更加積極的影響。

4 結語

本在線可視化編程作業平臺的研發與應用降低編程學習者的學習門檻,為學生提供了 7×24小時的在線編程實訓環境,同時減輕教師的教學負擔,為教師用戶提供實時快速的教務管理和作業過程管理,根據學生的學習情況,及時制定有針對性的訓練方案。

本平臺的服務對象為廣大計算機編程學習人員,包括高等院校和職業技術院校的學生和教師,服務人數多,影響面大,具有現實的推廣應用意義。接下來,我們將對學生的編程實訓數據進行統計、分析和挖掘,進行基于學習情況與知識地圖的個性化學習推薦方案的研究,逐步建立一個以學生自主學習為中心的沉浸式學習環境。

猜你喜歡
可視化作業功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
快來寫作業
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創新
傳媒評論(2019年4期)2019-07-13 05:49:14
關于非首都功能疏解的幾點思考
作業
故事大王(2016年7期)2016-09-22 17:30:08
中西醫結合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
主站蜘蛛池模板: 99九九成人免费视频精品| 日韩欧美中文| 美女免费黄网站| 在线五月婷婷| 蜜桃视频一区二区三区| 国产乱人免费视频| 日韩一区二区三免费高清| 亚洲第一成网站| 亚洲国产精品VA在线看黑人| 婷婷综合亚洲| 中文字幕av一区二区三区欲色| 欧美不卡视频在线| 97青青青国产在线播放| 老司机精品久久| 无码免费视频| 色综合久久综合网| 亚洲中文字幕23页在线| 91黄视频在线观看| 日本在线欧美在线| 色婷婷亚洲综合五月| 亚洲水蜜桃久久综合网站| 九色在线视频导航91| 新SSS无码手机在线观看| 日韩精品无码不卡无码| 在线国产91| 中文字幕在线一区二区在线| 全部免费毛片免费播放| 中国国产一级毛片| 欧美亚洲欧美| 精品丝袜美腿国产一区| 永久天堂网Av| 国产视频欧美| 第一区免费在线观看| 中文成人无码国产亚洲| 免费无码又爽又黄又刺激网站| 思思99思思久久最新精品| 午夜在线不卡| 精品国产免费第一区二区三区日韩| 99这里只有精品免费视频| 国产精品理论片| 另类重口100页在线播放| 亚洲swag精品自拍一区| 日本午夜视频在线观看| 波多野结衣AV无码久久一区| 国产亚洲精品97AA片在线播放| 国产精品太粉嫩高中在线观看| 在线日韩日本国产亚洲| 亚洲第一中文字幕| 色天天综合| 亚洲男人在线| 午夜性刺激在线观看免费| 五月激激激综合网色播免费| 久久免费视频播放| 亚洲精品卡2卡3卡4卡5卡区| 精品少妇人妻一区二区| 中文字幕在线不卡视频| 成年人国产网站| 欧美丝袜高跟鞋一区二区| 国产日韩欧美黄色片免费观看| 精品成人一区二区三区电影| 亚洲无码在线午夜电影| 日韩精品一区二区三区swag| 国产综合无码一区二区色蜜蜜| 在线中文字幕网| 青青国产在线| 天天躁日日躁狠狠躁中文字幕| 亚洲区第一页| 欧美激情视频在线观看一区| 日韩在线成年视频人网站观看| 亚洲无码高清一区二区| 91黄色在线观看| 成人亚洲视频| 99在线视频网站| 国产成人综合久久| 国禁国产you女视频网站| 中文字幕伦视频| 中国一级毛片免费观看| 国产第一页亚洲| 久久精品午夜视频| 五月婷婷中文字幕| 成人福利在线视频| a级毛片免费播放|