基于上下文感知的普适程序教学环境构建

2014-02-08 09:21陈湘军赵璐华陈明霞
实验室研究与探索 2014年9期
关键词:程序设计智能手机学习者

陈湘军, 赵璐华, 陈明霞

(1.江苏理工学院 计算机工程学院,江苏 常州 213001; 2.南京大学 通信技术研究所,江苏 南京 210046; 3.河南质量工程职业学院,河南 平顶山 467000)

0 引 言

程序设计语言是高校理工科专业基础课程,一般在本科低年级开设,选用C语言或Java讲授程序设计的基本句法和逻辑流程,并训练实际问题求解技能。初学者往往缺乏对计算机程序的感性认识,当面对抽象的程序逻辑和全新的数据结构时,他们往往感觉抽象晦涩,以至产生顿挫感,继而排斥程序设计课程学习。因此程序设计课程教学的关键是为学习者搭建脚手架帮助其理解编程思维方式,并提供便捷的交互与实训平台,使学习者快速获取学习资料、进行学习交流、获得学习反馈。

教学理论和实践表明,计算机多媒体的广泛应用,特别具备即时交互功能的网络多媒体环境,帮助学习者迅速获取资源、不受时空限制地进行学习交互,从网络虚拟人际关系为感受逼真的沉浸感,能明显促进学习者的认知过程。而智能手机和笔记本等移动设备在高校普遍使用,使学习者有更多网络接入机会。

美国调研公司Flurry发布报告称,当前全球活跃联网设备(主要指智能手机和平板电脑)数量超过10亿部,按照当前的发展增长,2014年将达到20亿部[1]。年青大学生是持有这些智能设备的一支主力军,笔者对所任教2012级4个班级136名学生拥有的手机(智能手机)、个人电脑(笔记本)、校园网接入(无线接入)情况进行调研,如表1所示。调查数据表明,绝大部分学生拥有移动智能设备与校园网接入条件,移动设备和智能手机已成为本科学生日常学习娱乐、交际的主流工具。

表1 某高校大一新生智能终端/PC机与网络条件

*无线接入率指无线接入与整个网络接入比。

与以往客户端-服务器(Client-Server,C/S)模式或以服务器为中心模式的学习系统不同,在普适性网络学习环境中,任何学习者可以随时随地获取学习资料、进行在线交流,构建互操作、泛在、无缝的学习环境,学习者、学习资源、学习服务等维度在普适学习环境中有机协调与统一。在普适性程序设计教学环境中,学习任务和难度分解到各泛在环节,学习能适时获取各种资源服务与即时交互,学习沉浸感更强,改变传统模式下程序设计教学任务繁重、内容枯燥等现状,有利于教学效果提高。

文章基于上下文感知技术,研究利用移动智能设备和校园网络接入,构建一个普适程序设计课程网络教学环境,在教师、学生、资源之间形成多边网络,帮助教师与学生之间建立多边沟通协助关系,精准化推送学习资料,并对教学效果进行分析。文章第1部分介绍普适计算与泛在学习环境,第2部分介绍智能手机上下文感知框架及相关普适学习环境构建技术,第3部分介绍普适程序设计课程网络教学环境设计,第4部分提供普适环境网络环境下程序设计教学案例与效果分析,最后给出结论。

1 普适计算与泛在学习

普适计算(Ubiquitous computing)又称泛在计算(pervasive computing),其思想最早由Mark Weiser1991年提出[2],核心内容是让计算机作为一种透明工具,计算机本身应从人们视野中消息,以便让人们的注意力回归要解决的任务本身。关于普适计算定义,学术界尚无统一标准,较有代表性的有徐光祜等定义:信息空间与物理空间的融合,在这个融合的空间中人们可以随时随地、透明地获得数字化的服务[3];维基百科定义:普适计算又称普存计算、普及计算,是一个强调和环境融为一体的计算概念,而计算机本身则从人们的视线里消失。在普适计算的模式下,人们能够在任何时间、任何地点、以任何方式进行信息的获取与处理。普适计算概念一经提出,即引起了研究人员的广泛关注,其标志性事件为1999召开第一届Ubicomp国际会议,2000年Pervasive Computing国际会议及2002年,IEEE Pervasive Computing期刊创刊。近年来,物联网和云计算机技术的发展,智能手机和平板的普及,移动网络的发展,推动普适计算新一轮发展。

