Professional Documents
Culture Documents
Developing A Online Coding Tool With Sentiment Analysis
Developing A Online Coding Tool With Sentiment Analysis
Platform
PROJECT REPORT – PHASE I
SUBMITTED BY
AAHIL R 16F101
DEEPAN V 16F110
of
BACHELOR OF TECHNOLOGY
in
INFORMATION TECHNOLOGY
OCTOBER 2019
BONAFIDE CERTIFICATE
--------------------------- -------------------------
……………………….. ……………………….
A word of thanks would not be sufficient for the work of our project
guide R. MIRDULA M.E. Department of INFORMATION TECHNOLOGY
whose efforts and inspiration lead us through every trying circumstance.
We would also like to recollect the courage and enthusiasm that was
inculcated in us by our project co-ordinator , Dr.G.RAJESHKUMAR, M.E.,
Ph.D., Dr.R.MADHUMITHA, M.E., Ph.D., Department of INFORMATION
TECHNOLOGY for valuable guidance and support through the tenure of our
project.
We deeply express our gratitude to all the members of the faculty of the
Department of INFORMATION TECHNOLOGY for the encouragement,
which we received throughout the semester.
TABLE OF CONTENTS
1 ABSTRACT 5
2 INTRODUCTION 6
3 LITERATURE SURVEY 9
4 SYSTEM SPECIFICATION 12
5. SYSTEM DESIGN 25
6. CONCLUSION 33
7. REFERENCE 33
ABSTRACT
Due to the evolving demands in the field of digital e-learning, we came up with a tool
that deals with it. A Digital e-Learning Platform is an assimilated set of interactive
online services that provides the teachers, learners, parents and Human Resource
Recruitment community with information, services and resources to support
educational delivery and management.And for the betterment of this concept we
would like to integrate Learning Management System with Sentiment Analysis to
analyse the strength and weakness of a student and guide them properly using the data
without the interference of a Human. This is a complete Automation Tool .
CHAPTER I
INTRODUCTION
1.1. Introduction
This project is aimed at developing an online Digital e-Learning with sentiment analysis.
The main objective of this tool is to concede students to practice Programming Challenges
in programming languages like C, C++, Java, Python, Ruby and also students can be
evaluated and assessed using the Application.
The proposed system is a web-based application where one can create an user account and
start learning Programming Languages. And the students performance will be tracked and
analysed.
The Learning Platform can be used in educational institutes mainly-schools, colleges and
universities. Besides, corporate organizations, banks can also use this system for training
purpose and easy employee assessment. The confidential data and official documents of the
organization can be easily managed and organized with the help of learning platform.
Lets take into consideration the benefits of Learning Platform if integrated into educational
institutes- schools, colleges, and universities
An effective learning platform that is embedded in the working practices of the educational
institutes can offer a wide range of benefits to teachers, pupils, parents and at the same time
support management and administration.
With the recent advances in deep learning, the ability of algorithms to analyse text has
improved considerably. Creative use of advanced artificial intelligence techniques can
be an effective tool for doing in-depth research.
LITERATURE SURVEY
REFERENCE
OVERVIEW :
OVERVIEW:
OVERVIEW:
This article presents both a historical picture of online education and a colorful
diagram of its essential concepts for brainstorming. There is a brief recounting
of developments leading to the improbable formation of the World
Association for Online Education (WAOE). Online education and related
terms were defined in a graduate school class on online education, while the
WAOE organization provided online mentors for the graduate class at a
national university near Tokyo.
CHAPTER 2 : PROJECT DESCRIPTION
MODULES
● Admin Model
● User Model
● Announcement Model
● Comment Model
● Contest Model
● History Model
● Language Model
● Practice Model
● Problem Model
● Rank Model
● Ranklist Model
● Run Model
● Submission Model
● Testcase Model
In this Model, all the other 16 models are controlled with operations like
create,read,update and delete. Generally this concept is called as CRUD
operation. Since we are about to use MongoDB as the backend technology, this
CRUD concept is the one that is associated with this database.
In this Model, we have permitted only the read operation for the modules
1. Contest
2. Problem
3. Submission
4. Practice
Relationships:
● belongs to user
● has many problems
● has many announcements
A contest is a like a test where a user will be allowed to code online and
compete with other users within a given time.
This model is used to track all the codes , a user has coded for a single
problem and give back the user the clear picture of what mistakes , one has
done.For recreating this feature we are planning to use the gem
“public_activity”.
1. C
2. C++
3. JAVA
4. PYTHON
5. RUBY
RELATIONSHIPS
● belongs to contest
● has many testcases
● has many languages
A rich programming API and a CSS theming system are available for
customizing CodeMirror to fit your application, and extending it with new
functionality.
This simple architecture have become the basics of most ranking algorithms as
well as libraries such as RankLib or LightGBM. While these libraries provide
efficient ranking methods, they have been implemented for small datasets which
makes them impractical for real world scenarios that rely on large volumes of
training data. Additionally existing LTR libraries have not been designed for
sparse and multi-dimensional datasets which are common in deep learning
scenarios.
And we have used ELO-RATING Algorithm for giving ratings for every users
based on which we are providing the ranking system.The Elo rating system is a
method for calculating the relative skill levels of players in zero-sum games
such as chess. It is named after its creator Arpad Elo, a Hungarian-American
physics professor.
The Elo system was originally invented as an improved chess rating system
over the previously used Harkness system, but is also used as a rating system for
multiplayer competition in a number of video games, association football,
American football, basketball, Major League Baseball, table tennis, Scrabble,
board games such as Diplomacy and other games.
The difference in the ratings between two players serves as a predictor of the
outcome of a match. Two players with equal ratings who play against each other
are expected to score an equal number of wins. A player whose rating is 100
points greater than their opponent's is expected to score 64%; if the difference is
200 points, then the expected score for the stronger player is 76%.
A player's Elo rating is represented by a number which may change depending
on the outcome of rated games played. After every game, the winning player
takes points from the losing one. The difference between the ratings of the
winner and loser determines the total number of points gained or lost after a
game. If the high-rated player wins, then only a few rating points will be taken
from the low-rated player. However, if the lower-rated player scores an upset
win, many rating points will be transferred. The lower-rated player will also
gain a few points from the higher rated player in the event of a draw. This
means that this rating system is self-correcting. Players whose ratings are too
low or too high should, in the long run, do better or worse correspondingly than
the rating system predicts and thus gain or lose rating points until the ratings
reflect their true playing strength.
An Elo rating is a comparative rating only, and is valid only within the rating
pool where it's established.
In these models, the code which is written by the user is taken to the
server for compilation . If 1000s of codes are recieved by the server at the same
time, only one code will be compiled successfully and all the other codes will be
failed. To handle this we have introduced the gem called “sidekiq” which does
CPU scheduling in a very efficient manner.
Simple, efficient background processing for Ruby.
Sidekiq uses threads to handle many jobs at the same time in the same process.
It does not require Rails but will integrate tightly with Rails to make
background processing dead simple.
Performance
SYSTEM SPECIFICATION
SYSTEM DESIGN
Model Relationship
USER
has_and_belongs_to_many :contests
has_many :runs
has_many :ranks
has_many :submissions
ANNOUNCEMENT
COMMENT
CONTEST
has_many:problems
belongs to:setter
has_many:announcements
PROBLEM
has_many:submissions
has_many: testcases
has_many: languages
belongs_to: contest
LANGUAGE
belongs_to: problem
RUN
belongs_to: problem
SUBMISSION
belongs_to: problem
TESTCASE
belongs_to: problem
4.1 Basic flow:
CHAPTER 5
CONCLUSION
We illustrated how to build a digital e-learning tool with sentiment analysis.We hope that
this tool will serve the mankind in the field of education and will maintain it’s standard.
The proposed system is a web-based application where one can create an user account and
start learning Programming Languages. And the students performance will be tracked and
analysed.
REFERENCE
Publisher: IEEE
https://sites.google.com/site/chatrasadagopansharma/conclusion
https://towardsdatascience.com/various-implementations-of-collaborative-filtering-10
0385c6dfe0
https://www.youtube.com/watch?v=XoTwndOgXBM
https://arxiv.org/ftp/arxiv/papers/1612/1612.01556.pdf
https://onlinelibrary.wiley.com/doi/abs/10.1002/asi.21206
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4765697/
https://www.tandfonline.com/doi/abs/10.1080/10494820.2012.745433
https://www.researchgate.net/profile/Nor_Adzharuddin/publication/269838611_Learni
ng_Management_System_LMS_among_University_Students_Does_It_Work/links/5a
d20396458515c60f50a322/Learning-Management-System-LMS-among-University-St
udents-Does-It-Work.pdf
https://www.researchgate.net/publication/257948587_A_survey_paper_on_e-learning
_based_learning_management_Systems_LMS