Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


VisMOOC is the first visual analytic system developed by VisLab, HKUST for domain experts to analyze large-scale data of MOOCs. It provides course instructors and education analysts intuitive, interative and comprehensive analysis by integrating course videos, data visualization, and statistical analysis into one system. Multi-exploration techniques are offered for analysis at different levels. The data include clickstream data when students interact with course videos, grading data for assignments and exams, and forum data.

VisMOOC Projects

The VisMooc system consists of three parts, namely, Data Server, Web Server, and Frontend. The Data Server is responsible for data processing and analysis. We support to import data both from the raw data or from MOOCDB. The Web Server serves as the backend of our interactive visualization system. It achieves a high concurrency by utilizing state-of-the-art techniques such as Node.js and Koa with optimization. The Frontend part incorporates several visualization components that adopts a MMVM architecture with one-way data flow.


Data Server

Web Server


Libraries PyMongo, PyMySQL, NLTK Koa, Mongoose, Vue.js, D3.js,

VisMOOC Modules

The VisMOOC system allows users to analyze the MOOC data from multi-perspectives. We provide a flexible architecture that can integrate different modules for analyzing various perspectives of MOOC data. The Basic Module provides an overview on course and video statistics such as user demographics information and video temporal hotness. It also enables to explore and analyze different types of users' clickstream data. The Forum Module focuses on the course forum data. Specifically, we support analyzing user's sentiment at different scales and exploring the users' social network based on their posts and replies. The Prediction Module helps predict whether a user would dropout in the middle of the course. These components are still in development and we plan to develop more visualization components to enable MOOC analysis from a wider perspective.

Modules Features Publications
  • Course popularity
  • User demographics information
  • Clickstream analysis
  • Temporal hotness analysis
[1, 2, 3, 4]
  • Sentiment analysis
  • Social network analysis
[5, 6]
  • Dropout analysis
  • To be continued


  1. Conglei Shi, Siwei Fu, Qing Chen, and Huamin Qu. "VisMOOC: Visualizing video clickstream data from massive open online courses." Visual Analytics Science and Technology (VAST), 2014 IEEE Conference on. IEEE, 2014.

  2. Conglei Shi, Siwei Fu, Qing Chen, and Huamin Qu. "VisMOOC: Visualizing video clickstream data from massive open online courses", PACIFICVIS, 2015, Visualization Symposium, IEEE Pacific, Visualization Symposium, IEEE Pacific 2015.

  3. Huamin Qu, Qing Chen. "Visual Analytics of Data from MOOCs", IEEE Computer Graphics and Applications (CG&A) 2015.

  4. Qing Chen, Yuanzhe Chen, Dongyu Liu, Conglei Shi, Yingcai Wu, Huamin Qu. "PeakVizor: Visual Analytics of Peaks in Video Clickstreams from Massive Open Online Courses", IEEE Transactions on Visualization and Computer Graphics, 2015.

  5. Tongshuang Wu, Yuan Yao, Yuqing Duan, Xinzhi Fan, Huamin Qu. "NetworkSeer: Visual analysis for social network in MOOCs", PACIFICVIS, 2016, Visualization Symposium, IEEE Pacific, Visualization Symposium, IEEE 2016.

  6. Siwei Fu, Jian Zhao, Weiwei Cui, Huamin Qu. "Visual Analysis of MOOC Forums with iForum", IEEE Transactions on Visualization and Computer Graphics, 2016.

  7. Yuanzhe Chen, Qing Chen, Mingqian Zhao, Sebastien Boyer, Kalyan Veeramachaneni, Huamin Qu. "DropoutSeer: Visualizing Learning Patterns in Massive Open Online Courses for Dropout Reasoning and Prediction", In IEEE VAST 2016.



OS: Debian 8 (amd64)


  • Docker


  • CPU: Intel core i5-6500 @3.20GHz, 4 cores
  • RAM: 8G
  • Disk: Hard disk, >= 100Gb (actually, it depends on the size of dbsnapshot)


  1. install Docker and Docker-compose
  2. Setting your MySQL password and MySQL data path in the file docker-compose.yaml.
  3. Setting the configuration under the folder config, then save the configuration as config.json.
  4. Build the images and run the container sudo docker-compose up -d


No description, website, or topics provided.






No releases published


No packages published