更全的杂志信息网

Piazza问答平台与Open edX平台的集成*

更新时间:2009-03-28

1 引言

随着大型开放式网络课程MOOC(Massive Open Online Courses)[1]学习平台用户群体不断壮大,越来越多的学习者选择进入在线课堂进行学习。如何提高学习者之间、学习者与老师之间的交流效率,是学习者提高学习效率、教师提高教学质量的关键,也是在线学习平台发展完善的目标之一。中国大学MOOC设置了三个讨论区——教师答疑区、课堂交流区和综合讨论区供学习者进行交流讨论。学习者依据讨论区的板块划分,在对应板块发表相关主题,教师和学习者在讨论区针对该主题回复实现讨论。由于缺乏合理的主题分类机制,讨论区内主题多而繁杂,使得整个讨论区比较混乱,学习者无法快速找到对自己有用的信息,导致学习者对讨论区的利用率比较低,以至于很多课程直接选择了单独的第三方问答平台进行讨论而不依托于Open edX平台的讨论区。与Open edX平台不受用户欢迎的讨论区相比,第三方问答平台如Piazza问答平台[2]由于其发展成熟、功能完善受到学生和老师的喜爱。但是,第三方问答平台与在线课程平台两者之间相互独立,缺乏有效的结合机制,给学习者的学习交流以及教师的教学带来了诸多不便。因此,选择合适的第三方问答平台并使之与Open edX平台结合是改进学习平台讨论区功能行之有效的方法之一。

"天气逐渐变冷,真正的冬天来了。每到这个时候,一些与冬天有关的老梗又会沉渣泛起。现在,我们就把它们一网打尽!"

Piazza问答平台是一个专门为教师和学生提供的服务于课堂教学的在线问答平台。Piazza平台集WiKi和论坛模式于一体,其用户群体遍布美国各大知名高校,包括哈佛、斯坦福、MIT、哥伦比亚和普林斯顿等。在全球范围内,目前Piazza拥有125万大学生用户,来自68个国家的1 000所学校中有超过30 000名大学教授选择Piazza辅助课堂教学[3] 。Piazza与其他问答平台如Quora[5]、知乎这样的综合性问答平台相比有以下三个优势,使得Piazza更适合与Open edX学习平台相结合。首先,Piazza根据学生和教员的身份不同,把学生所发的贴子(Post)与教师所发的Post分开,学生和教员的回答也会分别列示,这样做的好处是浏览交流数据更加方便;其次,Piazza平台上每一个Post都会被打上标签,用户可以根据标签筛选Post,快速从大量的讨论记录数据中找到自己所关心的信息;最后,Piazza平台上的每一个Post都有唯一的Id,根据Id用户能唯一检索到特定的Post。以上优点使得学生和教师在使用Piazza进行学习交流时得到了很大的便利,如果能够把Piazza与Open edX平台结合在一起,让Open edX学习平台充分利用Piazza拥有的优势,学生就可以在Open edX平台学习过程中实现与教师以及学生之间的高效交流。

实际使用过程中,发现Piazza平台仍然存在不足,不能完全满足学生与老师在学习和教学过程中的需要。其中一个显著的缺点是:由于Piazza平台关于交流数据的筛选只支持单个标签的一次筛选,因此当Post的数据量积累到一定程度时,进行一次筛选后的结果数据量仍然很大,导致用户很难从筛选结果中快速找到其期望的结果。另外,由于用户查找其关心的历史问答数据效果不好,以至于用户会选择发新的Post进行提问,使得Piazza积累的Post越来越多,而且有大量涉及相同问题的冗余Post,历史信息没有被有效利用。

Open edX平台是一个开源的在线课程平台,它由目前MOOC领域的三座大山[6] :Coursera、Udacity和edX之一的edX在2013年开放源码之后发展而来。开发者可以基于Github公开的源码搭建Open edX平台,进行深入开发。目前,针对edX平台的研究工作主要集中在对互评系统的优化[7] 、对学习行为的分析[9 - 11]以及各类课件组件的开发。而针对edX平台讨论区方面的研究主要集中在基于己有的讨论区进行教学研究[12],或直接在单独的第三方问答平台进行讨论而不依托于edX平台的讨论区[13] ,edX平台的讨论区在功能上有很大局限性,而且目前并没有得到有效改进。

