基于移动端的智能导学系统研究
作者:唐崇华
来源:《软件导刊》2016年第03期
摘 要:智能导学系统是学习型社会不可或缺的学习工具。通过智能导学系统,学习者可以有计划、有目的、有监督、循序渐进地自主学习。导学系统不仅可以根据学习者自身特点量身定制学习计划,而且可以和教师、专家进行无障碍交流,不断提高专业技能。基于移动端的智能导学系统,充分利用移动设备方便、灵活的优势,实现了现代教育技术专家所提出的个别化教育4W(Whoever、Wherever、 Whenever、 Whatever)目标。 关键词:导学系统;人工智能;移动设备;自主学习
中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2016)003-0093-04 作者简介:唐崇华(1978-),男,辽宁鞍山人,硕士,鞍山师范学院商学院讲师,研究方向为数据采集、分布式程序设计。 0 引言
学习型社会已经形成,终身学习理念深入人心。若不及时掌握新资讯和新技术,会很快落后于信息时代。对于学习者来说,仅仅依靠计划内学习(如在学校按部就班的学习),已经不能满足知识日益增长的需求,随时随地、灵活方便、沟通顺畅的学习方式已经成为学习者的共同需求,基于移动端的智能导学系统可以很好地满足这些需求。 1 系统设计理念
基于移动端的智能导学系统涉及学习理论(如构建主义学习理论)、人工智能技术(如数据挖掘等)、移动端以及服务器端开发技术,是一套以现代教育理论为指导,依托现代通讯技术为平台实现的综合系统。
系统利用软件工程理论构建系统框架,利用数据挖掘和人工智能技术帮助学习者找到个体问题所在,制定个性学习计划,采用信息技术建立学习者和教师之间以及学习者和学习者之间的资源信息共享和沟通渠道[1]。 2 系统架构
系统分为服务器和移动端APP两大部分,如图1所示。服务器主要负责存储、系统管理和个性化学习环境生成[2]。移动端APP主要负责用户接口的实现和部分简单逻辑的运行。
龙源期刊网 http://www.qikan.com.cn
用户下载APP并通过注册后,可根据专业方向选择不同的学习路线,系统推荐学习路径以及路径所含各门课程的介绍,用户可根据个人的实际情况对学习路径进行修改,或者自定义一个全新的学习路径。
系统提供一次自测机会以简单了解用户的知识水平,根据自测结果给出学习路径的修改建议以及路径的重要节点描述[3],在此基础上用户可开始学习过程。学习过程中系统会在每个学习节点之后进行评测,根据评测结果给出建议。在学习路线的关键节点到达之前系统会给出预报。一门课程学习结束后,系统会进行考核,并在考核后给出结果和建议。系统使用过程中,用户可随时与其他学习者、教师进行讨论和交流(在评测过程中不可进行),记录学习心得,或向其他学习者提供帮助。 3 服务器端设计
服务器端主要负责系统管理、根据学习者自身特点生成个性化学习环境,以及各种数据存储。下面以《数据库原理与应用》课程为例进行论述。
服务器端实现功能:①自动生成《数据库原理与应用》课程的全部教学内容以及各个阶段的测试问题;②在学习者完成对某个章节的学习后对测试结果进行评估,并提出建议;③在原有的学习路径基础上,根据学习者每个节点的测评结果随时添加或修改学习节点进行补救教学;④支持学习者相互讨论、教师在线答疑。 3.1 面向对象的知识表现
导学系统内的知识是经过对不同知识点分类、划定其逻辑关系而形成的,并以知识链状结构呈现。在系统内采用面向对象的方法来表示。知识对象LOREObject=ID,PrecursorList,Notion,Methods, ID为知识对象的唯一ID号,PrecursorList为该知识对象的父类(即前驱知识)ID列表,Notion为该知识对象的概念集,Methods为该知识对象的方法。如关系运算中的笛卡尔积知识点对象定义如下: /// 知识点抽象类
public abstract class LOREObject {
private int id; public int ID {
龙源期刊网 http://www.qikan.com.cn
get { return id; } set { id=value; } }
private List precursorList; /// 前驱列表
public List PrecursorList {
get { return precursorList; } set { precursorList=value; } }
private List notion; /// /// 概念集合 ///
public abstract string NOTION { get; }
private List param; /// 运算参数 public List ParamList {
get { return param; } set { param=value; } }
龙源期刊网 http://www.qikan.com.cn
/// 方法
public abstract void Method(); }
/// 笛卡尔积对象
public class CartesianObj : LOREObject {
public override string NOTION {
get { throw new NotImplementedException(); } }
public override void Method() {
Relation r1=(Relation)ParamList[0]; Relation r2=(Relation)ParamList[1]; ///笛卡尔积运算
CartesianOpr(r1,rs); } }
3.2 学习者模型
学习者模型除囊括学习者基本信息外,学习过程信息也将保存与呈现。如学习过的知识点基本信息、对于某个知识点掌握程度的信息等。另外,学习者个人偏好信息也是需要处理的基础信息之一。学习者类集成了学习路径对象、学习者知识点对象和基本信息对象3大类信息。
龙源期刊网 http://www.qikan.com.cn
其中学习者知识点对象是保存用户知识点,学习路径对象用于保存系统推荐和知识点列表。学习者模型的UML图如图2所示。
3.3 采用WebService实现导学系统模块
WebService不仅可以提供网站功能,而且可以调用服务器内的应用组件。除此之外,WebService还可以在异构环境中工作,因此采用此项技术实现导学系统服务器最为适合[4]。 public class IntelAgentServ : System.Web.Services.WebService {
/// 构建知识点链表 [WebMethod]
public List BuilderLOREObjectList(string CourseName) {
List loreList=new List();
string sql=string.Format(\"Select ID from LoreObjectTable where CN='{0}'\",CourseName);
m_ConnectionString=ConfigurationManager.ConnectionStrings[\"ConnectionString\"].ConnectionString;
conn=new SqlConnection(m_ConnectionString); sdr=comm.ExecuteReader(); ......
foreach(LOREObject LO in LORECollection) {
loreList.Add(LO); }
龙源期刊网 http://www.qikan.com.cn
return loreList; }
///根据知识点生成测试试卷 [WebMethod]
public TestPaper BuilderTestPaper(LOREObject LO) {
var query=from Lore in LoreObjects join QuestionLore in orders on Lore.ID equals QuestionLore.LOID where Lore.ID==LO.ID select Lore; ......
TestPaper tp=new TestPaper(QuestionList); return tp; } … … }
4 移动端设计
移动端要能支持目前大多数的移动智能设备,所以采用比较流行的HBuilder作为开发工具。该开发工具基于HTML5,提供安卓和苹果平台的编译打包,使用十分方便。下面以学习社区讨论模块为例,简单说明其实现过程。
讨论社区模块服务器端采用jWebSocket框架进行开发,并将其编译为Windows服务自动运行[5]。
移动端界面如图3所示。 4.1 客户端插件 代码如下:
龙源期刊网 http://www.qikan.com.cn
… …
import org.jwebsocket.api.WebSocketConnector; import org.jwebsocket.api.WebSocketEngine; … …
jws.AgentAppPlugin={
requestUserList : function( userList) { if(Allowed(userName){
this.OnGetUserListByManual(uerList); } }
requestLastMessage : function(LMessage){ if(Allowed(userName){
this.OnGetLasMessageByName(userName); }
requestServerTimer(aOptions){ var lResult=this.CreateResult(): if(this.isConnected){
this.SendToker(curLToken.Option); }
else{ return “Error On CallServerTimer”;} … …
在页面上调用客户端插件代码如下:
龙源期刊网 http://www.qikan.com.cn
… … … … ...…
function window_onload() {
if(jws.browserSupportsWebSockets()){
jWebAgentClient=new jws.jwebSocketJSONClient(); var LURL=jws.JWS_SERVER_URL; userName=session(“regName”); userPwd=session(“regPwd”);
var result=jWebAgentClient.logon(LURL,userName,uesrPwd); … … }
function btnSendMsgToChat() {
if(jWebAgentClient){
var useList=jWebAgentClient.requestUserList(); var ltMsg=jWebAgentClient.requestLastMessage();
龙源期刊网 http://www.qikan.com.cn
var Lres=jWebAgentClient.requestServerTimer(); jWebAgentClient.SendMyMsgToChatr(); } }
4.2 通过Ajax访问WebService …
var url='http://127.0.0.1/InteStuSys'; var type=“GET”; var dataType=“JSON” //发送数据 var data={
name: \" BuilderLOREObjectList \" param:”Stack” };
respnoseEl.innerHTML='正在请求中...'; $.getJSON(url,data,success); var data={
name: \" ChapterReadContent \" param:”SeqList” };
respnoseEl.innerHTML='正在请求中...';
龙源期刊网 http://www.qikan.com.cn
$.getJSON(url,data,success) 参考文献:
[1] 马宣青.多Agent技术在智能导学系统中的应用[J].科技信息,2011(31):15-18. [2] 许章正.基于过程化考核的学生导学Agent设计与实现[J].齐齐哈尔大学学报,2015(9):241-245.
[3] 刘晓平.基于Web2.0的智能导学系统研究与设计[J].现代教育技术,2009(12):165-169.
[4] 李东博.HTML5+CSS3从入门到精通[M].北京:清华大学出版社,2000. [5] 弗里曼.HTML5权威指南[M].北京:人民邮电出版社,2010. (责任编辑:杜能钢)
龙源期刊网 http://www.qikan.com.cn
龙源期刊网 http://www.qikan.com.cn
因篇幅问题不能全部显示,请点此查看更多更全内容