随着“普适计算”概念提出,国内外出现了“泛在学习(Ubiquitous Learning)”的广泛研究。张洁等提出无缝学习、境脉感知、适应性服务[4];Dahotre A 等提出学习进度跟踪与反馈:教师讲授核心内容,通过智能教学,让学生选择感兴趣的内容[5]。关于泛在学习概念,国内外也有多种定义,Guozhen Zhang 与Timothy K.Shih认为,泛在学习是一种学习方式,学习者可以完全将注意力集中到学习过程而不用关心位置与时间的限制[6];付道明等将泛在学习定义为普适计算环境下未来的学习方式,为学生提供一个可以在任何地方、随时使用手边可以取得的科技工具来进行学习活动的3A(Any where、Any time、Any device)学习[7]。尽管对泛在学习有不同定义方式,但其本质特点是一致的,主要表现在:①泛在,学习者可不受时空和设备限制,随时随地进入学习环境,摄取学习资源,获得学习支持;②交互,学习者可以利用泛在计算设备及网络,随时与其他学习者或教师进行交互,智能系统记录学习者行为并适时给予反馈;③情境模拟,泛在环境为学习者提供真实的学习情境,设备和网络状况对学习者是透明的,只需要集中精力于解决问题本身,不受计算环境和资料限制。

2 上下文感知技术

上下文概念最早出现在上世纪90年代,包括计算上下文、用户上下文、物理上下文,其宗旨是利用各种上下文内容如网络状态、用户特征、环境参数等实现普适计算中人和计算机持续进行透明性交互。由于移动设备和无线网络的迅速发展,上下文感知技术再次激起研究人员和业界的广泛关注,LBS(Location Based Serve)等上下文感知技术在导航、社交网络等领域已经有广泛应用。上下文感知也是泛在学习的一个主要技术手段,Hwang等提出上下文感知的泛在学习(Context-Aware Ubiquitous Learning),并将Context-Aware Service看成泛在学习概念三个关键服务之一[8]。利用上下文感知技术,可有效集成数字学习场景与真实世界,提供更具适应性和活力的学习支持。

通过智能手机的摄像头、麦克风、GPS传感器、重力加速器等传感器,可获取学习者的现场图像、声音、位置。经过上下文计算,可获取更高级别的用户状态,如学习进度或行动模式(静止、步行或乘车等),作为更精准的智能交互与信息推送条件。

图1描述了基于智能手机的上下文感知框架。感知源包括外部上下文和内部传感器上下文,前者指网络环境、用户交互及系统时间等,后者主要包括GPS/Wi-Fi接入、重力加速器、摄像头/麦克风等,这些传感器可以辅助系统获取学习者所在位置与方向、行动模式、周边图像与声音环境。一般来说,智能手机环境上下文感知步骤包括:①信息采集,通过传感器采集数据,如经伟度、三维重力变化、视频/音频;②上下文数据存储,数据存储在本地SD卡或通过网络发送到远端服务器;③数据分析,通过模式识别、匹配,数据融合等技术手段,提取上下文数据的实际意义,如计算加速器参数的x,y,z三个轴变化频率,通过模式识别可判别机主出行方式,通过GPS经伟度改变与时间差计算移动速度从而判断用户是否处于静止学习状态;④信息表示,将上下文信息以可理解位置信息、行动模式、视/音频流等上下文语义形式,并在人机界面中进行呈现或作为其他系统的参数输入。经过地理位置、行为模式、网络接入方式等多种上下文融合后的信息输出,可作为泛在学习环境中教学活动的触发条件或控制输入,减少用户操作干预动作,提高系统的智能性,比如,根据学习者位置自动建立学习讨论组,当学习者进入实验室,自动推送实验资料等。

图1 智能手机上下文感知模型[9]

3 泛在网络学习环境设计

3.1 网络架构