edX平台拥有强大的视频和练习等学习过程的管理功能,但无法在学习过程中提供与当前学习相关的问答信息,而上述提到的第三方问答平台Piazza拥有大量的与学习内容相关的问答信息,如果能把Piazza平台的问答信息与视频学习功能相联系,对提高学习者的视频学习效果有很大帮助。

Xblock[14]是Open edX平台的开发工具包 ,由Python2语言实现,于2013年3月14日公开发布。Open edX的课件由分层联系的组件构建出来,这些组件包括视频播放器、计算机辅助个性化教学CAPA(Computer-Assisted Personalized Approach)[15]以及像学习序列这样的复杂组件。Xblock是专门为这些组件而开发的第二代应用程序编程接口API(Application Programming Interface)。Xblock和学习工具互操作性LTI(Learning Tools Interoperability)[16]这样已经存在的行业标准的区别是Xblock是专门为Open edX 平台开发的SDK(Software Development Kit,软件开发工具包)。Xblock既能以LTI-Xblock形式封装在LTI中,也能直接嵌入到Open edX平台的课件中,具有良好的可扩展性。

本文基于对Piazza页面的分析,利用网络爬虫周期性地从Piazza问答平台获取json结构化数据,并将数据保存于Github仓库中,实现对Piazza平台历史数据的积累;基于多标签过滤方法对Piazza讨论数据进行搜索,使用户能够方便地查找到已有的相关讨论数据,提高了Piazza讨论数据的搜索能力;借鉴Piazza平台基于handlebars[17,18] 模板引擎的json数据解析和展现方法,将Piazza讨论数据集成并展现到Open edX平台上,方便学习者在学习过程中及时利用Piazza上的讨论数据;采用基于统一资源定位器URL(Uniform Resoure Locator)参数的问答数据筛选功能实现视频教学与相关问答信息的结合。本文在Open edX平台上利用Xblock SDK开发了Piazza-Xblock插件,实现了Piazza问答平台与Open edX课程学习平台的有机结合,解决了由于第三方问答平台Piazza与Open edX平台相互独立给用户带来的使用不便问题。

1.4 统计学分析 运用SPSS 20.0统计学软件进行数据分析,计数资料以[例(%)]表示,组间比较采用χ2检验;计量资料以表示,组间比较采用t检验;方差齐性检验采用F检验,P<0.05为差异有统计学意义。

本文后续章节安排如下:第2节介绍Piazza问答平台与Open edX学习平台的集成框架。第3节对重点工作进行分析,主要介绍了Piazza平台的数据获取方法、Piazza 平台问答数据查找的多标签优化算法,以及对积累的问答数据的分析和展现。第4节以2016年春季清华大学《操作系统》课程为实例,展示了本文开发的Piazza-Xblcok插件的实际使用效果。第5节对本文所做工作进行总结并说明后续工作。

2 Piazza与Open edX的集成框架

Web Service中,物流企业及其供应链成员都可以通过网络平台进行信息共享、协同服务,可以实时进行信息反馈。由于该服务系统采用了开放标准,因而管理者和客户都可以通过Web,以网络传输形式,提供服务或获得服务。Web Service本身通过编程语言,对各类服务实现细节进行了编制,同时XML机制(消息传递),实现信息输出和接收。基于Web的系统所提供服务都是标准化的,因而物流金融集成化管理者,只需下达指令,就可以完成提供服务。[4](见图1)

  

Figure 1 Integration framework of Piazza and Open edX图1 Piazza和Open edX的集成框架图

运行于Open edX平台后台的网络爬虫脚本周期性地从Piazza平台获取问答数据并把数据保存于Github仓库中。数据获取的周期是一天,脚本于每天固定时间运行,获取当天有更新的数据,当天有更新的数据包括有更新的旧贴子和新发的贴子。获取到的数据同步保存于Github仓库中,数据以json格式保存以便于之后的数据展现。

Piazza问答平台与Open edX学习平台的集成框架主要涉及到三个平台:Piazza问答平台是原始问答数据的产生平台; Github平台作为历史问答数据的积累仓库;Open edX学习平台是历史问答数据的展现平台。Piazza与Open edX的集成框架如图1所示。

Piazza-Xblock插件实现数据的分析和展现。数据分析主要分析数据的组织形式,利用数据分析的结果进行多标签筛选的算法设计;数据展现利用handlebars模板引擎对json数据进行解析,结果以Html页面形式展现,然后以iframe形式嵌入到Piazza-Xblock默认页面中。

