基于移动互联网的在线学习平台的研究与设计
2019-01-23陈小健宋承继
陈小健, 宋承继
(陕西工业职业技术学院 信息工程学院, 咸阳 712000)
0 引言
随着无线网络、4G移动互联网和移动终端平台的飞速发展,基于移动平台的网络化学习逐渐进入人们的视野。智能手机、平板等设备的移动性和便捷性给学习者带来了更加便捷的学习体验。在高校信息化教学建设和推广过程中,建设一个维护性良好、体系结构清晰的运行于移动终端平台上的在线学习平台具有十分重要的理论和现实意义。
目前互联网上存在一些基于移动平台的在线学习应用,国际上比较出名的有斯坦福大学吴恩达教授主导创建的学习平台Coursera、美国的盈利性质的“在线大学”平台Udacity、麻省理工和哈佛大学联手创建的非盈利性在线学习平台edX等。国内较为出名的移动学习平台有网易云课堂、极客学院、超星学习通等。以上学习平台具有非常丰富的学习资源,但是面向的对象是所有学习人群,不具备定制性,不能作为高校教师和学生之间交互的平台。
本文针对以上通用的移动在线学习平台的缺陷,建立了一个基于Android的在线学习平台,该平台支持高校教师和学生之间的交流和通讯,并且提供教学视频、教学资料等,支持在线测试、在线签到、作业提交等功能。该平台能够增加高校学生学习的便利性和课程学习的参与度,使得高校教师和学生之间建立更加紧密的联系,从而获得更好的教学体验。
1 系统总体架构设计
本系统共分为8个功能模块:课堂交互、作业管理、在线交流、用户验证、在线考试、后台管理和资源管理。如图1所示。
图1 在线学习平台总体架构图
该系统涵盖了从课上交互到课下学习的多种学习模式。课上可通过该平台完成课堂测验、点名签到和问题回答等活动。课下可以通过在线交流模块与任课教师进行交流、答疑等;学生可通过作业管理模块查看作业任务,并在完成后提交,老师可以布置作业并查看学生提交的作业;学生可以课下下载该课程的视频教学资源和课件教学资源,并且可以利用在线考试模块进行自测试。
该系统采用C/S架构,分为服务器端和客户端。客户端运行于移动平台(手机、平板等设备),采用基于Android的技术,采用Android Studio作为开发工具。服务器端使用基于J2EE的技术,采用Eclipse作为开发工具。数据库采用轻量级的跨平台的SQlite。客户端、服务器与数据库交互如图2所示。
图2 系统组成图
2 关键技术及实现
2.1 Android技术
Android和iOS是目前应用最为广泛的智能手机平台。iOS为苹果开发的智能手机操作系统,不开源且不对外提供开发APP的技术支持,所以不宜采用iOS作为本文的开发平台。Android是谷歌提供的开源手机平台,技术开放且平台拥有丰富的API开发接口。所以本文采用基于Android作为客户端平台。
Android采用基于Linux内核的分层式体系架构,如图3所示。
图3 Android体系架构
作为开发者,开发Android应用程序只需关注应用程序层的四个模块:活动(Activity)、活动内容接收器(Intent Receiver)、服务(Service)和内容提供器(Content Provider)。Activity是Android中的界面组成,一个界面对应一个Activity,每个界面包含多个对事件进行响应的接口。Intent Receiver完成不同界面之间的切换,包含动作和动作对应的数据。Content Provider完成与其他应用共享数据的任务,提供访问本应用存储的数据的接口。Service是应用在后台为前台提供支持的服务,程序运行时Service会保持后台运行。
在客户端的开发过程中,主要使用Activity模块和Intent Receiver模块,通过使用系统组件完成界面设计和各响应函数的填充。对于每一个模块的功能建立相应的类进行维护,使得程序设计符合模块化规则。在对设计过程中的XML解析部分,使用Android中的SAX解析器对XML配置文件进行读取和解析。
2.2 数据库设计
SQlite数据库由于其轻量化、占用内存和硬件资源少等特点在基于Android的开发中占有一席之地,且目前存在集成了SQlite数据库的基于Android的智能手机开发平台,因此基于SQlite的移动平台的开发是较为简便的。
本文根据系统功能设计,创建了多个数据表,此处由于篇幅有限,选取用户信息表、留言信息表和试题表进行了展示,如表1—表3所示。
表1 用户信息表设计
表2 留言信息表
表3 试题表
此外还存在视频信息表、课件信息表、考试信息表等数据表,在此不一一赘述。
2.3 个性化推荐技术
为了对该学习平台的资源进行丰富,除了任课教师的教学视频和课件资料之外,还提供海量的网络视频资源和学习资源。提供搜索栏搜索感兴趣的资源,并在主页显示推荐内容。推荐内容的相关性是很重要的,良好的推荐算法能够实现内容的筛选,精确的实现用户偏好内容的推送,为用户能够提供良好的体验。常用的推荐算法主要分为:基于内容的推荐、基于网络结构的推荐、协同过滤推荐、基于社会网络分析的推荐等。其中基于内容的推荐是最为直观有效的推荐算法,首先通过获取用户的常用搜索的关键词,再与用户偏好模型做匹配,从而选取匹配度最高的推荐对象,该种推荐方法简单易实现,不会占用过多的系统资源;基于网络结构的推荐是将用户与推荐资源都虚拟成节点,使得整个系统的用户和资源之间形成一个巨大的网络,统计网络中的连线数和连接关系或者推荐资源。该方法效果好但是对平台的资源要求较高;协同过滤推荐是考虑用户的社交网络的关系,参考社交网络中接触较多的人群的选择,从而完成推荐,该种方法十分适合用于网购网站、图书推荐系统等,但是由于学习系统并不具备很强的社交性,所以该种方法并不适合于本文中的平台。经过分析,本文使用基于内容的推荐算法是比较合适的。
本文的基于内容的推荐技术主要分为3步:首先,获得用户偏好内容关键词(3到5个);接着,使用关键词依次对数据库中记录的资源进行遍历寻找,将与关键词实现匹配的资源按匹配度从前向后记录于系统缓冲区中;最后,通过将筛选出来的资源与多个关键词依次进行比对,包含较多关键词的内容依次向前排列,含有相同关键词的资源按资源首字母的序号进行排列。该算法流程图如图4所示。
图4 基于内容的排序算法流程图
其中,获得关键词的方法如下:在用户第一次使用搜索模块时,需要选择自己感兴趣的领域和关键词,将这些关键词记录到与用户关联的记录表中,接下来根据用户的搜索记录将搜索关键词进行记录,并统计频次,通过频次不断更新记录表,保证记录表中的关键词符合用户最新的需求。
匹配度的度量是根据关键词中字符的匹配个数和关键词的匹配个数共同决定的。通过本文的双次关键词匹配算法的筛选,能够尽可能的找到与用户相关度最高的资源进行推荐。
3 系统页面设计及实现方法
基于以上技术对该平台进行了开发,该平台分为服务器端和客户端。服务器端是基于WEB进行登录管理的,只有系统管理员具有权限进行管理。采用Java的J2EE技术对服务器端进行开发,开发平台采用Eclipse。首先创建一个Java Web程序,进行WEB创建配置,主要包括运行环境配置、Tomcat服务器配置。然后创建一个Server服务器,在Eclipse上对WEB服务器界面通过组件配置开发。开发的系统登录界面、试卷管理界面、课程管理界面如下图5、图6和图7所示。
为了保证系统的安全性,防止恶意破坏,系统登录界面使用验证码。图3.2为试卷管理界面,在Web后台对试卷进行统一管理,具有删除、增加、修改等权限。图3.3为课程管理界面,具有网上课程、课程列表、添加课程和课程专题管理等菜单对网上学习平台的课程进行管理。
客户端是运行于使用Android操作系统的移动设备上的,采用Android平台,使用Android Studio作为开发工具对客户端程序进行开发。首先创建一个Android工程,设计多个界面即创建多个Activity,一个界面对应一个Activity,其中界面中包含多个对事件进行响应的接口,对这些响应函数进行设计和实现就完成了界面的设计。接下来对Intent Receiver进行设计,完成不同界面之间的切换。
客户端的使用对象是高校教师和学生。在注册时不同角色填写不同角色的注册项目,经过管理员审批后方可进行登录使用该学习平台。首先进行系统登录,登录界面如图8所示。登陆后主界面如图9所示。
图5 系统登录界面
图6 试卷管理界面
图7 课程管理界面
图8 系统登录界面
图9 在线学习平台主界面
从图9可以看出,在线学习主要具有网上课堂、作业习题、留言答疑、在线测试、公告信息和在线讨论这6大功能模块。
篇幅有限,以下选取网上课堂、作业习题界面进行展示。网上课堂界面如图10所示,作业习题界面如图11所示。
4 总结
本文对基于移动互联网的在线学习平台进行了研究,首先对总体架构和使用的平台架构进行了研究。接着对开发过程中的关键技术进行了详细介绍,主要包括基于Android的研发技术、数据库开发技术和基于内容的搜索算法的研究。最后对该学习系统进行了实现,主要分为基于WEB的管理端和基于Android桌面应用的客户端进行了实现,并且对界面进行了展示。实践表明,该平台功能设计合理、运行稳定可靠。
图10 网上课堂界面
图11 作业习题界面