葛志勇
(淮陰師范學院,江蘇 淮安 223300)
*收稿日期:2013-11-08
網絡教育與傳統課題教學相比有許多優勢,但是也存在許多不足的地方。
當前大多數網絡教學平臺采用都是B/S模式設計,這種模式雖然部署簡單,但是表現手段和交互方式單一。同時,這種模式將業務邏輯集中在服務端,無法充分的發揮客戶端的軟硬件資源。以云計算和富客戶端為代表的新一代互聯網技術的出現為探索全新網絡教育模式提供了可能。
CDIO工程教育模式是瑞典皇家工學院和美國麻省理工學院等大學經過四年的探索研究耗資2000萬美元創立的工程教育理念,是近年來國際工程教育改革的最新成果。CDIO是英文單詞構思(Conceive)、設計(Design)、實現(Implement)和運作(Operate)的縮寫。CDIO首次詳細闡述了工程師所必備的知識、能力和態度的內容。CDIO將產品/系統的生命周期作為載體,不僅重視培養學生的基礎理論、專業技能,并在工程領域的情境中展開教學活動,重視培養學生的創新實踐能力、團隊合作意識以及溝通交流能力,重視培養學生對系統進行構思、設計、實施、運行的綜合能力。CDIO是一個開放的教育理念,不同學校和專業可以根據自身的情況開展CDIO教學改革,概括起來CDIO教育理念包括:1個大綱和12條標準。在我國,2008年教育部在汕頭大學、清華大學等30多所知名高校進行CDIO工程教育理念的教學改革,取得了非常好的效果。
本文擬在國際比較流行的云計算平臺Google App Engine上使用Flex富客戶端技術,研究如何構建一個基于CDIO工程教育理念設計的自主學習系統,從而為在新技術環境下設計全新的網絡教育模式做出有益的嘗試。
CDIO工程教育思想的12條標準包括:以CDIO 為基本環境、學習目標、一體化教學計劃、工程導論、設計-實現經驗、工程實踐場所、綜合性學習經驗、主動學習、教師能力的提升、教師教學能力的提高、學生考核、專業評估。網絡教學與傳統課題教學有顯著的不同,在將CDIO思想引入到網絡教學過程中應靈活的理解這12條標準。在網絡環境中,教師因素被極大弱化,而計算機技術的因素被放大,可以充分利用計算機技術為學生創作一個逼真的CDIO工程環境,充分激發學生的主動學習熱情,同時為保障學習的效果還要引入合理的評價機制。本次研究以軟件工程課程為例,設計了一個軟件工程自主學習平臺。研究人員首先設計了一個真實的軟件開發案例為學生提供了一個CDIO環境,然后為了充分調動學生的自主學生熱情,將這個軟件開發案例作為故事背景設計了多人在線的RPG(角色扮演游戲)游戲。游戲故事的背景是圍繞著一個叫君莫笑的某大學計算機系大三學生為了幫助爺爺擺脫經營困境,走上軟件開發之路的故事。游戲按照軟件工程思想劃分成可行性分析、需求分析、軟件設計、代碼編寫、測試、運行6個關卡。
自主學習平臺包括:用戶中心、資料中心、軟件世界大冒險和互動學習社區4個功能模塊。
(一)用戶中心
該模塊的功能是完成用戶信息的管理包括用戶信息注冊、用戶登錄、用戶信息管理和維護。自主學習平臺的典型用戶有兩類:學生和系統管理員。學員是系自主學習系統的使用者,學員的信息包括:學號、姓名、性別、入學時間、院系、電郵地址、感興趣的軟件開發用具、感興趣的軟件技術等。通過對自主學習系統用戶的信息的收集可以進一步對學員的知識背景、學習興趣進行分析,為CDIO軟件開發任務的設定提供參考。系統管理員負責自主學習系統資料中心模塊的管理和維護,包括學習資料的發布、學習資料的更新和學習資料的注銷。
(二)資料中心
該模塊的功能是為學生提供“軟件世界大冒險”游戲中涉及到的所有的軟件開發相關知識的查詢,幫助學生解決游戲中出現的各種軟件開發問題,使學生更好的完成游戲中軟件開發任務。資料中心模塊在功能上與傳統網絡學習平臺知識展示部分是一致的,在內容的組織上以游戲中的軟件開發任務為主線,打破了傳統教學中課程的界限,將程序設計基礎、數據庫原理、軟件工程等多門課程的知識組織在一起,通過任務的方式引導學生自主學習,構建自己的軟件開發知識體系。
(三)軟件世界大冒險
該模塊是本系統的核心,包括游戲主程序、地圖系統、角色系統、任務系統、成就系統、道具系統和測試系統。游戲主程序的功能是設置系統的運行環境,創建、管理各子系統實例。地圖系統的功能是管理系統的地圖信息。角色系統的功能是管理系統的各種角色。任務系統的功能是管理系統的任務信息。成就系統的功能是管理角色的成就信息。道具系統的功能是管理系統的道具和虛擬幣信息。測試系統的功能是在每個關卡的關底進行隨機測試。
(四)互動學習社區
該模塊的功能是為學生和學生、學生和教師提供一個交流游戲心得、學習體驗、問題答疑的平臺,包括學習資源發布、學習資源下載、學習心得交流和即時學習討論4個模塊。學習資源發布和下載模塊為學生提供了發布根據游戲任務開發的軟件和技術資料的功能,同時也可以獲得其他學生開發的程序和學習資料;學習心得交流和即時學習討論模塊為學生提供了類似BBS信息交流的工具,學生可以交流學習心得。互動學習社區模塊是完善網絡教學手段的重要環節,連接線上學習和下線實踐的橋梁,形成完整的網絡教學過程的關鍵。
本系統是在Google公司提供的云計算PaaS解決方案Google App Engine環境下使用Flex富客戶端和J2EE多層架構設計的。在云計算環境下基于Flex和J2EE多層模式與傳統的B/S模式的網絡應用相比,提高了系統的可擴展性、可維護性、可重用型和用戶體驗。它將業務邏輯、數據展示和數據持久操作相分離,使用系統的維護更加簡便,同時通過使用框架技術,降低了開發人員學習的難點使開發人員可以更注重于系統的業務邏輯。另外,云計算環境的使用既降低了系統運行維護的成本,又可以很好的解決自主學習系統波段性訪問的需求,為系統提供良好的擴展性。
(一)富客戶層
學生、管理員均處于富客戶層,該層運行在Web瀏覽器的FlashPlayer插件中,為用戶提供了用戶界面和游戲界面,作為用戶與自主學習平臺之間的交互接口,將用戶的交互請求發送到部署在Google App Engine上的中間層組件上。用戶通過FlashPlayer和WEB瀏覽器訪問部署在Google App Engine上的中間層Web Server,中間層Web Server接受了用戶提交的請求后,調用相關的業務邏輯組件,執行業務邏輯,調用數據持久層中的數據持久組件向數據庫或者文件系統發出數據操作請求,并將處理的結果用過Web Server反饋給用戶。
(二) Google App Engine
云計算的定義有很多種,這里我們引用百度百科中的定義:云計算由一系列可以動態升級和被虛擬化的資源組成,這些資源被所有云計算的用戶共享并且可以方便地通過網絡訪問,用戶無需掌握云計算的技術,只需要按照個人或者團體的需要租賃云計算的資源。利用云計算企業可以節約成本,不用投資購買昂貴的硬件設備,無需負擔頻繁地維護與升級費用,也不需要建立自己的數據中心、大型機房、服務器中心等,并相應減少軟硬件的運行維護費用和IT人員的實施費。運算分為IaaS(基礎設施即服務)、PaaS(平臺即服務)和SaaS(軟件即服務)3個層次。
自主學習平臺運行的云計算環境是Google App Engine。Google App Engine簡稱GAE是Google公司提供的PaaS產品,GAE平臺可以為系統提供開發和運行環境、服務器平臺、硬件資源給用戶,已經提供應用軟件開發、云存儲、托管以及Web應用服務。用戶不必再需要維護服務器,用戶可以基于Google的基礎設施上傳和運行應用程序。實踐上GAE為用戶提供了一個托管平臺,用戶可以將他們的開發發布到PaaS云平臺上。
(三)中間層
中間層利用Flex BlazeDS組件、Spring 和 JDO等技術構建自主學習系統的各部分功能,它位于應用程序服務器上,主要由三部分組成:代理服務器層 、業務邏輯層、數據持久層。
(四)數據層
數據層是數據庫管理系統(DBMS)和文件系統,負責數據的存儲管理、安全管理、完整性管理和一致性管理,系統使用的是Google App Engine提供DataStore數據庫。DataStore是一個采用層次模型的NoSql數據庫。該層存儲的信息主要有:軟件開發資料信息、學生信息、管理信息、游戲的賬戶信息、游戲狀態、學習資源信息以及站內消息等數據。
CDIO工程教學作為創新教育理念下的新型教學模式,是我國工程教育改革的研究熱點。本文依托云計算和富客戶端技術構造了一個軟件工程課程的自主學習平臺,并在該平臺上開展了一系列將CDIO工程教育理念引入到網絡教學實踐的探索性嘗試,得出結論: CDIO工程教學改革對網絡教學改革有很好的借鑒意義,相信這個平臺的建立也會進一步促進高校相關網絡教學研究的發展。