基于AJAX技术协作知识建构学习平台的研究与设计*

2012-10-20 05:39张曼琳
中国教育信息化 2012年5期
关键词:群组页面协作

张曼琳,顾 容,徐 梦

(浙江工业大学 教育科学与技术学院,浙江 杭州 310014)

基于AJAX技术协作知识建构学习平台的研究与设计*

张曼琳,顾 容,徐 梦

(浙江工业大学 教育科学与技术学院,浙江 杭州 310014)

协作知识建构是网络学习研究的重要内容,为了促进协作知识建构活动的有效发生并提高学习效率,文章利用AJAX技术具有的局部刷新和异步通信特点开发了协作知识建构平台。该系统关注对协作知识建构过程的交互环节和群组协作环节的设计,为群组间提供同步异步相结合的交互模式,为群组内提供分组策略、协同创作工具,以及音视频群组聊天室。通过实际的教学实验结果分析,该平台能有效促进协作知识建构学习的效率。

协作知识建构;AJAX技术;异步请求

一、研究背景

Koschmann认为学习是一个协作知识建构的社会过程。目前,协作知识建构是网络学习研究的重要内容,它强调了学习者必须参与到协作学习伙伴之间的讨论和交流中,与学习伙伴分享学习资源、观念和理解,并在该过程中增强个体对知识的理解或修正已经形成的错误观点,从而实现对新知识的建构。[1]甘永成认为知识从“浅层建构”走向“深层建构”应采取协作知识建构。协作知识建构对教育的意义主要表现在:

(1)协作知识建构革新教育理念[2]

协作知识建构成为教学的焦点意味着教学思路的转变,即把知识建构直接作为教师和学生的关注焦点,而不是隐藏在各种课业任务之后;教学活动直接关注学习者对知识(思想)生产和持续改进的过程,而不只是关注活动的表面形式。

(2)促进学习者与教师角色的变化

在知识建构过程中,学习者是知识的主动建构者,参与学习者与教师之间的关系是平等的,都在知识建构过程中扮演者主要的角色。

(3)促进知识建构共同体的形成

知识建构共同体(Knowledge Building Community,简称KBC)是一个以思想的形成和持续改进为关注点的团体,其成员通过建构性的互动过程发展对于共同体有价值的思想。[3]学习者针对共同关心的探究领域展开探究活,通过讨论、评点、改进、丰富,延伸出新的问题。

知识是个体通过与其他学习者的交流和协作而建构的,并以社会和文化作为中介,网络环境下的协作知识建构强调学习者必须参与到协作学习伙伴之间的讨论、交流中,与协作学习伙伴分享个体对知识的理解,在讨论交流过程中获得对知识的深入理解。然而经过研究发现,很多网络学习平台存在或对协作过程的交互环节设计不够,或对群组协作的支持不够的问题。一个良好的协作知识建构学习平台首先要对协作知识建构的各个过程给予支持,其次要提供充分的交互和协作机制。本文在采用AJAX技术在ASP.NET环境下开发了协作知识建构学习平台,平台不仅对协作知识建构各个过程给予很好的支持,更注重对交互模块和群组协作功能的设计,同时也为协作知识建构过程学习者动机的的激发提供策略性支持,比如积分排名模块和评价模块的设计。实验证明本平台能够促进知识“深层”构建,有利于促进学习共同体的发展。

二、AJAX技术

AJAX 全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式Web应用的开发技术,由Adptive path的咨询顾问Jesse James Garrett首先提出。AJAX的核心是JavaScript对象XMLHttpRequest。该对象在IE5中首次引入,它是一种支持异步请求的技术。[4]

简而言之,XML HttpRequest使用JavaScript向服务器提出请求并处理响应,而不阻塞用户。[5]AJAX核心要素包括:JavaScript、CSS(Cascading Style sheets)、DOM(Document Object Model)和 XMLHttpRequest。 JavaScript是一种在浏览器端使用的编程语言,它可以使用浏览器中的很多对象,包括XMLHttpRequest。[6]CSS是一种为Web页面元素提供可重用样式定的语言。在AJAX模式中,可通过CSS定义和修改用户界面的外观风格DOM是面向HTML和XML文档的API,它为文档提供了结构化表示,并定义了如何通过脚本来访问文档结构。在应用AJAX技术时,可以通过DOM来解析处理XML文档和新HTML页面的内容。XMLHttpRequest对象为客户端程序提供了在后台与服务器交换数据能力,是异步交互式Web应用开发的关键。

