edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT...

36
Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope Referen edX Development Gagan Khanijau IIIT Delhi Piyush Tiwari LNMIIT Jaipur Rupal Sharma LNMIIT Jaipur Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 edX Development

Transcript of edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT...

Page 1: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

edX Development

Gagan Khanijau IIIT DelhiPiyush Tiwari LNMIIT JaipurRupal Sharma LNMIIT Jaipur

Sonam Gupta NIT RaipurSuhanth Boddu IIIT Delhi

Surabhi Prasad DAIICTUdayan Jain SGUV Jaipur

Zeel Shah DAIICT

03 July 2013

edX Development

Page 2: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Outline

IntroductionedX-platformDjango Caching FrameworkedX DatabaseedX-ORA

xqueueEASEDEMOFuture ScopeReferences

edX Development

Page 3: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Introduction

I EdX is a non-profit organization formed by collaborationof Harvard and MIT

I OpenEdX provides an open source platform for buildingMOOC(an online education system)

I We were working to develop MOOC system for iitbknown as ’IITBombayX’ using OpenEdX.

edX Development

Page 4: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

edX Platform

Figure: edX Overview

edX Development

Page 5: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

What is CMS?

I Course Management System

I It is the instructor side of the system where there is aprovision for creating and managing courses using theMOOC system.

edX Development

Page 6: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Features of CMS(Adding Videos)

Figure: Adding Videos

edX Development

Page 7: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Features of CMS(Adding Videos)

Figure: Adding Videos

edX Development

Page 8: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Features of CMS(Course Team)

Figure: Course Team

edX Development

Page 9: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Features of CMS(Grading Policy)

Figure: Grading Policy

edX Development

Page 10: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Features of CMS(Assignments)

Figure: Assignments

edX Development

Page 11: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

What is LMS?

I Learning Management System

I It is the student side of the system

I Students can register for courses according to their areaof interest

I Graded and certified on successful course completion.

edX Development

Page 12: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Features of LMS(Self Paced Learning)

Figure: Self Paced Learning

edX Development

Page 13: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Features of LMS(Student Dashboard)

Figure: Student Dashboard

edX Development

Page 14: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Discussions

Figure: Discussions

edX Development

Page 15: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Django Cache System

I Robust Cache System

I Save Dynamic Pages

I Levels of cache granularity

edX Development

Page 16: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Types of Caching

I Memcached

I Database Caching

I Filesystem Caching

I Local Memory Caching

edX Development

Page 17: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Experiment

Objective :To test different types of cache systems available inDjango

Testing Tool :Jmeter

Parameters :

I Number of Users : 10

I Ramp-up Period : 20

I Loop Count : 5

edX Development

Page 18: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Results

Type of Caching Average Sampletime (in ms)

Deviation

Local Memory Caching 168 196Memcached 93 8Database Caching 136 32Filesystem Caching 121 23

Table: Results

Memcached > FilesystemCaching > DatabaseCaching >LocalMemoryCaching

edX Development

Page 19: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Database

edX uses two database systems :

I SQLite* (Relational Database): used to store theuser-data

I MongoDB(Non Relational Database): used to store thecourseware content

*for production environments MySQL is used.

edX Development

Page 20: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Database

SQLite/MySQL

I Relational Database.

I Used to store the information about user profile,registration data, student enrollment, logs, test andgrading.

I There are (85+1) tables currently present in IITBombayX.

edX Development

Page 21: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Database

Figure: Categorization of relations

Categorization of relations:edX Development

Page 22: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Database

MongoDB

I NoSQL - Document based database(has collections anddocuments)

I Used to store the courseware content, course policies etc.

I Data is stored as a series of key value pairs whichoptimizes retrieval and appending of data.

I Two databases:I xcontent: stores filesystem contentI xmodule: stores module definitions and metadata

edX Development

Page 23: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Database

Use of two different Databases:

Using MongoDB is a relatively new concept(previouslyarchitecture used XML based files). Since use of relationaldatabase for user-data predated the transition of content storeso it was not migrated to NoSQL platform.[1]

edX Development

Page 24: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

edX-ORA

I edX-ORA is used for the assessment of open responseproblems on the edx platform.

I It has support for Peer Grading, Staff Grading andMachine Grading.

edX Development

Page 25: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

edX-ORA

Figure: edx-ORA

edX Development

Page 26: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

edX-ORA

I AI AssessmentI In AI assessment, a computer algorithm scores student

submissions.

I Peer AssessmentI In Peer assessment each student gives one another

scores and feedbacks. For this he first has to gradehimself and then proceed for the calibration round, uponcompletion of which he can grade his peer with the helpof provided rubrics.

edX Development

Page 27: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

xqueue

I It provides an interface to the LMS to interact withexternal grading system like ORA. [2]

Figure: xqueue interaction

edX Development

Page 28: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

EASE

I The EASE module is used for machine learning basedautomated classification.

I Machine learning based automated classification can workon both free text and numeric values.[3]

edX Development

Page 29: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

EASE

Figure: model creation

edX Development

Page 30: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

EASE

Figure: training and prediction

edX Development

Page 31: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Time for DEMO

Demo of features :

1. Upload Video Directly through edX Studio

2. Popularity of Course (no. of students registered)

3. Course Search (on keyword)

4. Recommended Courses

edX Development

Page 32: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Future Scope

I Refining search

I Course feedback and rating

I Improvement in AI grader

I Access control to staff(added by Instructor)

I User interface to provide programming assignments thatwill run in codejail

edX Development

Page 33: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

References

[1] edX, “edX Wiki Github.”

[2] edX, “xqueue repository.”

[3] edX, “ease repository.”

edX Development

Page 34: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

IITBombayX Development Team

Gagan Khanijau Piyush Tiwari Rupal Sharma Sonam Gupta

Suhanth Boddu Surabhi Prasad Udayan Jain Zeel Shah

edX Development

Page 35: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

edX Development

Page 36: edX Development - School of Information Technology · Sonam Gupta NIT Raipur Suhanth Boddu IIIT Delhi Surabhi Prasad DAIICT Udayan Jain SGUV Jaipur Zeel Shah DAIICT 03 July 2013 ...

Introduction edX-platform Django Caching Framework edX Database edX-ORA xqueue EASE DEMO Future Scope References

Any Queries?

edX Development