Piazza-Xblock与Open edX平台集成。Piazza-Xblock首先在Open edX后台执行安装命令进行安装,安装成功后根据内容管理系统CMS(Content Management System)提供的接口(端口号为18010)集成到Open edX平台,集成成功之后该Piazza-Xblock即可以课件组件的形式添加到课程页面供用户使用,从用户角度看到的即为学习管理系统LMS(Learning Management System)页面中的“Piazza问答服务”课件组件。

用户在Open edX平台利用“Piazza问答服务”课件组件实现对Piazza问答数据的筛选,浏览以及跳转到Piazza指定页面进行回复等功能。另外,该课件组件还支持跟据URL参数实现多级标签筛选,此功能的用途是:Open edX平台的视频组件等其他任何组件都能通过URL指定筛选条件直接查看与视频学习内容相关的问答信息。CMS和LMS是Open edX的两个组件,LMS负责浏览器端与用户之间的交互,CMS负责后台课程的发布及各课件组件的集成。用户通过LMS在前台访问“Piazza问答服务”课件组件,对Piazza历史讨论数据进行查看、多级筛选以及与Piazza问答平台之间的跳转等操作。当用户在浏览器端进行相关操作时,需要与Open edX后台进行数据传送,前后台之间的数据传送由CMS集成的Piazza-Xblock完成,Piazza-Xblock跟据浏览器端的请求从Github获取积累的json数据,并把该数据返回给浏览器端,浏览器端接收到数据后利用javascript脚本,并结合handlebars模板引擎实现json数据的解析,通过js+css渲染,最后以Html页面的形式展现给用户。

3 Piazza数据获取分析及展现

3.1 Piazza数据获取

Piazza平台所有的问答数据都以json格式储存,Piazza获取数据的API的URL为:https://piazza.com/logic/api/,通过向该URL发送不同参数的POST请求,可获取不同类型的数据。

从Piazza问答平台获取数据采用的是网络爬虫方法,要解决的主要问题有两个:一是用户自动登录的认证;二是解析出获取数据的API并获取数据。

用户自动登录的认证问题。借助于Chrome浏览器的开发者工具,对用户登录Piazza平台时所提交的表单信息以及所需的请求头(header)进行分析,根据分析的结果利用Python脚本实现模拟登录Piazza平台,并保存Cookie,供以后直接访问Piazza使用。模拟登录时主要使用Python的urllib库,采用urllib.request.Request (url,postData,header)方法模拟浏览器与服务器之间的交互。其中参数urlpostDataheader的值可以通过Chrome浏览器开发者工具对浏览器行为分析得到。一次登录成功后,后续的认证利用保存的Cookie自动完成,其中Cookie的保存通过http.cookiejar.CookieJar()方法实现。

获取数据的API。Piazza获取数据的API的URL为:https://piazza.com/logic/api/,向该URL发送POST请求所带的参数不同时,可获取不同的数据。下面用两个例子说明如何通过API从Piazza获取数据。

{{{content_snipet}}}

为克服DE算法易陷入局部最优的不足,将变异思想引入差分进化算法中。首先设定一个阈值,当种群适应度方差δ2小于该阈值时,选取最优个体及部分其他个体采用式(21)所示的高斯扰动法进行二次变异以改善种群多样性[19]。

{"method":"content.get","params":{"cid":34,"nid":"i5j09fnsl7k5x0"}}

同理,要获得不同的Post数据,“cid”的值不同。

要获取所有贴子的数据采用的方法为:首先向上述URL发送不带参数的POST请求,并从返回的数据中解析出贴子cid列表;然后遍历cid列表,发送以不同的cid为参数的POST请求,依次获取所有贴子数据。

又如:要获取以“lab1”为标签的筛选结果快照,则参数为:

{"method":"network.filter_feed","params":{"nid":"i5j09fnsl7k5x0","sort":"updated","filter_folder":"lab1","folder":1}}

同理,要获得不同的标签筛选数据则“filter_folder”的值不同。

总而言之,传统出租车行业和网约车在运作模式,价格以及服务流程等方面确实存在着众多客观差异,加上其他代步工具的增长,人们对出租车的需求确实不如过去。但是在如今的“互联网+”时代,这对其来说未必就是件坏事,过去僧多粥少的局面现在可以通过各方面的协调合作,未必不能实现社会资源有效利用的最大化,从而实现互惠互利的美好局面。