AJAX采用的是“按需取数据”的模式,可以仅向服务器发送并取回必需的数据,所以最大可能地减少了冗余请求和对服务器造成的负担;它使用SOAP或其他一些基于XML的Web Service接口,在客户端采用JavaScript处理来自服务器的响应。这样,在服务器和浏览器之间交换的数据就会大量减少,用户就能看到响应更快的应用,用户可以感觉到几乎所有的操作都会很快响应而没有页面重载的等待。研究表明,AJAX的这种数据交互模式相比于传统的整页刷新模式,节省网络带宽超过60%。[7]AJAX应用模型如图1所示。

AJAX在用户与服务器之间引入一个AJAX中间引擎,Web页面不用打断交互流程进行重新加裁,就可以动态地更新,从而消除了网络交互过程中的处理——等待——处理——等待的缺点。AJAX引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。客户端用JavaScript调用AJAX引擎来代替产生一个HTTP的用户动作,内存中的数据编辑、页面导航、数据校验这些不需要重新载入整个页面的需求可以交给AJAX来执行。图2显示的是AJAX异步通信机制原理。

AJAX应用与传统的Web应用比较起来,主要具有以下优点:(1)可以减轻服务器的负担,提升站点的性能;(2)程序无需刷新整个页面,减少网络响应时间,减少用户实际和心理等待时间;(3)具有更好的用户体验等。[8]

三、AJAX技术在协作知识建构平台中的应用

ASP.NET AJAX技术在本系统中的应用包括如下几个方面:(1)客户端用户验证。使用ASP.NET AJAX客户端AuthenticationService对象,实现用户登录网站后可以不必执行页面的完整Postback。(2)个性化用户功能。本系统使用了ASP.NETAJAX用户个性化功能、在平台上的一切学习活动(包括上传文件、参与群组活动、在线时间、参与交流活动等)进程统计,实现个性化功能,这些功能统一由客户端ProfileService对象提供。(3)局部刷新页面。本文利用AJAX技术中的网页局部刷新功能避免用户由于经常访问服务器造成数据的重复传送,这方法可以减轻服务器的负担,加快网页下载速度,提高系统性能。局部页面刷新主要使用了ASP.NETAJAX中的Up-datePanel控件和ScriptManager控件。(4)显示在线用户。(5)创建群组聊天室,此功能将后面做详细介绍。

四、协作知识建构学习平台主要功能模块设计

根据协作知识建构过程理论,平台功能模块如图2所示。系统首先对使用者进行角色区分,即“学习者”与“教师”角色,设置了注册登录与权限控制模块,对使用进行角色的权限管理。根据角色设计了三个主要功能模块:学习端功能模块、公共功能模块及教师管理端功能模块。根据谢幼如等人提出协作知识建构“五阶段”过程[2],本文在学习端的功能模块中,设计了以下几个主要功能模块:教学任务设计、群组协作、作品发布、资源分享、社区交流、评价等模块,并对协作知识建构的各个过程给予支持。在公共功能模块中,系统定义了三个主要功能:资源的搜索、查看评价结果、查看用户排名群组排名,在教师管理端功能模块中,教师具有用户教师管理、论坛管理、群组管理,学习任务设置、积分管理、作品管理、评价管理等权限。图3是平台的系统功能模块图。

(1)教学任务设计模块

该模块允许教师根据教学情况布置教学任务,任务类型分为个人活动和群组任务,教师可以设置教学目标、规定小组人数,分配小组任务。

(2)资源共享模块

教师通过该模块将教学资源预先上传到服务器的资源分享区,学生也可以将资源分享到该区域,同时也可以随时下载自己需要的资源。文件的类型包括音频、视频、图片、以及网站等,上传的文件格式,可以是.zip,.rar,.doc,.txt,.ptf,.xls,.pps格式等。

(3)社区交互

本模块是系统的核心模块,该模块设计的目的是促进教师与学生,学生与学生,群组间的互动和沟通,提供同步异步相结合的交互方式。该模块交流的平台是论坛,本文对该部分分别设计了五个不同板块,同时将QQ群的设计思想引入到本平台,分别对五个板块配上技术交流群,方便学习者之间进行即时的交流和互动。

(4)群组协作模块

系统的另一个核心模块是群组协作模块,该模块主要提供三个功能:一是提供分组功能,教师可以根据学生的认知水平、基础知识、认知风格对学生进行分组,开展各种模式的协作学习活动,学习者加入到学习群组后可以参与群组讨论,在群组内分享经验、资源、信息等;二是提供群组即时通讯工具,本文建立了群组聊天室,为群组内部提供音视频即时通讯工具,方便群组内部的交流。三是提供群组协作工具,Wiki已经被公认能够促进协作,促进知识建构,所以,本系统仍然选择Wiki作为群组协同创作的工具。系统跟踪记录群组学习行为,管理群组文档,方便群组内的评价和反思。

