MapReduce is designed to be applied to Big Data in NoSQL DBs, in data and disk parallel fashion - resulting in dramatic processing gains
MapReduce is a programming framework that allows us to perform distributed and parallel processing on large data sets in a distributed environment.
MapReduce works like this:
Under the trend of e-learning development, many different e-learning apps will be published to primary or secondary students for different e-learning usage. Students need an interesting and powerful e-learning tool for learning. Teachers, schools or parents need a standardized and powerful analyzing tool that can understand student’s learning performance under those apps.
Unfortunately, there is no standard in handling learning records at all and it is still a question on what information may be useful for analyzing e-learning activity at this moment. In the future, WIFI network becomes more efficient and it exists almost unlimited data storage in server. It encourages that more and more useful fine-grind data can be collected while the students using e-learning app. Fine-grind data is delicate, such as each users’ handwriting strokes or gestures on the tablet’s screen.
SkyApp is an educational mobile application developed by Dr. Lucas Hui and his research team.
It is a platform designed for teachers to deliver learning activities, which collects data beyond answers and grades at a fine-grained scale.
Examples of collected data in SkyApp include students’ comments/notes, finger movements, time spent on each question and number of trials, etc.
Previous work of learning analytics includes implementing a real-time analyzing tool, which generates visualized analysis reports and classifies students into different categories according to their learning performances.
The program extracts useful data from the database and passes clean data to the analysis program. The analysis program generates analyzed CSV files for visualization. The visualized analysis charts are generated by HTML D3.JS and contain charts for the student learning profile and worksheet-based statistics. This includes overall statistics, classification on students based on the hierarchical cluster analysis.
The analyzing tool is expected to benefit teachers with better understanding on students’ learning patterns and help teachers to improve their teaching strategies.
Such kind of computer-based learning system can keep detailed records of various data, opening up new opportunities to study how students learn with technology.
There are various data that could offer us meaningful information. Data of interest is not restricted to interactions of individual students with an educational system (e.g. input to quizzes and interactive exercises) but might also include data from collaborating students (e.g., text chat), administrative data (e.g., school, school district, teacher), and demographic data (e.g., gender, age).
The integration of learning emotion into an intelligent system is a possible solution to the problems of “learning deviation”. It may also help the teacher to make personalized support for students.
e.g. , a negative emotion may indicate the tiredness or fear of the student facing a specific question. Analysis on students’ emotional states becomes my focus, which can be inferred from text comments.
I mainly perform data analysis using R programming to predict students’ learning emotion based on the generated text.
I know there is already so much similar work to classify the emotion, but I am concerned with determining sentiment on a range of levels.
Though the classification between positive and negative may be enough for most questions, I think, when it comes to educational application, the classification between similar emotions is very important. e.g. Is the student’s poor academic performance is due to the tiredness of repeatedly answering questions or the anger of too much homework?
Research in such analysis could enhance both teaching and learning.
A framework for emotion analysis:
The main steps are:
- Step 1: Get data
- Step 2: Text preprocessing using R
- Step 3: Feature engineering
- Step 4: Split the data into train and test
- Step 5: Train prediction model
- Step 6: Evaluate model performance