0% found this document useful (0 votes)
62 views

CodeBox: A Code Learning Platform

The Internet has proved to be a life-changing invention of our time. Not only it is itself an invention, but it has been the key player to major things that have been invented in the twentieth century. The internet has proven itself in re-inventing almost everything, with education being no exception to it. CodeBox is also an effort, via the internet, to educate the young minds on the how-tos of coding and developing the spirit of competitive coding.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views

CodeBox: A Code Learning Platform

The Internet has proved to be a life-changing invention of our time. Not only it is itself an invention, but it has been the key player to major things that have been invented in the twentieth century. The internet has proven itself in re-inventing almost everything, with education being no exception to it. CodeBox is also an effort, via the internet, to educate the young minds on the how-tos of coding and developing the spirit of competitive coding.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

8 V May 2020

http://doi.org/10.22214/ijraset.2020.5247
International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.429
Volume 8 Issue V May 2020- Available at www.ijraset.com

CodeBox: A Code Learning Platform


Ms. Chahat Sharma1, Mr. Shreyansh Singh2, Mr. Shubham Dubey3, Mr. Shubham Tripathi4, Mr. Suraj Prakash5
1, 2, 3, 4, 5
Inderprastha Engineering College Dr. APJ Abdul Kalam Technical University, Lucknow (U.P.), India
Abstract: The Internet has proved to be a life-changing invention of our time. Not only it is itself an invention, but it has been
the key player to major things that have been invented in the twentieth century. The internet has proven itself in re-inventing
almost everything, with education being no exception to it. CodeBox is also an effort, via the internet, to educate the young minds
on the how-tos of coding and developing the spirit of competitive coding. It takes a lot of time and practice to get good at coding,
and CodeBox aims to assist the user in this journey. CodeBox will focus on giving users the required data to learn the basic
skills of programming, and then eventually on enhancing the skills required for competitive programming and give the users a
sense of the real world competition. It will enable the users to learn, practice and compete with others on the platform. It
provides different parameters for self-analysis and evaluation like, time taken to complete the challenge(in competitive
programming it is very important to know how fast your code executes so that you can get it to run under the time limit),
complexity of algorithm used, scores of your peer group.
Keywords: Competitive Programming, Coding, Internet, Learning, Practice, IDE, Problem Solving, Analysis

I. INTRODUCTION
CodeBox, as the name suggests is an e-learning web app which will primarily focus on providing a platform where students and
coding enthusiasts can learn the basics of programming through smart modules. The soul goal of Codebox is to provide a learning
medium for the teachers, students, and all those who are keen to learn and enhance their coding skills. Moreover, to make the
learning easy and fast, Codebox itself provides modules for learning and developing new skills about the different programming
languages. It will also focus on making it easy for students of non-technical background to learn coding from scratch.
In the field of competitive programming Codebox provides a great way to showcase the students problem-solving skills, which is
certainly something a lot of companies look for. CodeBox will focus on giving users the required data to learn the basic skills of
programming, and then eventually on enhancing the skills required for competitive programming and give the users a sense of the
real world competition.
The importance of this project increases when we consider that students are coming with different previous knowledge of
programming in the initial courses in computer science. The biggest challenge for teachers lies in teaching a broad, diverse group of
students who come with a variety of knowledge. Teachers find it difficult to discover an appropriate level of difficulty of teaching
content for all students. If the level of presentation is too low some of the bright students will be bored and will be demotivated to
work. This project enables users to access content as per their own speed and capabilities. They can clear their doubts using the
discussion forum and can focus more on typical topics.

II. LITERATURE SURVEY


Wenli Looi’s paper on Analysis of Code Submissions in Competitive Programming Contests[1] analyzes contest submissions on
Codeforces, a preferred competitive programming website where participants solve about 5 to 10 algorithmic problems in a standard
contest. Though it didn't achieve the accuracy as expected, the GDA model was easier to understand and allowed to detect and point
out particular differences in coding techniques between programmers of different ranks and countries.
S. Wasik et al attempted to review The Online Judge Systems[2], Online judges are systems designed for the reliable evaluation of
algorithm source code submitted by users, which is next compiled and tested in a homogeneous environment. The study stated that
online judge systems, integrated by crowdsourcing concepts, usually played a vital role in accurately and efficiently solving
complex industrial- and science-driven problems.
A quasi-experimental design was used by Gandikota Ramu to research the IAREBuildIT Tools[3] impact to build problem-solving
power of coders by motivating himself to accomplish and work with an online coding platform approach. In the mentioned case
study about 7000 Institute of Aeronautical Engineering students were involved. The duration of the experiment was twelve months.
The results evidenced that, student’s coding efficiency increased using this approach. Ultimately, this case study suggests many
convincing recommendations for online coding and problem-solving in engineering education.

©IJRASET: All Rights are Reserved 1531


International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.429
Volume 8 Issue V May 2020- Available at www.ijraset.com

