毕 业 设 计(论 文)开 题 报 告
1.结合毕业设计(论文)课题情况,根据所查阅的文献资料,每人撰写不少于1000字的文献综述: |
一、研究背景和意义 “互联网+”和大数据带来了网络教育的蓬勃发展,学习分析技术和自适应学习也在近年内得到了重大突破。在线教育是互联网技术与传统教育的结合,是当前中国教育信息化发展最快的领域,而当下最迫切的是有效整合教育资源和互联网技术,推出高互动性与个性化学习的在线教育服务及产品,提高用户黏性。以中国大学MOOC(慕课)为例,自2012年在全世界掀起热潮至今,在其发展过程中,MOOC的学习者贡献了海量的学况数据,对于教育工作者来说,这些数据无疑是极具诱惑力的富矿。对这些数据进行整理、分析和挖掘等探究,将会有助于学习者学习特点和行为规律的发现与总结,从而为教学设计的改进和学生的自适应学习提供指导。 在教育大数据的构成方面,在线学习的数据首当其冲。在舍恩伯格的《与大数据同行——学习和教育的未来》一书中,第一个大数据教育应用案例就来自在线学习。随着在线教学的日益普及,在教与学过程中,由学习管理系统和各类移动设备所记录下来的各类海量数据,成为分析教学过程的重要来源。这些数据包括记录学习过程的行为数据,记录学习结果的评价数据,以及学习形成的社会网络关系数据等。而在线教育学习平台一般是学生用来进行校内或校外拓展课程学习的平台,平台需要具备在线视频观看,作业提交,形成性考核等功能。在学生学习的过程中,学校的管理者或负责教师需要了解学生的学习情况和学习状态,因此必须要通过学生的学习行为数据进行数据分析,将学生的学习情况直观的展现给用户,方便教师进行学生管理和评测。 二、研究现状 目前,构建大数据分析平台、利用数据驱动增长是很多高校和企业的共同的需求,然而,将收集的数据转化成有效增长,从数据分析向数据应用的发展过程中,也面临一系列困境。首先,构建数据分析平台门槛较高。另一方面,大多数的企业在数据处理方面的能力比较弱,基于业务场景的数据采集、分析都需要一定的行业经验。其次,即使有条件进行分析,分析也需要依赖于工程师进行数据的筛除、补全、纠正,BI(商业智能)分析和完成报表,效率低下。同时企业数据分散,采集整合困难。 所以有能力的教育企业需要自己设计数据分析平台,如北京语言大学网络教育学院,在线教育大数据分析平台的建设与实践的项目的成功,该项目通过教育数据分析系统建设,汇聚分散在不同平台中的数据信息,面向决策者、招生管理者、学生管理者、教学管理者、辅导教师和学生提供数据统计分析、评测分析和对比分析等功能,提高不同角色的工作效率,促进网络教育教学过程的精准决策与管理,为教学过程干预、教学资源配置及学生个性化服务提供有力支持。 北京语言大学通过近两年的探索,使用基于大数据分析的在线教育平台,最大程度满足学生个性化需求,根据课程关联性、学生学习过程中习题测验完成情况等相关数据,为学生推荐相关课程,提供个性化的课程服务。在节省了人力成本的基础之上,面向整个平台的数据可视化和面向系统优化的统计分析,为学习者提供了个性化、针对性的指导和全面、综合的评价,同时为监督提高教师的教学水平,该平台也支持根据教师的备课情况、参与论坛情况和学生评教的结果等。 三、总结 在线教育平台,学生通过这个平台进行在线课程的学习,包含了在线视频作业以及一些随堂的考核和形成性的测试,这些内容学生在学习的过程中会有很多数据沉淀下来,那么老师如何去了解当前的学生和学习情况是什么样的,以及这个课程平台的这个健康程度和通过这个来反哺过来提升课程质量。 本课题采用某数据分析平台中的部分时间段学生学习数据,通过使用hadoop生态圈中的组件和Echarts可视化工具来对在线教育平台在学习过程中产生的数据进行分析和展现。本设计中的数据采用阿里云的实验数据,数据中已经完脱敏和预处理,数据分析的维度有平台健康度,用户习惯分析等。 四、参考文献 [1] 张娜.Java Web开发技术教程[M].北京:清华大学出版社,2011,264-283. [2] MagdalenaCantabella. Analysis of student behavior in learning management systems through a Big Data framework[J]. Future Generation Computer Systems,2019,90:262-272. [3] ab198604.hadoop学习之hadoop完全分布式集群安装[EB/OL].http://blog .csdn.net/ab198604/article/details/8250461,2012. [4] 杨选辉.网页设计与制作教程[M].北京:清华大学出版社.2016. [5] 王国琼.大数据可视化对某高校学生行为分析的呈现[D].山东:山东大学, 2016:1-42. [6] 朱力纬,刘丽勤,王健.高校基于大数据时代的数字化校园建设探讨[J].华东师范大学学报,2015(S1):105-110. [7] 汤姆,怀特(Tom White). Hadoop权威指南:大数据的存储与分析(第4版) [M]. 北京:清华大学出版社.2017. [8] 吴胜男.校园大数据文献综述[J].上海管理科学.2018(40):119-125. [9] 王珊,萨师煊. 数据库系统概论(第四版)[M].北京:高等教育出版社,2008. [10] 许文,付达杰,袁芳.大数据背景下学习分析可视化呈现技术研究[J].电脑知识与技术.2017(20). [11] 徐鹏,王以宁,刘艳华,张海. 大数据视角分析学习变革——美国《通过教育数据挖掘和学习分析促进教与学》报告解读及启示[J].远程教育杂志.2013(06). [12] 徐漫.基于开源MOOC平台的学习者学习行为分析与研究[D].东北石油大学.2016. [13] 王敏.基于行为日志数据的MOOC学习者学习行为分析研究[D].华东师范大学.2016. [14] 姜强,赵蔚,李勇帆,李松.基于大数据的学习分析仪表盘研究[J].中国电化教育. 2017(01) [15] 程学旗,靳小龙,王元卓,郭嘉丰,张铁赢,李国杰.大数据系统和分析技术综述[J].软件学报,2014,25(09):1889-1908. [16] Bing Li. Linear operator‐based statistical analysis: A useful paradigm for big data[J]. Canadian Journal of Statistics,2018,46(1). |
毕 业 设 计(论 文)开 题 报 告
2.本课题要研究或解决的问题和拟采用的研究手段(途径): |
研究或解决的问题 教育数据可视化系统设计与实现主要是Hadoop生态圈中MapReduce做分析与Hbase做存储,WEB端作数据展示,数据分析的维度有平台健康度,用户习惯分析等。系统解决的主要问题包括以下几点: 1.数据加载:数据的导入。 2.数据分析:包括每日登录人数分析、平均学习时长分析、学习行为次数分析、每日活跃情况分析和分时段学习人数分析。 3.数据呈现:可视化图表和仪表板的开发。 研究手段(途径) 教育数据可视化系统的设计与实现通过ECHATS+HADOOP进行开发和设计,开发语言选择是JAVA。研究途径主要是通过以下几个阶段来进行的。 第一阶段:开题 在做好需求分析的基础上,深入了解基于JAVA技术的Web网站的体系结构,熟悉ECHARTS的操作及通过JAVA代码操作HBASE; 第二阶段:综合分析 完成网站的界面登录功能及将分析好的数据存储到HBASE数据库中,最后将网站与数据库连接使用ECHATS完成数据展示; 第三阶段:修改完善设计 在初步完成的基础上,查看所做设计是否完善,功能是否欠缺,后充实内容,各种操作能否达到预期效果。 第四阶段:完成设计,对完成的设计进行调试,并将代码部署至服务器; 第五阶段:完成相应系统的论文。 |
毕 业 设 计(论 文)开 题 报 告
指导教师意见: |
1.对“文献综述”的评语: 对教育领域数据可视化的相关背景和现状做了综述,明确了课题的研究目标和研究重点,并对研究手段进行了概述。为后面的毕业设计做好了准备。
深度一般,广度适中,工作量适中。毕设成果有一定的理论价值和应用价值。 3.是否同意开题:√ 同意 □ 不同意 指导教师: 年 11 月 5日 |
所在专业审查意见: 同意 负责人: 年 11 月 9 日 |
核心算法代码分享如下:
import org.apache.flink.api.common.functions.RichMapFunction;
import org.apache.flink.api.common.typeinfo.BasicTypeInfo;
import org.apache.flink.api.common.typeinfo.TypeInformation;
import org.apache.flink.api.java.io.jdbc.JDBCAppendTableSink;
import org.apache.flink.api.java.io.jdbc.JDBCInputFormat;
import org.apache.flink.api.java.typeutils.RowTypeInfo;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.types.Row;
import java.util.Arrays;
public class FlinkDemo {
private static String driverClass = "com.mysql.cj.jdbc.Driver";
private static String dbUrl = "jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC&characterEncoding=utf-8&serverTimezone=Asia/Shanghai";
private static String userName = "root";
private static String passWord = "123456";
public static void main(String[] args) {
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
DataStreamSource<Student> input = env.fromCollection(Arrays.asList(new Student("Tom", 25), new Student("Jack", 24)));
DataStream<Row> ds = input.map(new RichMapFunction<Student, Row>() {
@Override
public Row map(Student student) throws Exception {
return Row.of(student.getName(), student.getAge());
}
});
TypeInformation<?>[] fieldTypes = new TypeInformation<?>[]{
BasicTypeInfo.STRING_TYPE_INFO,
BasicTypeInfo.INT_TYPE_INFO
};
RowTypeInfo rowTypeInfo = new RowTypeInfo(fieldTypes);
//写入mysql(追加模式)
JDBCAppendTableSink sink = JDBCAppendTableSink.builder()
.setDrivername(driverClass)
.setDBUrl(dbUrl)
.setUsername(userName)
.setPassword(passWord)
.setParameterTypes(fieldTypes)
.setQuery("insert into student values(?,?)")
.build();
sink.emitDataStream(ds);
//查询mysql
JDBCInputFormat jdbcInputFormat = JDBCInputFormat.buildJDBCInputFormat()
.setDrivername(driverClass)
.setDBUrl(dbUrl)
.setUsername(userName)
.setPassword(passWord)
.setQuery("select * from student")
.setRowTypeInfo(rowTypeInfo)
.finish();
DataStreamSource<Row> input1 = env.createInput(jdbcInputFormat);
input1.print();
try {
env.execute();
} catch (Exception e) {
e.printStackTrace();
}
}
}