为了在实际使用Piazza-Xblock插件时缩短Piazza历史数据获取的时间延迟,把Piazza历史数据存储于Github仓库中。每一个贴子按其cid编号以单独的json文件保存于Github仓库,按标签进行一次筛选结果的摘要信息按其标签名以单独的json文件保存于Github仓库中,每天定时执行Python脚本获取当天有更新的数据(包括有更新的旧贴子和新发的贴子),Open edX平台直接从Github仓库获取数据,这样可以缩短数据请求的时延。因为如果Open edX平台每次数据请求都直接从Piazza平台获取数据,会涉及到用户认证,然后向API接口发送请求获取数据,加大了时间延迟。检测有更新数据的方法是通过向API发送参数为"method":"network.get_my_feed" 的POST请求获取当前贴子列表,根据列表中"modified"属性判断每一个贴子的更新时间是否在上一次更新之后,如果是则获取该贴子的详细信息。

进行数据获取时需要注意的是,有时候由于网络状态的不同,当传输速率较低时,可能导致数据请求失败。因此,在获取数据的脚本中设定了请求时限以及超时重传,如果三次请求失败会自动跳到下一个请求。

3.2 多级标签筛选算法

Piazza问答平台只提供了按标签进行一次筛选的功能,当积累的交流数据达到一定程度时,经过一次筛选后的结果数据量仍然很庞大,用户无法快速查找到其所需要的信息。为了能够快速、准确地筛选讨论记录,找到用户所关心的讨论记录信息,本文设计了多级标签筛选算法,对筛选功能进行了优化,实现了按标签多级筛选的功能,达到快速精确查找讨论记录的效果。

多级标签筛选算法的基本思路是:初始下拉菜单中列出所有的标签列表,当选中某一个标签时,进行第一次筛选。第一次筛选直接利用Piazza平台已有的标签分类信息,以减少第一次筛选的时间开销;然后列出经过第一次筛选后的结果中所涉及的所有标签作为第二级可选标签,并动态生成第二级下拉菜单。以后的每次筛选都在上一次筛选的结果基础上进行再次筛选,并动态生成下一级下拉菜单,菜单中可选标签的范围也会跟据筛选结果动态改变。该筛选过程可以不断进行下去,筛选的形式为动态弹出多级下拉菜单。实际应用中一般在筛选到第三级时结果数据量己经缩小到可直接查看的范围。多级筛选算法流程如图2所示。

  

Figure 2 Flow chart of the multi-tag filtering algorithm图2 多级标签筛选算法流程图

{{/with}}

“modified”:“2016-04-05”,

第一次筛选时直接利用从Piazza平台API获取到的一次标签筛选后结果的快照信息,该快照信息包含了按单个标签分类后的Post快照以及Post的cid值。与第一次筛选时直接遍历所有Post相比,缩短了时间花销。下拉菜单所列出的可选标签范围是当前筛选结果所涉及到的标签的并集,这使得标签的选择更加准确,不会有筛选后没有符合条件的结果这样的情况出现。

在“图书馆组织转型的方向与路径”主题版块中,来自伦敦玛丽女王大学、荷兰鹿特丹伊斯拉谟斯大学、西弗吉尼亚大学、台湾大学、新加坡管理大学、岭南大学、华中师范大学等海内外高校图书馆馆长围绕大学图书馆的组织重构和转型方向、馆员角色评估与职业规划、图书馆未来发展趋势等方面展开了探讨,

另外,为了适应课程需要,对多级标签筛选函数进行了封装,通过URL参数指定标签列表,以标签列表作为参数调用多级标签筛选函数,可实现按标签列表多级筛选,直接显示最终筛选结果。如URL参数为:“?tags=lecture2,lab2,课堂问答”,则会直接显示按“lecture2”“lab2”和“课堂问答”这三个标签筛选后的问答数据。若多个标签中有标签不在可选范围内,则返回上一级筛选的结果。Open edX平台上的其他课件组件如视频组件、练习组件,可以通过URL指定参数与当前学习内容相关的问答信息关联起来,方便学生在学习时查看,增加了“Piazza问答服务”课件组件的利用率。

3.3 json数据解析与展现