Babaali, P., & Gonzalez, L.[4] tried to explore the effects on student performance of the utilization of a computer software program
to supplement instruction in an entry-level mathematics course at the undergraduate level. The analysis of quantitative data then led
to the conclusion about the effectiveness of the software as well as recommendations for future iterations of the course and others
like it.
Paul Dervan in his report on Enhancing In-class Student Engagement Using Socrative (an Online Student Response System)[5],
analysed the effectiveness of the Socrative cloud-based Student Response System(SRS) in enhancing student participation and the
learning skills, in contrast with the traditional lecture setting.
The study suggests that the use of this system offers lecturers the opportunity to quickly and easily enhance the delivery of their
lectures in a way that increases teachers and student interaction which leads to a better understanding and easy leaning for the
students.
Sezer Kanbul & Huseyin Uzunboylu[6] in their research paper shared the significance of computer science in the field of coding and
robotics application stating that software developers in North Cyprus are lacking a significant amount of knowledge for developing
software.
Thus, to develop the skills of coding training should be started from the student phase of one’s life for providing the solutions for
problems and having enough ideas in the fields of profession, human sciences and social sciences by using computer sciences and
applications.
Kirsti M Ala-Mutka in her paper on A Survey of Automated Assessment Approaches for Programming Assignments [7] stated that
automatic assessment tools can be used to help teachers in assessment of students tasks and in addition to it to help students'
working process with automatic feedback. Major advantages of automation are the speed, availability, consistency and objectivity of
assessment.

III. PROPOSED SYSTEM


Competitive Programming is the best way to showcase our problem-solving skills and also something which a lot of companies look
for. CodeBox will focus on giving users the required data to learn the basic skills of programming, and then eventually on
enhancing the skills required for competitive programming and give the users a sense of the real world competition. It will enable
the users to learn, practice and compete with others on the platform.
It provides different parameters for self-analysis and evaluation like time taken to complete the challenge(as in competitive
programming it is very important to know how fast your code executes so that you can get it to run under the time limit), complexity
of algorithm used, etc.

CodeBox intends to have the following features:

A. Open source
B. Modular and Easy to use.
C. Scalability is simple.
D. Data Visualization.
E. Challenge history will be stored.

Main Modules of the project & their functionalities:

1) Compiler: It is the core module of the entire application. It gives us options to pass custom test cases input to check our code on
our own while practicing, we can download our code, change themes of our compiler and perform many other things in real
time. The compiler creates JSON data and sends it to API via POST method, the API processes the data and returns the JSON
response to the compiler. We are using the Hackerearth API in this project which is providing us various useful functionalities.
The API provides endpoints for compiling and running code in different languages.

©IJRASET: All Rights are Reserved 1532


International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.429
Volume 8 Issue V May 2020- Available at www.ijraset.com

Fig.1 Compiler
2) Courses: This section contains tutorials on different topics related to computer science engineering. It mainly focuses on topics
like competitive coding. It consists of video lectures and study materials on different topics related to basic concepts of
different programming languages.

Fig.2 UI of courses module

3) Registration Page- It is basically a registration form which consists of a list of fields that a user will input data into and submit
to become a registered user of CodeBox. CodeBox uses registration forms to sign up new users for subscriptions, services, or
other features which are not available to the guest users.
4) Login Page: The login page is where you have to input the correct credentials to get to access the backend of your website.
Once logged in, you can see your dashboard, access courses, practice coding using IDE,update the theme as well as make other
customizations to your profile.
5) Discussion Forum: It is a module which enables users to interact with other active members of CodeBox. Users can discuss
their problems, doubts and help other members on the platform. It is concerned about problem solving of different users and
creating a healthy competitive environment.

©IJRASET: All Rights are Reserved 1533


International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.429
Volume 8 Issue V May 2020- Available at www.ijraset.com

IV. FEASIBILITY STUDY


The system is highly feasible as it involves the development of functionalities basic in general approach. The feasibility rate for this
system ranges from 8-10 on a scale of 10. The internet, despite being an invention itself, has proven to be a key factor in re-
inventing almost everything, with education being no exception to it. CodeBox is also an effort, via the internet, to educate the
young minds on the how-tos of coding and developing the spirit of competitive coding.
CodeBox will be a web app which will primarily focus on providing a platform where students and coding enthusiasts can learn the
basics of programming through smart modules. It will be an accessible-to-all service through which it intends to target the school
going students and the undergraduates of technical background. It will provide different options to the user based on individual
progress based on their trackboard. It will also focus on making it easy for students of non-technical background to learn coding
from scratch. CodeBox intends to give the user a descriptive analysis of their coding abilities, and help them grow down the lane by
suggesting areas where the user needs to improve. Coming to the API we are using, it is HackerEarth API V3, it can be accessed via
a simple API key based authorization process. You need to register your web application in order to get a client specific
client_secret which must be provided while communicating with the API. Every JSON object returned by the API always consists
of at least two attributes, 'message' and 'errors'. 'message' contains the description of errors encountered while processing of a
request and 'errors' may contain key-value pairs which were the cause of the errors.

