CodeBox: A Code Learning Platform
CodeBox: A Code Learning Platform
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
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.
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.
A. Open source
B. Modular and Easy to use.
C. Scalability is simple.
D. Data Visualization.
E. Challenge history will be stored.
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.
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.
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.
When a request runs successfully, the JSON object returned might look like:
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.