对json数据的解析通过handlebars模板引擎实现,通过定义Html模板实现对解析数据的展现。数据解析和展现的过程为:首先对Github仓库中的json数据结构进行分析,分析出有用信息所在的位置;然后利用handlebars模板引擎进行json数据解析及Html页面的渲染;最后结合css样式把解析结果以Html页面的形式展现出来。

下面利用handlebars进行json数据解析的例子。例如,json对象为:

{“result”:

“feed”:[{

在我们的应用场景下,只会对一门课程范围内的标签进行筛选,讨论的数量在1 000条内,数据量不算太大。另外,筛选算法设计的数据处理是在服务器端完成的,根据用户在浏览器端的操作,服务器端进行数据处理后只向浏览器端返回必要的信息(大部分是数据摘要信息),减少了浏览器端的数据压力,提高了响应速度。只有当用户选中特定的某一条讨论条目时,服务器才返回该条目的详细信息,还可以通过利用浏览器端的缓存机制来提高响应速度。

利用handlebars模板引擎对上述json数据进行解析,从json对象中提取出所需内容。handlebars本质上是一个封装好的Javascript库,调用其提供的相关方法即可实现对json数据的解析,其好处在于进入json数据上下文后可以实现对象数组的遍历,十分适合筛选结果的展现。例如:下面的代码可实现对上述json对象数组“feed”的遍历。

“content_snipet”:“请同学们于2016年4月20号之前完成lab1,并跟贴回复”},

煤炭开采对生态环境的污染极为严重,因此,国家必须要支持技术、工艺先进的煤炭开采企业,对于技术落后的企业必须要坚决关停。国家还需要大力扶持环保型的企业,通过优惠政策推进环保企业的发展,将不合理不合法的煤炭开采企业从市场中清退。此外,煤炭开采企业更要坚持开发与治理并重的原则,坚持走环境的可持续发展道路,只有这样煤炭开采领域的发展才能够继续长久的走绿色健康的发展路线。

{“modified”:“2016-04-05”,

“subject”:“分组统计”,

“content_snipet”:“分组情况统计,分组结果跟贴回复”

}]

}

“subject”:“课程通知”,

#with 表示进入上下文

#each 表示对数组进行遍历