Fig.3 API request

When a request runs successfully, the JSON object returned might look like:

Fig.4 JSON output from API request

©IJRASET: All Rights are Reserved 1534


International Journal for Research in Applied Science & Engineering Technology (IJRASET)
ISSN: 2321-9653; IC Value: 45.98; SJ Impact Factor: 7.429
Volume 8 Issue V May 2020- Available at www.ijraset.com

V. SIGNIFICANCE
As we have seen above, many observations and researches have been done in the field of online learning platforms and enhancing
problem solving abilities of individuals. This project on successful implementation would prove itself as an asset to the users in
enhancing the coding skills and increasing their problem solving efficiency. It will expose the users to the real world problems and
increase their logical thinking ability. It doesn’t really matter whether you are from a technical background or not, this project
ensures easy learning of the users starting from the basic concepts. The motto of this platform is to overcome the fears of users when
they think of programming as a skill. Programming can’t be taught overnight but this platform will ensure that users who are really
dedicated to learn new skills of programming will be provided with the best study materials and lectures with proper mentor
guidance. It will work on giving users an exposure to competitive programming. This platform ends the need of visiting different
platforms for coding, learning and taking references as it itself can be utilized for all these operations.

VI. CONCLUSIONS
In today’s world, we rely heavily on computers for everything. And without coding, computers would literally do nothing. They
would be completely useless. CodeBox will focus on providing users with an easy-to-learn environment wherein the user can learn
the basics of coding. It will focus on providing hands-on experience to practice different programming paradigms using well-
defined course modules.
It is said that one learns the best in a competitive environment, and when we talk about coding, competitive coding comes into our
mind. In the field of competitive programming Codebox provides a great way to showcase the students problem-solving skills,
which is certainly something a lot of companies look for. This project focuses on enhancing the skills required for competitive
programming and gives the users an exposure to real world competition. It enables the users to learn, practice and compete with
others on this platform. It provides different parameters for self-analysis like total time taken to complete the challenge, complexity
of algorithm used, etc. Despite a lot of similar services, CodeBox still has a large audience to cater its services as they have not been
reached out in an approachable and easy manner.

REFERENCES
[1] Wenli Looi, “Analysis of code submissions in competitive programming contests”, CS 229 project, autumn 2018, https://github.com/looi/CS229
[2] Szymon Wasik, Maciej Antczak, Jan Badura, Artur Laskowski, and Tomasz Sternal. 2016. A survey on online judge systems and their applications. ACM
Comput. Surv. 1, 1, Article 1 (January 2016), 35 pages.
[3] Gandikota Ramu, IARE-BuildIT tool: A case study of an online platform approach to improve coding skills, 2018.
[4] Babaali, P., & Gonzalez, L. (2015). A quantitative analysis of the relationship between an online homework system and student achievement in precalculus.
international journal of mathematical education in science and technology, 46(5), 687– 699. doi:10.1080/0020739X.2014.997318.
[5] Dervan, P. (2014). Enhancing in-class student engagement using socrative (an online student response system): a report. The all Ireland journal of teaching &
learning in higher education, 6(3), 1801– 1813 retrieved from http://citeseerx.ist.psu.edu/viewdoc/download?doi=1 0.1.1.831.2117&rep=rep1&type=pdf.
[6] Sezer Kanbul & Huseyin Uzunboylu, “Importance of coding education and robotic applications for achieving 21st-century skills in North Cyprus”,
https://doi.org/10.3991/ijet.v12i01.6097
[7] Kirsti M Ala-Mutka, “A survey of automated assessment approaches for programming assignments”, https://doi.org/10.1080/08993400500150747
[8] HackerEarth API v3, https://www.hackerearth.com/ https://www.hackerearth.com/docs/wiki/developers/v3/
[9] N. Bubica1 , M. Mladenovic , I. Boljat, ”Students motivation for computer science competition”,
https://pdfs.semanticscholar.org/f6a3/45e3c0f89e608d1e67a24461c55fd6570 87b.pdf
[10] Sayin, Z., & Seferolu, S., S., “Coding education as a new 21st-century skill and effect of coding on educational policies” ,academic informatics 2016, 3-5
February 2016, Adnan Menderes University, Aydin. November 17, 2016.
[11] Computing our future. Computer programming and coding-priorities, school curricula and initiatives across Europe. European schoolnet (2014). accessed
November 17, 2016.
[12] Shih-Chieh Su, Chih-Chang Yu and Chan-Hsien Lin, "Development of a web-based programming learning platform," 2016 international conference on fuzzy
theory and its applications (iFuzzy), Taichung, 2016.

©IJRASET: All Rights are Reserved 1535

You might also like