1 选题的背景和意义
1.1 选题的背景
目前市场上有许多自主学习网站,大部分是综合性学习网站,具有不同学科的课程。对于另外少数的计算机相关学科的网站,网站内容也是大同小异,都是笼统的课程,各个相关方面的信息杂糅在一起,难以针对具体的主题进行学习。此外,在课程学习过程当中,学习者之间的交流讨论也并不积极有效,通常通过留言评论,言论各异,而且难以分离不相关内容,这也导致课程管理者回复不及时甚至无暇顾及以致忘记回复。而大部分学习网站是企业内部雇佣的教师提供课程内容。普通用户无法在在线学习平台中创建自己的课程,甚至不对外开放申请成为教师的入口。
1.2 选题的意义
开发在线学习编程语言的系统。该系统能够支持用户自主学习感兴趣或需要学习的编程内容,通过视频、文本、图片等形式提供学习资料供用户学习,且提供精心挑选的课后编程练习题供学员练习,通过在线提交自己动手编写的源程序到服务器,服务器运行并判断出结果返回给学员,将学习与练习融合在一起,提供给用户在网络连接的条件下任何时间、任何地点的进行学习。让学员充分利用自己的碎片时间进行学习。用户还可提交证明材料申请成为教师用户,可以在本系统中创建和管理课程。
系统的目标是以当代电子传播媒体的迅速发展必将引起课程教材的载体、编制方法和教学方法的变革。让学习者能够利用网络,根据自己的水平、需要的时间,利用在线学习平台中的优质课程进行学习。消除教育的不平衡。
1.3 国内外研究现状及发展趋势
1.3.1 国外研究现状及发展趋势
在国外,网络教学的发展较国内更加迅速,除了普及广泛之外,已经向更高层次的应用和标准化方面发展。以美国为例,美国是目前远程教育规模最大的国家。多年来,美国高校远程教育课程建设快速发展,达到了4万种。其中本科课程3.5万种,研究生课程1.4万种,非学历学位课程5万种。虚拟大学的办学模式,所有的教学活动和教育管理都是通过网络教学技术实现的,网络学习平台几乎成为学员唯一获取知识的途径。
美国的在线教育20多年前开始向高等教育层次发展,进入21世纪后已经成为高等教育系统中不可忽视的新生力量。成立于1976年的凤凰城大学(University of Phoenix)是目前被视为世界上最会经营、最成功的网络大学。1989年,它成为美国第一批被认可的提供网络学位教育的学校。此后,涌现了一批在线高等教育的案例。2001年MIT就率先向社会推出了免费在线课程。2010年Udemy 是作为一个开放式在线教育网站,允许任何用户开发并创建自己的课程。2012年,美国在线教育呈现爆发式增长,美国Harvard 、MIT 、 Stanford 等名校开始提供大规模开放网络课程(Massive Open Online Course, MOOC),涌现了有国际在线教育三驾马车之誉的Coursera、 Udacity 和 edX,很多名校先后投入到在线教育的建设中。2013年1月23日,美国高等教育联盟(Academic Partnerships) 发起“与学位挂钩的大规模在线公开课”计划(MOOC2Degree)。一些大学开始接受MOOC课程的证书,承认其学分。在线教育的快速发展也引起了美国投资界的关注。据统计,2012年4-12月间,美国有11家在线教育类公司获得风险投资,总额超过2亿美元,投资领域覆盖了高等教育、在职培训和基础教育等各个领域。
在线教育席卷全球,美国之外的其他国家也逐渐展开。日本的Schoo、巴西的Veduca、英国的Future-Learn、德国的iversity、澳大利亚的Open2Study如雨后春笋般纷纷涌现,进一步深入研究在线教育的规律、模式和技术等。
而与编成相关的在线学习平台随着在线教育的发展逐渐走进人们的视野。其中最早期是在线判题系统。就是学习者通过学校课堂学习或其他线上或线下方式学习编成基础和解决实际问题的技术。然后在在线判题系统上找到自己会的练习题。尝试编写源代码、并提交到系统中,系统在服务器中编译运行用户提交的源程序并返回结果。在线判断正确与否。对学习者的编程学习具有良好的促进作用。
比如著名的在线判题网站UVA、Codeforces等ACM-ICPC程序设计竞赛相关的网站。或者是和就业相关的网站:leetcode等也是发展早、发展快。
1.3.2 国内研究现状及发展趋势
在美国在线高等教育风起云涌之际,国内的在线高等教育也开始出现一些让兴奋的状况。1998年,教育部批准在清华大学、湖南大学、浙江大学和北京邮电大学四所高校内进行在线高等教育试点。截至2008年,全国共有68所高校加入到在线教育这一新兴领域中来,显示出旺盛的生命力。2007年开始,简单学习网、多贝网、YY教育、微课网等在线教育平台相继涌现,在在线教育领域展开了积极探索与时间,并取得良好效果。国内高校中也涌现出来一批高等教育改革探路者,为促进优质教学资源共享,实现校际间的优势互补,增加学生的选择权,上海市组织30所高校建成了“上海高校课程资源共享平台”,参与该项目的高校中的学生可以在此平台上选课、修读、考核、评定合格后认可学分。清华大学、北京大学、上海交通大学、华南师范大学、中南大学等分别采取加入相关平台、和企业合作开发等方式开展在线高等教育的探索与实践,从教学模式、教学管理、教学机制等诸多方面上给国内高校起到辐射性师范作用。另外,传统的培训机构如学而思、新东方、高思、精华学院等也在在线教育方面加速布局,至今,各大培训机构以在线直播、在线视频等方式进行职业培训、考试培训、专业指导或课外补习等商业活动。促进了国内受教育机会公平化的发展。
国内关于编程方面的学习平台发展较国外发展起步晚,受在线高等教育在中国试点实验中起积极作用的影响,且国内网络普及范围扩大、带宽大幅度提升,国内对信息技术方面逐渐重视,编程进入中学甚至小学,带动了编程相关的在线学习平台的发展,目前国内发展较完善的在线编程学习平台有洛谷、计蒜客等可参与在线直播课程的编程学习平台。而以锻炼编程能力为目的的在线判题网站则有浙江大学、北京大学、杭州电子科技大学等高校提供的对外开放的在线判题网站。这些平台中有些专注于锻炼编程能力,提供的练习题难度高、需要讨论的情况复杂、且大部分为英文题面,极大的提高了用户的门栏,无法大范围普及。有些则专注于商业活动,有偿参与网站提供的学习课程,严格按照课程安排的时间观看直播,无法利用碎片化的时间来进行学习。且一般收费标准高,无法促进教育机会公平性的发展。
目前国内企业在线学习平台发展较好的有:百度传课、淘宝同学、腾讯课堂、网易公开课、幕课网等在线学习平台。其中慕课网涵盖了大部分流行的信息技术,促进当今国内IT行业的发展。而专注于编程学习的平台则有高校搭建的:杭州电子科技大学、浙江大学、北京大学等高校搭建的对外开放的在线判题系统。更有企业提供的学习平台:洛谷、51Nod、计蒜客等在线编程学习平台。
2 研究的基本内容
2.1 基本框架
2.1.1 系统总体架构
系统总体架构下图所示,采用B/S架构,具有以下优点:
l 具有分布性特点,可以随时随地进行业务处理;
l 业务扩展容易,通过增加网页即可增加服务器功能;
l 维护简单方便,只需要修改服务器端网页,即可实现功能同步更新。
图1
用户通过终端设备(如电脑,手机等)访问本系统,登录账号后选择课程进行学习或交流讨论。课程相关内容通过互联网从服务器发送到终端设备上显示,聊天内容和消息通过网络传输给服务器,服务器转发给各个终端,最终消息在终端界面显示。需要进行认证的用户将相关信息材料上传到终端系统中,终端系统将信息材料上传到服务器,并保存到数据库。
2.1.2 开发系统所使用的工具
l Java
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。Java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
l Mysql
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL是一个多用户、多线程的关系型数据库管理系统。 工作模式是基于客户机/服务器结构。目前它可以支持几乎所有的操作系统,同时也可以和php完美结合。
l Spring Boot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
2.1.3 系统基本用例
图2 教师用例
图3 学生用例
2.2 研究的重点和难点
1.整体系统的数据库设计,通过功能模块之间的业务逻辑能够将数据库表设计的更加合理,使得性能更高。
2.用户在浏览器上学习课程时的视频、课件等各种文件到传输,能够实时与后台进行数据交互。
3.本项目需要实现用户提交代码编译运行,返回结果等重要功能。
4.本项目需要实现在线代码编辑、提交运行的功能。以减小学习程序设计的门栏。
2.3 拟解决的关键问题
1.使用Mysql数据库,基于Web的互助式编程学习平台的数据库的建立,以及学生、老师、课程、练习题等实体表的建立,主外键的设计和连接。数据库的连接。
2.JSON/XML的数据传输格式。JSON传输数据快,采用键值对来传输。XML采用标签来传输数据。采用分页传输数据,能使得学生、教师等用户通过浏览器访问时,看到的数据能更简洁,操作更方便。大量的数据显示在页面上,会比较凌乱。采用分页传输,避免了这样的问题。
3.本系统的主体是老师和学员,老师建立课程,学员学习课程,中间是各种文件到传输(包括视频、ppt等文件)。课后学员通过习题来检验学习到效果。要确保这些方面的衔接紧凑、快速。
3 研究的方法及措施
设计方法:
采用面向对象的编程思想。1.封装性:封装性是指将对象相关的信息和行为状态捆绑成一个单元,即将对象封装为一个具体的类。封装隐藏了对象的具体实现,当要操纵对象时,只需调用其中的方法,而不用管方法的具体实现。2.继承性:通过类与类之间的继承与被继承关系,对方法体进行覆写,提高代码的可重用性。3.多态性:不同对象对同一事物做出的相同事物,使用面向对象编程的多态性将会提高参数的灵活性。
措施:
l 操作系统:Linux (Ubuntu 16.04)
l 开发工具:使用Idea, Mysql, Tomcat等工具进行开发
4 预期成果
项目系统的完成:基于Web的互助式编程学习平台,完成用户的登录注册;老师开课、助教帮助老师教课,学生能在线观看视频、查看ppt等课件。并在课后提交练习题和查看结果。
5 研究工作进度计划
本次毕业设计按以下进度展开:
(1)第1周:熟悉毕业设计流程,确定毕业设计题目。
(2)第2周:查询翻阅文献资料,熟悉静脉曲张加压治疗检测系统的业务逻辑。
(3)第3周~第4周:撰写开题报告、外文翻译、文献综述并进行开题答辩。
(4)第5周~第6周:确定系统的总体设计方案,进行系统框架设计,并安装配置系统设计和运行环境。
(5)第7周~第12周:对系统进行详细设计,包括用户界面设计和模块功能算法设计,结合系统需求分析,设计与开发基于B/S的静脉曲张加压治疗监测系统。
(6)第13周:对系统的基本功能进行测试,修正缺陷并修改完善系统。
(7)第14周~15周:查询资料,设计论文的主要结构,结合系统完成毕业设计论文的编写。
(8)第16周:修改、整理毕业设计,并总结毕业设计所有材料,进行毕业设计答辩。
参考文献
[1] 百度百科,微课http://baikebaidu.com/view/5982553.htm
[2] 胡铁生, 微课:区域教育信息资源发展新趋势[j],电化教育研究,2011(10):61-65
[3] 焦建利 课堂教学技术, http://www.fengvk.com/web/content/900006.htm1.
[4] 郑小军,张霞. 高效网络化学习:理念、路径与策略 中国电化教育,2012(10):43—45.
[5] 张鹏高, 冯 骐, 罗兰 中国高等在线教育发展现状探究 1673—8454(2016)01—0018—04
[6] Mukesh Prasad, Ding-Rong Zheng, Domingo Mery, Deepak Puthal, Suresh Sundaram, Chin-Teng Lin A fast and self-adaptive on-line learning detection system 2018
[7] 陈彦彤 , 赵国宏. 我国在线学习绩效研究发展综述 2018
[8] 瞿成明 , 王凤随 , 陈阳. 朱世东.在线学习系统学习成效相关因素分析与改进 2018. 0003. 015
[9] 彭飞霞. 基中国在线学习体系的建构与发展策略 2018. 11. 005
[10] 李月 一种基于 SPOC 模式的在线学习系统设计 2017.36.020
[11] Vlastimir Nikolic, Jelena KalJevic, Srdan Jovic, Dalibor Petkovic,Ljubomir Dimitrov. Survey of quality models of e-learning systems (2018)324-330
[12] 张煜 , 金智勇 多线程程序设计的在线判题系统_张煜 1671-2714 (2013)03-0006-04
[13] 蔡崇超 基于Web的在线判题系统设计与实现_蔡崇超 2016 )1672-7800(003-0107-03