陳湘軍, 趙璐華, 陳明霞
(1.江蘇理工學院 計算機工程學院,江蘇 常州 213001; 2.南京大學 通信技術研究所,江蘇 南京 210046; 3.河南質量工程職業(yè)學院,河南 平頂山 467000)
程序設計語言是高校理工科專業(yè)基礎課程,一般在本科低年級開設,選用C語言或Java講授程序設計的基本句法和邏輯流程,并訓練實際問題求解技能。初學者往往缺乏對計算機程序的感性認識,當面對抽象的程序邏輯和全新的數(shù)據(jù)結構時,他們往往感覺抽象晦澀,以至產生頓挫感,繼而排斥程序設計課程學習。因此程序設計課程教學的關鍵是為學習者搭建腳手架幫助其理解編程思維方式,并提供便捷的交互與實訓平臺,使學習者快速獲取學習資料、進行學習交流、獲得學習反饋。
教學理論和實踐表明,計算機多媒體的廣泛應用,特別具備即時交互功能的網(wǎng)絡多媒體環(huán)境,幫助學習者迅速獲取資源、不受時空限制地進行學習交互,從網(wǎng)絡虛擬人際關系為感受逼真的沉浸感,能明顯促進學習者的認知過程。而智能手機和筆記本等移動設備在高校普遍使用,使學習者有更多網(wǎng)絡接入機會。
美國調研公司Flurry發(fā)布報告稱,當前全球活躍聯(lián)網(wǎng)設備(主要指智能手機和平板電腦)數(shù)量超過10億部,按照當前的發(fā)展增長,2014年將達到20億部[1]。年青大學生是持有這些智能設備的一支主力軍,筆者對所任教2012級4個班級136名學生擁有的手機(智能手機)、個人電腦(筆記本)、校園網(wǎng)接入(無線接入)情況進行調研,如表1所示。調查數(shù)據(jù)表明,絕大部分學生擁有移動智能設備與校園網(wǎng)接入條件,移動設備和智能手機已成為本科學生日常學習娛樂、交際的主流工具。
表1 某高校大一新生智能終端/PC機與網(wǎng)絡條件
*無線接入率指無線接入與整個網(wǎng)絡接入比。
與以往客戶端-服務器(Client-Server,C/S)模式或以服務器為中心模式的學習系統(tǒng)不同,在普適性網(wǎng)絡學習環(huán)境中,任何學習者可以隨時隨地獲取學習資料、進行在線交流,構建互操作、泛在、無縫的學習環(huán)境,學習者、學習資源、學習服務等維度在普適學習環(huán)境中有機協(xié)調與統(tǒng)一。在普適性程序設計教學環(huán)境中,學習任務和難度分解到各泛在環(huán)節(jié),學習能適時獲取各種資源服務與即時交互,學習沉浸感更強,改變傳統(tǒng)模式下程序設計教學任務繁重、內容枯燥等現(xiàn)狀,有利于教學效果提高。
文章基于上下文感知技術,研究利用移動智能設備和校園網(wǎng)絡接入,構建一個普適程序設計課程網(wǎng)絡教學環(huán)境,在教師、學生、資源之間形成多邊網(wǎng)絡,幫助教師與學生之間建立多邊溝通協(xié)助關系,精準化推送學習資料,并對教學效果進行分析。文章第1部分介紹普適計算與泛在學習環(huán)境,第2部分介紹智能手機上下文感知框架及相關普適學習環(huán)境構建技術,第3部分介紹普適程序設計課程網(wǎng)絡教學環(huán)境設計,第4部分提供普適環(huán)境網(wǎng)絡環(huán)境下程序設計教學案例與效果分析,最后給出結論。
普適計算(Ubiquitous computing)又稱泛在計算(pervasive computing),其思想最早由Mark Weiser1991年提出[2],核心內容是讓計算機作為一種透明工具,計算機本身應從人們視野中消息,以便讓人們的注意力回歸要解決的任務本身。關于普適計算定義,學術界尚無統(tǒng)一標準,較有代表性的有徐光祜等定義:信息空間與物理空間的融合,在這個融合的空間中人們可以隨時隨地、透明地獲得數(shù)字化的服務[3];維基百科定義:普適計算又稱普存計算、普及計算,是一個強調和環(huán)境融為一體的計算概念,而計算機本身則從人們的視線里消失。在普適計算的模式下,人們能夠在任何時間、任何地點、以任何方式進行信息的獲取與處理。普適計算概念一經(jīng)提出,即引起了研究人員的廣泛關注,其標志性事件為1999召開第一屆Ubicomp國際會議,2000年Pervasive Computing國際會議及2002年,IEEE Pervasive Computing期刊創(chuàng)刊。近年來,物聯(lián)網(wǎng)和云計算機技術的發(fā)展,智能手機和平板的普及,移動網(wǎng)絡的發(fā)展,推動普適計算新一輪發(fā)展。
隨著“普適計算”概念提出,國內外出現(xiàn)了“泛在學習(Ubiquitous Learning)”的廣泛研究。張潔等提出無縫學習、境脈感知、適應性服務[4];Dahotre A 等提出學習進度跟蹤與反饋:教師講授核心內容,通過智能教學,讓學生選擇感興趣的內容[5]。關于泛在學習概念,國內外也有多種定義,Guozhen Zhang 與Timothy K.Shih認為,泛在學習是一種學習方式,學習者可以完全將注意力集中到學習過程而不用關心位置與時間的限制[6];付道明等將泛在學習定義為普適計算環(huán)境下未來的學習方式,為學生提供一個可以在任何地方、隨時使用手邊可以取得的科技工具來進行學習活動的3A(Any where、Any time、Any device)學習[7]。盡管對泛在學習有不同定義方式,但其本質特點是一致的,主要表現(xiàn)在:①泛在,學習者可不受時空和設備限制,隨時隨地進入學習環(huán)境,攝取學習資源,獲得學習支持;②交互,學習者可以利用泛在計算設備及網(wǎng)絡,隨時與其他學習者或教師進行交互,智能系統(tǒng)記錄學習者行為并適時給予反饋;③情境模擬,泛在環(huán)境為學習者提供真實的學習情境,設備和網(wǎng)絡狀況對學習者是透明的,只需要集中精力于解決問題本身,不受計算環(huán)境和資料限制。
上下文概念最早出現(xiàn)在上世紀90年代,包括計算上下文、用戶上下文、物理上下文,其宗旨是利用各種上下文內容如網(wǎng)絡狀態(tài)、用戶特征、環(huán)境參數(shù)等實現(xiàn)普適計算中人和計算機持續(xù)進行透明性交互。由于移動設備和無線網(wǎng)絡的迅速發(fā)展,上下文感知技術再次激起研究人員和業(yè)界的廣泛關注,LBS(Location Based Serve)等上下文感知技術在導航、社交網(wǎng)絡等領域已經(jīng)有廣泛應用。上下文感知也是泛在學習的一個主要技術手段,Hwang等提出上下文感知的泛在學習(Context-Aware Ubiquitous Learning),并將Context-Aware Service看成泛在學習概念三個關鍵服務之一[8]。利用上下文感知技術,可有效集成數(shù)字學習場景與真實世界,提供更具適應性和活力的學習支持。
通過智能手機的攝像頭、麥克風、GPS傳感器、重力加速器等傳感器,可獲取學習者的現(xiàn)場圖像、聲音、位置。經(jīng)過上下文計算,可獲取更高級別的用戶狀態(tài),如學習進度或行動模式(靜止、步行或乘車等),作為更精準的智能交互與信息推送條件。
圖1描述了基于智能手機的上下文感知框架。感知源包括外部上下文和內部傳感器上下文,前者指網(wǎng)絡環(huán)境、用戶交互及系統(tǒng)時間等,后者主要包括GPS/Wi-Fi接入、重力加速器、攝像頭/麥克風等,這些傳感器可以輔助系統(tǒng)獲取學習者所在位置與方向、行動模式、周邊圖像與聲音環(huán)境。一般來說,智能手機環(huán)境上下文感知步驟包括:①信息采集,通過傳感器采集數(shù)據(jù),如經(jīng)偉度、三維重力變化、視頻/音頻;②上下文數(shù)據(jù)存儲,數(shù)據(jù)存儲在本地SD卡或通過網(wǎng)絡發(fā)送到遠端服務器;③數(shù)據(jù)分析,通過模式識別、匹配,數(shù)據(jù)融合等技術手段,提取上下文數(shù)據(jù)的實際意義,如計算加速器參數(shù)的x,y,z三個軸變化頻率,通過模式識別可判別機主出行方式,通過GPS經(jīng)偉度改變與時間差計算移動速度從而判斷用戶是否處于靜止學習狀態(tài);④信息表示,將上下文信息以可理解位置信息、行動模式、視/音頻流等上下文語義形式,并在人機界面中進行呈現(xiàn)或作為其他系統(tǒng)的參數(shù)輸入。經(jīng)過地理位置、行為模式、網(wǎng)絡接入方式等多種上下文融合后的信息輸出,可作為泛在學習環(huán)境中教學活動的觸發(fā)條件或控制輸入,減少用戶操作干預動作,提高系統(tǒng)的智能性,比如,根據(jù)學習者位置自動建立學習討論組,當學習者進入實驗室,自動推送實驗資料等。
圖1 智能手機上下文感知模型[9]
移動和傳感技術的成熟使智能手機和平板電腦等移動設備越來越普及,這些設備在泛在學習環(huán)境應用,配合以有線和無線通訊網(wǎng)絡,學習者沉浸在真實世界與數(shù)字環(huán)境的交融中,獲取學習資源、實時交互,接受教師點對點的指導,都變得十分簡單。
圖2描述了程序設計教學泛在環(huán)境的網(wǎng)絡體系結構,在泛在學習環(huán)境下,教師和學習者可以使用智能手機、平板電腦、筆記本或臺式機等多種終端進入學習環(huán)境。校園網(wǎng)是數(shù)字教學資源核心,內部構建程序設計教學資源數(shù)據(jù)庫、上下文感知中間件與網(wǎng)絡課堂平臺[16]。教師和學習者使用有線或無線網(wǎng)絡連接,直接或經(jīng)遠程代理進入數(shù)字學習環(huán)境。網(wǎng)絡平臺既可作為傳統(tǒng)課堂教學的輔助環(huán)境,也可實現(xiàn)獨立的程序設計自主學習。
圖2 泛在學習環(huán)境網(wǎng)絡架構
按系統(tǒng)功能層次劃分,普適程序設計教學平臺自底向上依次為數(shù)據(jù)庫層、服務層和應用層,見圖3。
圖3 程序設計普適學習系統(tǒng)系統(tǒng)功能層次圖
數(shù)據(jù)庫層包括程序設計教學資源庫與上下文庫兩個主體。教學資源庫存儲程序設計教學所需要的電子教材與課件、程序源代碼、案例、實驗與作業(yè)等數(shù)字化資源。上下文數(shù)據(jù)庫存儲學習者狀態(tài)、進度以及學習交互上下文等信息。
服務層包括三個核心模塊:①上下文適配器,負責學習資源與上下文關聯(lián)與協(xié)作的上下文,根據(jù)學習者上下文信息,從學習調配相應資源庫,生成合適的學習場景,并向學習者進行推送;②多媒體服務器,該模塊網(wǎng)絡教學的媒體支撐中心,提供的雙向實時視頻及課程錄像點播放,輔助完成網(wǎng)絡教學活動的雙向視頻對話及課程組播;③Web服務模塊,整合學習資源、學習者、教師及其對應的上下文信息,通過Web頁面和Web Services接口兩種方式提供界面,使用對象包括人和異構平臺下的設備或程序,發(fā)布內容有學習資源、學習交互、個性化學習管理等。
頂層為應用層,使用者為學習者和教師,用戶使用智能手機、平板電腦或PC機,通過客戶端軟件或瀏覽器調用應用服務層服務。同時,智能終端和網(wǎng)絡環(huán)境也作為上下文信息采集源,收集學習者位置、網(wǎng)絡條件、學習進度、小組交互情況等情境下的上下文,匯入上下文數(shù)據(jù)庫,作為系統(tǒng)下一步上下文適配的數(shù)據(jù)源。
程序設計教學活動中,教學資源及案例的易獲取性、學習氛圍和學習交互能力、教師的即時輔導,都是提高學習效果的重要因素。在普適互環(huán)境中,根據(jù)學習者的上下文信息,可以以更精準的形式推送學習資料,構建學習交互小組,向在線同學或教師尋求幫助,列舉幾個典型的普適互環(huán)境下程序設計教學用例。
建構主義教學理論認為世界是客觀存在的,教學設計應根據(jù)學習者自身的構建和知識組建,教學設計應該以學習者為中心,提供支架式教學輔助環(huán)境,網(wǎng)絡學習環(huán)境的搭建應遵循創(chuàng)設情境、提供學習交互以及發(fā)揮教師主導作用等目標。在普適計算環(huán)境下,不同終端都能加入?yún)f(xié)同學習環(huán)境,智能終端的上下文感知傳感器很容易獲得學習者當前狀態(tài)信息,幫助學習者快速獲取資源、組織在線討論團隊、向周圍人發(fā)出請求等。普適環(huán)境改變傳統(tǒng)程序設計課程教學沉寂的學習氛圍,學習者尋求即時幫助的機會增多,學習興趣和效果明顯提升,更易于構建學習者腳手架框架。
普適計算網(wǎng)絡教學環(huán)境為學習者提供腳手架功能,流程如圖4所示,當學習者通過智能手機/PAD等智能終端或PC機進入程序設計網(wǎng)絡課堂,系統(tǒng)自動獲取學習者的設備類型,通過網(wǎng)絡地址或LBS感知設備獲取學習者所處位置,并根據(jù)學習進度推送相關的學習資源與任務。學習者根據(jù)當前位置和學習進度上下文,可快速發(fā)現(xiàn)附近學習者及其狀態(tài),創(chuàng)建或加入討論組,向組內成員或教師請求幫助。在普適環(huán)境下,程序學習課程學習者的沉浸感更豐富,獲取資料和幫助更即時,傳統(tǒng)程序設計過程中普遍存在的枯燥、挫敗感等學習心態(tài)隨之轉變?yōu)楂@得成功的愉悅感。
圖4 學習者腳手架流程圖
程序設計學習中,在真實編譯環(huán)境中進行程序的現(xiàn)場調試演示是提高學習興趣和效率最有效途徑。網(wǎng)絡環(huán)境中,利用實時音視頻與遠程桌面技術,教師與學習者可實現(xiàn)傳統(tǒng)多媒體課堂中的演示。Google公司開發(fā)了網(wǎng)頁實時視頻庫WebRTC,支持瀏覽器的無插件視頻,并支持Android平臺[11],使基于Web的實時多媒體通信成為可能。文章實現(xiàn)了基于WebRTC的多終端即時視頻界面交互功能,如圖5所示。圖5(a)為學習者利用Samsung PAD p1000平板,接收教師端的桌面廣播,圖5(b)是教師使用PC機瀏覽器與學習者實現(xiàn)遠程即時視頻,并向其廣播桌面操作窗口。
(a) PAD終端
(b) 瀏覽器端
考慮到異構設備和平臺對程序設計語言的支持差異,系統(tǒng)采用基于HTML5的Web方案設計實現(xiàn),在不支持程序編譯的終端上,學習者可由Web界面將程序傳送到服務器端執(zhí)行,執(zhí)行結果以圖片形式傳回終端界面,保證以最客觀真實時環(huán)境模擬程序設計上機實踐場景。多元一體網(wǎng)絡教學環(huán)境支持音/視頻、遠程桌面、文件傳輸,學習者只需打開智能手機客戶端,通過校園Wi-Fi即可實現(xiàn)程序設計的網(wǎng)絡遠程學習。
通過對授課學生問卷調查、分析江蘇省計算機等級考試C語言成績兩種手段,對普適網(wǎng)絡環(huán)境的程序設計教學效果進行分析,如表2和圖6所示。
圖6 江蘇省等級考試二級C語言成績對比分析
傳統(tǒng)教學普適環(huán)境資源教材、網(wǎng)站個性化資源推送、即時幫助交互課堂講授,演示,通訊手段(電話/網(wǎng)站/e?mail/即時聊天工具)狀態(tài)感知、即時音/視頻、虛擬程序調試學習情境課堂、上機實驗、作業(yè)、預習與復習周圍學習者感知,隨時進入網(wǎng)絡學習群體,即時討論與幫助學習效果初學者編程實踐無從下手、學習者有困惑感甚至厭倦感、學習時間投入少、氣氛不足能通過泛在網(wǎng)絡隨時進入學時狀態(tài),感受學習同伴及其進度,有非常強烈的興趣,能獲得即時幫助,易于實踐
相對傳統(tǒng)程序設計教學活動,在普適網(wǎng)絡環(huán)境中,得益于上下文技術對學習者的位置、狀態(tài)與進度感知與主動反饋,學習者可容易進入學習狀態(tài),感受附近學習者存在,學習沉浸感更強,更容易獲得針對性的學習資源以及尋求在線幫助。
江蘇省C語言二級考試全省平均通過率在30%,985高校通過率為65%左右,總體難度大于全國等級考試。對比班級分別為筆者單位2011屆傳統(tǒng)授課班與2012屆普適網(wǎng)絡條件下教改試驗的“數(shù)字媒體”專業(yè)學生,兩屆學生入學成績相當。傳統(tǒng)授課班合格率/優(yōu)秀率分別為36%/0%、50%/1%,試驗班分為89.75%/5%、91%/7%。此外,試驗班有數(shù)十名學生先后在大學生計算機設計大賽、全國軟件人才程序設計大賽中獲獎。對比成績說明,在普適網(wǎng)絡環(huán)境下進行程序設計教學,學習等級考試成績及實踐能力顯著提升,表明普適網(wǎng)絡環(huán)境對程序設計教學效果有顯性促進作用。
智能手機和校園Wi-Fi的使用,使高校學生能隨時獲取校園網(wǎng)絡資源?;谛@網(wǎng)構建的程序設計普適學習環(huán)境,利用移動終端的上下文感知技術,實現(xiàn)學習者狀態(tài)感知以及精準化學習資源推送和多媒體立體交互。在泛在網(wǎng)絡學習環(huán)境下,學生可隨時隨地進入程序設計學習狀態(tài),發(fā)現(xiàn)周圍學習者并尋求即時幫助,獲取更強烈的學習沉浸感。對照數(shù)據(jù)表明,在普適網(wǎng)絡學習環(huán)境下,學生參與程序設計學習的方式和氛圍更為靈活輕松,學生容易獲得成就感,更愿意投入學習,學習效果也明顯提高。
[1] Flurry[EB/OL].〈http://blog.flurry.com〉
[2] Weiser M. The computer for the 21st century[J]. Scientific american, 1991, 265(3): 94-104.
[3] 徐光祜, 史元春, 謝偉凱. 普適計算[J]. 計算機學報, 2003, 26(9): 1042-1050.
XU Guang-fou,SHI Yuan-chun,XIE Wei-kai.Pervasive/Ubiquitous Computing[J].Chinese Journal of Computers, 2003, 26(9): 1042-1050.
[4] 張 潔. 基于境脈感知的泛在學習環(huán)境模型構建[J]. 中國電化教育, 2010(2): 16-20.
ZHANG Jie.Construnction of Ubiquitous Learning Envirienment Mobel based on Contex Awareness[J]. China Educational Technology, 2010(2): 16-20.
[5] Dahotre A, Krishnamoorthy V, Corley M,etal. Using intelligent tutors to enhance student learning of application programming interfaces[J]. Journal of Computing Sciences in Colleges, 2011, 27(1): 195-201.
[6] Zhang Guozhen,Jin Qun,Timothy K.Shih. Peer-to-Peer Based Social Interaction Tools in Ubiquitous Learning Environment[C]//Proceedings of the 11th International Conference on Parallel and Distributed Systems(ICPADS’ 05).2005.
[7] 付道明,徐福蔭,張 杰.普適計算環(huán)境中的泛在學習[J].中國電化教育,2007(7):94-98.
FU Dao-ming, XU Fu-yin,Zhang Jie.Ubiquitous Learning Under Pervasive Computing Envirienment[J]. China Educational Technology, 2007(7):94-98.
[8] HWANG G J, Tsai C C, YANG S J H. Criteria, Strategies and Research Issues of Context-Aware Ubiquitous Learning[J]. Educational Technology & Society, 2008, 11(2): 81-91.
[9] Papakonstantinou S, Brujic-Okretic V. Framework for context-aware smartphone applications[J]. The Visual Computer, 2009, 25(12): 1121-1132.
[10] Matthews R, Hin H S, Choo K A. Multimedia learning object to build cognitive understanding in learning introductory programming[A].Proceedings of the 7th international Conference on Advances in Mobile Computing and Multimedia[C]. ACM, 2009: 396-400.
[11] Google WebRTC[EB/OL].http://www.webrtc.org
[12] 何明昌. 可視化程序設計實驗教學改革[J]. 實驗室研究與探索, 2009, 28(3): 88-90.
HE Ming-chang. Reformation on the Expermiental Teaching of Visual Programming[J].Research and Exploration in Laboratory, 2009, 28(3): 88-90.
[13] 苗 玥, 金炳堯. 支架式教學方法在計算機程序設計課中的應用研究[J]. 實驗室研究與探索, 2007, 26(4): 111-114.
MIAO Yue,JIN Bin-yao.Implementation Study on Scaffolding Instruction in VB Experimental Teaching[J].Research and Exploration in Laboratory, 2007, 26(4): 111-114.
[14] 錢 權, 張 瑞, 袁 方. 計算機網(wǎng)絡課程中的項目式實驗教學[J]. 實驗室研究與探索, 2013, 32(5): 142-145.
QIAN Quan, ZHANG Rui, YUAN Fang. Project-oriented Experimental Teaching in Computer Network[J].Research and Exploration in Laboratory, 2013, 32(5): 142-145.
[15] 楊玉寶, 廖宏建. 泛在學習視角下的教育云資源建設機制研究[J]. 現(xiàn)代教育技術, 2013, 23(4):101-105.
YANG Yu-bao,LIAO Hong-jian. The Research of Education Resources Construction Mechanism Based on the Cloud Computing Platform from the Perspective of Ubiquitous Learning[J].Modern Educational Technology, 2013, 23(4):101-105.
[16] 楊春明, 杜 炯, 王 磊. 分布式程序設計實驗平臺的設計與應用[J]. 實驗室研究與探索, 2012(8): 54-58.
YANG Chun-ming,DU Jiong,WANG Lei. Design and Application of a Distributed Programming Experimental Platform[J]. Research and Exploration in Laboratory, 2012(8): 54-58.