{{#with result}}

熊老在中国数学界的威望之高,可用泰山北斗来形容,这不仅因为他自己的研究深度,更因为他的门下人才辈出。熊庆来以“伯乐”著称,其提携、培养的弟子,多成为中国数学界的一代脊梁。

以国务院扶贫办委托项目为例,项目大致可以细分为:扶贫政策需求评估、扶贫项目进展评估、扶贫政策执行评估、扶贫政策效果评估等类型。[7]评估的总体流程如图1所示,分为五个阶段:评估委托方与受托方就评估内容进行洽谈,共同商讨评估方案及完善有关细节;评估双方订立评估合同,以法律文书形式正式明确双方的职责与权限,规范整个评估过程;评估受托方根据前述内容组建专业评估团队开展相关实地走访调研,获取评估所需材料;受托方在实地调研走访结束之后,以书面形式形成评估报告并按期提交给评估委托方;委托方依据评估报告制定进一步的政策以及考核办法,以评估报告作为主要参考并运用评估结果。

{{#each feed}}

总之,教师要紧紧把握教材的编写特点,依托学生的年龄特征和数学学习的倾向,从信息采集、问题分析到解题策略探寻,带领学生从现实生活入手,层层递进,步步深入。把凌乱的信息梳理成序,从纷繁多样的数学应用中抽象、概括出数学思维模型,从而掌握解决问题每个步骤的基本策略和方法,发展学生的建模思想,培养学生的核心素养。

{{{modified}}}

此外,很多学者在多通道人机交互中提出用视线追踪代替鼠标光标移动,用眨眼等视觉行为代替鼠标点击操作,此类概念部分已应用于VR交互设备[16].这些新型交互技术的核心基础是对用户操作行为意图与眼动特征关系的准确把握,因此,基于眼动特征的用户意图感知和行为预测具有重要的研究意义.

{{{subject}}}

例如:要获取某一个Post数据时,如果该Post的cid值为34,则参数为:

{{/each}}

下面对算法细节进行说明:该算法核心是filter的实现,为了减少数据量,每一次filter处理的数据均为上一次的筛选结果result,即随着筛选逐级增加,需要处理的数据量递减。另外,新的可选标签集taglist不应该包括己经选中过的所有标签,如果仅仅对满足筛选条件的标签求并集得到taglist在实际应用中不合理。

数据展现。利用handlebars进行json数据解析后,通过定义Html模板,结合js+css的渲染实现数据的展现。为了保证Open edX平台的“Piazza问答服务”课件组件的界面与第三方Piazza问答平台的界面在外观上保持风格一致,同时减少Piazza-Xblock开发的工作量,避免重复开发,Html模板结构以及类名定义与Piazza平台原始页面的定义相同,css文件直接调用Piazza平台己有文件。另外,还添加了“去Piazza回复”按钮,实现直接从Open edX当前浏览的问答页面跳转到Piazza平台相应页面。

数据展现时需要注意:由于Piazza-Xblock需要加载静态Html页面,因此需要在Open edX后台设定好数据的访问权限,确保www-data用户对Html页面具有可读权限。另外,由于Piazza-Xblock直接嵌入到Open edX平台中,所以需要更改Open edX配置文件,使Open edX平台的“高级组件”功能可用,否则无法添加Piazza-Xblock。

4 应用效果展示

4.1 应用场景

本文开发的“Piazza问答服务”课件组件已应用于“学堂在线”上的清华大学《操作系统》课程教学中,2016年春季开学时提供了上一届清华大学《操作系统》课的400多个问答记录,方便了同学们查找已有的问答,减少了老师和助教对相同问题的重复回答。随着新学期课程的进行,“Piazza问答服务”每天于固定时间对当天有更新的数据进行同步,如今己在Github仓库积累了900多条问答记录。在“Piazza问答服务”的使用过程中根据用户的反馈添加了一些方便易用的功能,如“全屏”功能实现对当前浏览的问答记录的全屏查看(Open edX自带的课件组件并不支持全屏功能);“去Piazza回复”功能实现跳转到与当前浏览的问答记录对应的Piazza平台页面;“根据URL参数一次性多标签过滤”功能实现根据URL指定的参数,在页面加载时直接显示过滤结果的功能,该功能是“Piazza问答服务”课件组件与其他课件组件之间的桥梁,通过URL指定参数可以把与学习内容相关的问答信息放到对应的“视频学习”组件下,方便学生学习时及时了解与学习内容相关的问答信息,解决学习过程中产生的疑惑。

4.2 Piazza问答服务

Piazza-Xblock的课件组件名称为“Piazza问答服务”,其页面结构如图3所示。页面最上方是多级筛选功能栏。在该区域可以进行按标签多次筛选,当选中下拉菜单的某个标签时会动态弹出一下级下拉菜单,同时筛选的结果会在“Feed部分”显示,当选中“Feed部分”所列的某一项讨论记录快照时,“Page Center部分”会更新为相应的讨论记录详细信息,此时若点击页面右上方的“去Piazza回复”按钮则会跳转到Piazza对应的页面。

  

Figure 3 Page of “Piazza Q&A Service”图3 “Piazza问答服务”页面图

4.3 效果展示

(1) 初始页面。

Open edX平台前端“Piazza问答服务”课件组件实际页面如图4所示。用户点击该课件组件,有三种显示方式可供选择:显示整个页面、只显示Feed(筛选结果快照)部分和只显示Page Center(单个Post主体)部分。默认选择显示整个页面。

  

Figure 4 Initial page of “Piazza Q&A Service”图4 “Piazza问答服务”初始页面图

(2)多级标签筛选功能展示。

图5是进行了两次筛选“课堂问答”和“lecture9”之后并选择第4条记录的结果图,此时有6条记录满足条件,两次筛选后自动跳出第三级可选菜单,由图5可以看到第三级可选菜单中只剩下两个可选标签“student”和“instructor-note”。当选中“Feed部分”的某一条记录时,会在“Page Center部分”显示选中记录的详细信息,详细信息包括Post的内容、教员的回答(the instructor’ answer)和学生的回答(the students’ answer)以及后续的讨论(followup discussions)。

  

Figure 5 Results of two-round label filtering图5 两次标签筛选结果图

(3)根据URL指定参数筛选展示。

为了便于快速跳转到指定筛选条件的结果页面,本文添加了URL指定参数筛选的功能。仍以图5的筛选为例,只需在URL中添加参数“?tags=课堂问答,lecture9”,访问包含该参数的URL,页面会直接显示自动根据参数筛选后的结果,结果与图5一致。URL指定参数筛选的优点在于:教师可以在教学时把相关的讨论信息URL放至教学页面,学生在学习时可以直接查看与教学内容相关的历史讨论信息。

话说当时在东单西观音寺内住有两位先生,一位姓钱,一位姓彭。一天,张三与钱、彭二位去澡堂洗澡,恰逢大雨,三人洗完之后雨依然没有停,于是就商量去半里路外的酒馆喝酒避雨。钱、彭两位先后乘洋车前往,张三则步行而去,结果等到两人到达时,张三竟然已经先到并且“饮酒数盏”了,再看脚下,张三穿的一双千层底新布鞋,雪白鞋底竟然滴水未沾。钱、彭二位大惊失色,谓其能水上飞行。此事还在北平的《小实报》登载过。

(4)精确定位到某一条讨论记录。

把页面显示模式更改为只显示“Page Center部分”时,可以根据Post的cid值直接定位到指定的Post。如图6显示的是cid为880的Post详细信息。该功能的好处在于:学习者或学习者与老师之间想要针对某一个特定问题进行交流时,可以记下Post的cid,直接在Open edX平台的“Piazza问答服务”输入cid,即可快速查找到Post,而不再需要登录Piazza平台去盲目查找。

  

Figure 6 Search results according to cid图6 按cid查找结果图

4.4 效果评价

作为插件集成到Open edX平台的Piazza-Xblock,页面结构和页面风格与原始Piazza平台一致,用户能获得与Piazza平台相似的体验。Piazza-Xblock被有机地嵌入到Open edX平台中,用户可以直接在学习平台中查找历史讨论信息,省去了跳转到独立的Piazza平台登录后才能查看信息的步骤。Piazza-Xblock还将Piazza平台提供的单次标签筛选功能增强成多级筛选,用户能快速高效地找到所需的讨论内容。Piazza-Xblock支持通过URL参数直接筛选数据,可与学习平台其他组件紧密连接:如与视频内容连接,观看教学视频时直接查看与该视频相关的讨论内容。

目前Piazza-Xblock还不支持用户回帖,需要用户点击Piazza-Xblock中的“去Piazza回复”按钮,跳转到Piazza平台登录后回帖。

5 结束语

本文基于对Piazza问答平台页面的分析,利用网络爬虫周期性地从Piazza获取json结构化数据,并将数据保存于Github仓库中,实现对Piazza历史数据的积累;基于多标签过滤方法对Piazza讨论数据进行搜索,使用户能够方便地对其所关心的关键词查找己有的讨论数据,提高了Piazza讨论数据的搜索能力;利用Open edX的Xblock插件,并借鉴Piazza平台基于handlebars模板引擎的json数据解析和展现方法,将Piazza讨论数据集成并展现到Open edX平台上,方便学生在学习过程中及时利用Piazza上的讨论数据,提高学习效率。实现了Piazza问答平台与Open edX课程学习平台的有机结合,解决了由于第三方问答平台Piazza与edX平台相互独立给用户带来的使用不便问题。目前应用于清华大学《操作系统》课程的“Piazza问答服务”课件组件的集成于独立的Open edX平台,该平台与“学堂在线”通过服务接口连接,未来有望直接集成到“学堂在线”平台中应用于更多的课程。

未来的工作主要有:一方面是进一步开发新的筛选功能。目前筛选Post的方式为按标签进行筛选,由于Piazza平台不支持中文全文检索,想要进一步完善可实现按关键字进行中文全文筛选,这里涉及到计算开销等问题需要深入研究。另一方面,对Piazza平台数据进行学生行为分析。从Piazza平台挖掘更多的数据信息,进行分析得出学生讨论参与程度相关信息,为教师期末评分提供参考依据。我们已将Piazza-Xblock所有源代码按GPL许可证开放在Github仓库[18],方便后续的改进和完善。

参考文献:

[1] Wikipedia:Massive open online courses[EB/OL].[2016-06-06].https://en.wikipedia.org/wiki/Massive_open_online_course.

[2] Piazza: Ask answer explore whenever [EB/OL].[2016-06-06].https://piazza.com/ouc.edu.cn/.

[3] Piazza.[EB/OL].[2016-06-06].https://piazza.com/.

[4] Piazza.:school list [EB/OL].[2016-06-06].https://piazza.com/?schools=1#school_list.

[5] Quora: Quora the best answer to any question[EB/OL].[2016-06-06].https://www.quora.com/.

[6] Zhou Li-tao,Liu Yue,Peng Li-hong,et al.Exploring the application of MOOC in the computer practice teaching[J].Computer Engineering & Science,2014,36(A1):119-121.(in Chinese)

[7] He Sheng,Deng Wei-lin,Xiao Ti-bin.Peer review system optimization based on bipartite graph recommendation in MOOC[J].Application Research of Computers,2016,33(5):1400-1402.(in Chinese)

[8] Piech C,Huang J,Chen Z,et al.Tuned models of peer assessment in MOOCs[EB/OL].[2016-06-06].http://www.stanford.edu/~cpiech/bio/papers/tuningPeerGrading.pdf.

[9] Jiang Zhuo-xuan,Zhang Yan,Li Xiao-ming.Learing behavior analysis and prediction based on MOOC data[J].Journal of Computer Research and Development,2015,52(3):614-628.(in Chinese)

[10] Wang Ping.Learning analysis of learners based on edX open data[J].Modern Educational Technology,2015,25(4):86-93.(in Chinese)

[11] Li Man-li,Xu Shun-ping,Sun Meng-liao.Analysis of learning behaviors in MOOCs—a case study of the course “principles of electric circuit”[J].Open Education Research,2015,21(2):63-69.(in Chinese)

[12] Yang Fang, Wei Xing,Zhang Wen-xia.An exploration and analysis of collaborative learning model in the discussion forum of MOOC edx—in the case of English conversational skill teaching[J].Technology Enhanced Foreign Language Education,2015,166:60-68.(in Chinese)

[13] Zheng Hai-yong,Ren Xin-min.Exploration and practice of project teaching based on course Q&A platform[J].Journal of EEE,2014,36(5):95-97.(in Chinese)

[14] Widipedia: xblock [EB/OL].[2016-06-06].https://en.wikipedia.org/wiki/XBlock.

[15] Gerd.Kortemeyer,Wolfgan.Bauer,Deborah.Kashy,et al.The learning online network with CAPA initiative[C]∥Proc of Frontiers in Education Conference,2001,F2D2-3.

[16] IMS global: Learning tools interoperability [EB/OL]. [2016-06-06].http://www.imsglobal.org/activity/learning-tools-interoperability.

[17] Handlebars: Minimal templating on steroids [EB/OL].[2016-06-03].http://handlebarsjs.com/.

[18] Piazza-data-tsinghua.edu.cn_spring2015_30240243x [EB/OL].[2017-01-12].https://github.com/xyongcn/piazza-data-tsinghua.edu.cn_spring2015_30240243x.

附中文参考文献:

[6] 周丽涛,刘越,彭立宏,等.探索MOOC在计算机实践教学中的应用[J].计算机工程与科学,2014,36(A1):119-121.

[7] 何升,邓伟林,肖体斌.MOOC中基于二分图推荐的同伴互评系统优化[J].计算机应用研究,2016,33(5):1400-1402.

[9] 蒋卓轩,张岩,李晓明.基于MOOC数据的学习行为分析与预测[J].计算机研究与发展,2015,52(3):614-628.

[10] 王萍.基于 edX 开放数据的学习者学习分析[J].现代教育技术,2015,25(4):86-93.

[11] 李曼丽,徐舜平,孙梦嫽.MOOC 学习者课程学习行为分析——以“电路原理”课程为例[J].开放教育研究,2015,21(2):63-69.

[12] 杨芳,魏兴,张文霞.MOOC edx 讨论区的协作学习模式探析——以英语会话技巧的教学实践为例[J].外语电化教学,2015,116:60-68.

[13] 郑海永,任新敏.基于课程问答平台的项目教学探索与实践[J].电气电子教学学报,2014,36(5):95-97.

 
张燕妮,陆慧梅,向勇
《计算机工程与科学》2018年第05期文献

服务严谨可靠 7×14小时在线支持 支持宝特邀商家 不满意退款

本站非杂志社官网,上千家国家级期刊、省级期刊、北大核心、南大核心、专业的职称论文发表网站。
职称论文发表、杂志论文发表、期刊征稿、期刊投稿,论文发表指导正规机构。是您首选最可靠,最快速的期刊论文发表网站。
免责声明:本网站部分资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有
如有不愿意被转载的情况,请通知我们删除已转载的信息 粤ICP备2023046998号