移动和传感技术的成熟使智能手机和平板电脑等移动设备越来越普及,这些设备在泛在学习环境应用,配合以有线和无线通讯网络,学习者沉浸在真实世界与数字环境的交融中,获取学习资源、实时交互,接受教师点对点的指导,都变得十分简单。

图2描述了程序设计教学泛在环境的网络体系结构,在泛在学习环境下,教师和学习者可以使用智能手机、平板电脑、笔记本或台式机等多种终端进入学习环境。校园网是数字教学资源核心,内部构建程序设计教学资源数据库、上下文感知中间件与网络课堂平台[16]。教师和学习者使用有线或无线网络连接,直接或经远程代理进入数字学习环境。网络平台既可作为传统课堂教学的辅助环境,也可实现独立的程序设计自主学习。

图2 泛在学习环境网络架构

3.2 功能层次与模块

按系统功能层次划分,普适程序设计教学平台自底向上依次为数据库层、服务层和应用层,见图3。

图3 程序设计普适学习系统系统功能层次图

数据库层包括程序设计教学资源库与上下文库两个主体。教学资源库存储程序设计教学所需要的电子教材与课件、程序源代码、案例、实验与作业等数字化资源。上下文数据库存储学习者状态、进度以及学习交互上下文等信息。

服务层包括三个核心模块:①上下文适配器,负责学习资源与上下文关联与协作的上下文,根据学习者上下文信息,从学习调配相应资源库,生成合适的学习场景,并向学习者进行推送;②多媒体服务器,该模块网络教学的媒体支撑中心,提供的双向实时视频及课程录像点播放,辅助完成网络教学活动的双向视频对话及课程组播;③Web服务模块,整合学习资源、学习者、教师及其对应的上下文信息,通过Web页面和Web Services接口两种方式提供界面,使用对象包括人和异构平台下的设备或程序,发布内容有学习资源、学习交互、个性化学习管理等。

顶层为应用层,使用者为学习者和教师,用户使用智能手机、平板电脑或PC机,通过客户端软件或浏览器调用应用服务层服务。同时,智能终端和网络环境也作为上下文信息采集源,收集学习者位置、网络条件、学习进度、小组交互情况等情境下的上下文,汇入上下文数据库,作为系统下一步上下文适配的数据源。

4 案例与效果评价

程序设计教学活动中,教学资源及案例的易获取性、学习氛围和学习交互能力、教师的即时辅导,都是提高学习效果的重要因素。在普适互环境中,根据学习者的上下文信息,可以以更精准的形式推送学习资料,构建学习交互小组,向在线同学或教师寻求帮助,列举几个典型的普适互环境下程序设计教学用例。

4.1 学习者脚手架

建构主义教学理论认为世界是客观存在的,教学设计应根据学习者自身的构建和知识组建,教学设计应该以学习者为中心,提供支架式教学辅助环境,网络学习环境的搭建应遵循创设情境、提供学习交互以及发挥教师主导作用等目标。在普适计算环境下,不同终端都能加入协同学习环境,智能终端的上下文感知传感器很容易获得学习者当前状态信息,帮助学习者快速获取资源、组织在线讨论团队、向周围人发出请求等。普适环境改变传统程序设计课程教学沉寂的学习氛围,学习者寻求即时帮助的机会增多,学习兴趣和效果明显提升,更易于构建学习者脚手架框架。

普适计算网络教学环境为学习者提供脚手架功能,流程如图4所示,当学习者通过智能手机/PAD等智能终端或PC机进入程序设计网络课堂,系统自动获取学习者的设备类型,通过网络地址或LBS感知设备获取学习者所处位置,并根据学习进度推送相关的学习资源与任务。学习者根据当前位置和学习进度上下文,可快速发现附近学习者及其状态,创建或加入讨论组,向组内成员或教师请求帮助。在普适环境下,程序学习课程学习者的沉浸感更丰富,获取资料和帮助更即时,传统程序设计过程中普遍存在的枯燥、挫败感等学习心态随之转变为获得成功的愉悦感。

图4 学习者脚手架流程图

4.2 多元一体程序设计教学环境