(5)积分排名模块

本平台中积分排名板块中主要针对用户的三个方面进行排名,即关注度、活跃度以及用户等级,其功能主要用来评价用户的参与行为,用户所有操作都可能影响到积分的增减。系统根据学习者的贡献程度奖赏不同的积分,另外,平台还有推荐空间之星、推荐优秀作品、文件被设置为精华、文件被置顶、推荐优秀群组等功能,其目的是在社区中树立榜样,以此激发社区成员相互学习,发扬用户的贡献精神。

(6)评价模块设计

该模块支持个人评价和小组评价方式,评价模块的设计流程:教师首先选择评价对象(个人或者小组),然后设置评价内容,第三部是选择评价方式,评价方式分为小组评价和个人评价两种。最后发起评价活动,评价活动开始后学习者参与评价。系统自动汇总评价结果,同时对评价的结果做出相应的排名。

五、核心技术实现

1.二次授权控制

本系统的安全控制主要是用户权限的控制,不同的用户拥有的使用权限是不一样的。权限控制从以下两方面进行,一是页面授权的控制,这种方式授权后就是不同的用户直接使其拥有不同的页面权限;另一种是数据集的控制,即二次授权功能,这也是本系统的一个关键技术,即在考虑到用户页面权限的情况下,设计系统也考虑到了即使在同一个页面,不同的人进入后,查询到的数据结果等也是不一样的,这是通过后台数据集的不同分配和筛选来实现的。具体执行过程是:(1)前台通过注册登录与权限控制功能对用户的角色和用户信息进行管理,平台由系统管理员将用户分为三种角色:匿名用户、学生、教师;(2)不同的角色拥有不同的权限,不同身份的人进入系统时,系统先进行第一次页面授权的校验;(3)当用户登录进页面时,系统将根据授权的不同先到用户权限表里去查询该用户是否有权限访问相关数据;(4)根据权限匹配的结果,查询反馈出相应的数据结果集给相应的用户,二次授权流程如图4所示。

2.异步分组算法

在本系统中,分组是调度并分析学生的认知水评和认知风格测量表信息,按照异步分组算法,采用完全自动异质分组形式实现协作组的构建。分组的流程为:(1)用户首先登录注册以及风格策略获取用户特征信息。(2)根据任务的特征如难度、类型、涉及知识点的范围等,选择与某项任务匹配程度最佳的用户。(3)根据组容限制判断每项任务小组规模,确定任务数量的上限。(4)调用异步分组算法进行分组。其流程如图5所示。

异步分组算法实现:首先获得任务分组规模GroupSize和任务分组的方法 GroupMethod;有GroupMethod计算任务优先级进行第一次任务分配。满足条件进入下一步判断,不满足条件退出进行人工分组。通过GroupMethod获得学生总人数:n=T able(Student).Rows.Count,分配相应小组人数m=Round(n/5),本系统规定小组人数一般在5~7个范围之内;判断小组目前已有人数TaskCount是否小于m,如果满足条件,TaskCount自动加1,调用由任务分组规模GrupSize和学生信息StudentInf形成分组相关的数据集GroupReIatedSet和由任务分组的方法Group-Method形成任务相关性数据库TaskRelatedSet,进行异步分组,满足条件加入群组。如果不满足调研GroupMethod进行二次分配。

3.无刷新多人视频聊天室

本模块采用AJAX+SQL+Flash+P2P技术来实现点对点无刷新多人视频聊天室的功能,系统不仅解决了页面刷新带来的白屏问题,而且能降低服务器和网络传输负荷,采取Dictionary、LinkedList集合实现数据的处理。系统采用TCP传输协议实现,速度快、效率高,音视频的传输。其效果如图6所示。

技术实现如下:

公共函数本分通过PublicFunction.js中的alert()函数实现消息弹出框;NewWin()函数实现新建window;CreateXMLHttpRequest()函数实现获取页面;Get_UserList()函数用来刷新在线用户列表;Get_MsgList()函数能准确的获取信息列表以及判断Session是否过期过期函数、刷新并加载等函数。

在聊天功能实现部分,本文采用P2P技术实现文本点对点聊天功能,该部分主要包括:在信息栏输入聊天的内容,发送消息、在聊天记录上接收到聊天内容。聊天的模式可以选择大厅聊天模式和私聊模式。同时支持文件和图片上传发送功能。

在音频传输功能实现部分,本文通过waveIn系列函数实现音频采集,音频压缩功能通过设置缓冲区来实现,音频传输功能通过TCP传输协议来实现,G.711的语音编码方法进行编码。音频的发送和接受过程通过两组SOCKET组用于指令发送和接受。