程序设计学习中,在真实编译环境中进行程序的现场调试演示是提高学习兴趣和效率最有效途径。网络环境中,利用实时音视频与远程桌面技术,教师与学习者可实现传统多媒体课堂中的演示。Google公司开发了网页实时视频库WebRTC,支持浏览器的无插件视频,并支持Android平台[11],使基于Web的实时多媒体通信成为可能。文章实现了基于WebRTC的多终端即时视频界面交互功能,如图5所示。图5(a)为学习者利用Samsung PAD p1000平板,接收教师端的桌面广播,图5(b)是教师使用PC机浏览器与学习者实现远程即时视频,并向其广播桌面操作窗口。

(a) PAD终端

(b) 浏览器端

考虑到异构设备和平台对程序设计语言的支持差异,系统采用基于HTML5的Web方案设计实现,在不支持程序编译的终端上,学习者可由Web界面将程序传送到服务器端执行,执行结果以图片形式传回终端界面,保证以最客观真实时环境模拟程序设计上机实践场景。多元一体网络教学环境支持音/视频、远程桌面、文件传输,学习者只需打开智能手机客户端,通过校园Wi-Fi即可实现程序设计的网络远程学习。

4.3 教学效果评价

通过对授课学生问卷调查、分析江苏省计算机等级考试C语言成绩两种手段,对普适网络环境的程序设计教学效果进行分析,如表2和图6所示。

图6 江苏省等级考试二级C语言成绩对比分析

传统教学普适环境资源教材、网站个性化资源推送、即时帮助交互课堂讲授,演示,通讯手段(电话/网站/e⁃mail/即时聊天工具)状态感知、即时音/视频、虚拟程序调试学习情境课堂、上机实验、作业、预习与复习周围学习者感知,随时进入网络学习群体,即时讨论与帮助学习效果初学者编程实践无从下手、学习者有困惑感甚至厌倦感、学习时间投入少、气氛不足能通过泛在网络随时进入学时状态,感受学习同伴及其进度,有非常强烈的兴趣,能获得即时帮助,易于实践

相对传统程序设计教学活动,在普适网络环境中,得益于上下文技术对学习者的位置、状态与进度感知与主动反馈,学习者可容易进入学习状态,感受附近学习者存在,学习沉浸感更强,更容易获得针对性的学习资源以及寻求在线帮助。

江苏省C语言二级考试全省平均通过率在30%,985高校通过率为65%左右,总体难度大于全国等级考试。对比班级分别为笔者单位2011届传统授课班与2012届普适网络条件下教改试验的“数字媒体”专业学生,两届学生入学成绩相当。传统授课班合格率/优秀率分别为36%/0%、50%/1%,试验班分为89.75%/5%、91%/7%。此外,试验班有数十名学生先后在大学生计算机设计大赛、全国软件人才程序设计大赛中获奖。对比成绩说明,在普适网络环境下进行程序设计教学,学习等级考试成绩及实践能力显著提升,表明普适网络环境对程序设计教学效果有显性促进作用。

5 结 语

智能手机和校园Wi-Fi的使用,使高校学生能随时获取校园网络资源。基于校园网构建的程序设计普适学习环境,利用移动终端的上下文感知技术,实现学习者状态感知以及精准化学习资源推送和多媒体立体交互。在泛在网络学习环境下,学生可随时随地进入程序设计学习状态,发现周围学习者并寻求即时帮助,获取更强烈的学习沉浸感。对照数据表明,在普适网络学习环境下,学生参与程序设计学习的方式和氛围更为灵活轻松,学生容易获得成就感,更愿意投入学习,学习效果也明显提高。

[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] 张 洁. 基于境脉感知的泛在学习环境模型构建[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] 付道明,徐福荫,张 杰.普适计算环境中的泛在学习[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] 钱 权, 张 瑞, 袁 方. 计算机网络课程中的项目式实验教学[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]. 现代教育技术, 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.

猜你喜欢
程序设计智能手机学习者
智能手机是座矿
你是哪种类型的学习者
基于Visual Studio Code的C语言程序设计实践教学探索
十二星座是什么类型的学习者
从细节入手,谈PLC程序设计技巧
假如我是一部智能手机
汉语学习自主学习者特征初探
高职高专院校C语言程序设计教学改革探索
热门智能手机应用
高校学习者对慕课认知情况的实证研究