在视频传输功能实现部分,视频采集通过自带的视频卡采集来实现,通过H.264标准来实现视频的压缩,通过传输协议来实现视频的传输。视频流的处理过程包括视频采集、编码、分包、发送、接收、组包、解码和显示等过程。本文主要通过 Video_start_capture()和 Video_stop_capture()函数实行视频的采集,通过 Video_Encode_Thread(LPVOID pParam)实现视频压缩,通过 Video_Play (DWORD id,char*buf)实现视频的播放,用id标识出是用户传来的数据,buf代表视频数据缓冲。

另外本文采用时间戳方式对音视频同步的问题进行了处理,实现了音频和视频的同步。

六、平台框架设计

本系统采用三层技术架构,即表现层(UI)、业务逻辑层(BLL)和数据层(DAL),其架构如图 7所示,整个系统的设计完全遵从“高内聚,低耦合”的思想。

系统采用ASP.NETMVC技术作为主要开发工具,大量采用了AJAX技术动态生成用户页面,通过CSS提供不同的风格样式来控制前台画面的风格表现,让用户获得良好的用户体验。系统使用MVC2作为开发模型并通过JavaScript实现各种交互逻辑。采用SQLServer 2005存储用户的个人和群组信息,实现对学习行为和过程全程跟踪记录,数据访问层采用了Provide设计模式所以可以方便地移植到其他关系型数据库。该系统可以直接在任何安装有IIS6.0的PC机上或服务器上运行。

七、实验研究与总结

为了验证平台实际教学效果,对平台做了为期4周的对比实验研究,实验对象是浙江工业大学教科学院本科某届A、B两个班级的学习者,A班级是实验组,B班级是控制组。本实验的目的一是验证本平台对学习者的参与积极性是否有一定的促进作用;二是验证本平台对学习者的协作能力是否有一定的促进作用。实验过程中由老师布置教学任务,让实验组采用本平台进行学习,让控制组采用传统式的教学方式进行学习。通过为期4周的实验教学,统计结果发现:(1)实验组学生在教学过程中表现出较高的参与热情,站内数据统计显示,发帖数每天平均在8条(控制组为1~3条左右),每个话题的回帖基本保持在10条以上(控制组为0~2条左右),每天发表文章平均数为7.6篇(控制组平均为2.8篇),其中原创文章数占70.7%(控制组为40.3%),平均每周学生登录系统的次数在8次(控制组为3.4次);(2)在对问题的解决上,通过一段时间的学习,实验组学生的问题解决能力和高水平思维技能都要优于控制组的学生,实验组学生对自己的学习活动和知识相对于控制组有更深入的认识和反思。(3)在协作方面,学生更愿意选择通过协作的方式来解决问题,实验组的协作能力明显优于控制组。学生的学习兴趣更高。实验结果对比如图8所示。

以上实验结果表明,本平台自投入运用以来收到了良好的效果,对学生的元认知水平、交流协作能力、参与的动机等方面都有很高的促进作用。

[1]赵建华.David M cConnell.网络学习中的协作知识建构[J].外语电化教学,2007(115):38-46.

[2]谢幼如,宋乃庆,刘鸣.基于网络的协作知识建构及其共同体的分析研究[J].电化教育研究,2008(4):38-46.

[3]Marlene Scardamalia,张建伟,孙燕青.知识建构共同体及其支撑环境[J].现代教育技术,2005,15(3):5-13.

[4]夏腾,覃俊.有关AJAX相关问题探讨与研究[J].电脑知识与技术(学术交流),2007(11).

[5]田原.基于AJAX的教学W eb应用[J].辽宁工程技术大学学报,2007(5).

[6]Darryl K.‘Atlas‘ to Go-Live at M ix;Microsoft to tout AJAX tool,weighs new beta test model[C].Taft.e Week,2006,23,23(12):13.

[7]Christopher L Merrill.Using AJAX to improve the Bandwidth Performance of Web Applications.[EB/OL].http://www.webperformanceinc.com/library/reports/AjaxBandwidth/index.html,January15,2006.

[8]王洪福,张伟平.本科生毕业论文(设计)在线管理系统设计与实现[J].中国电化教育,2011:130-134.

TP311.52

B

1673-8454(2012)05-0044-05

本文受浙江省研究生创新科研项目“基于语义网络的自适应教学模型研究”基金(编号:YK2009036)支持。

(编辑:杨馥红)

猜你喜欢
群组页面协作
刷新生活的页面
答案
让Word同时拥有横向页和纵向页
团结协作成功易
监督桥 沟通桥 协作桥
Boids算法在Unity3D开发平台中模拟生物群组行为中的应用研究
狼|团结协作的草原之王
协作