ICT Assignment
ICT Assignment
programming
This is a report about CodeHelper which is a Java Application more like a game which will help people
learn JAVA through playing it. The idea of this app is to provide plain English compile-time error messages rather
than technical error messages generated by Java compilers. CodeHelper also utilizes a video game approach to
visualize the outcome of some pre-defined programming task being attempted. The use of CodeHelper enabled the
students to better grasp and apply concepts related to initializing and populating Java arrays as well as the use of
appropriate debugging techniques to eliminate exception states related to array implementation.
INTRODUCTION:
In the context of having computer programming skills, one of the most significant challenges encountered
by student programmers is the correct interpretation of compile-time and run-time error messages generated by
compilers. It is often the case that these error messages are complete with technical terms which render them in
large part incomprehensible to inexperienced programmers such jargon is particularly evident in error messages
output by Java compilers. Moreover, it occasionally transpires that Java error messages can be misleading when
they misrepresent the source and location of a specific defect in a given source code listing.
We got the idea when we were learning new programming languages and we encountered this problem where we
couldn’t understand the error. Thus we decided to develop an app which can counter this problem and help people
to learn and practice new languages easily.
Literature Review:
This is the part where we discuss the work done similar to this game. Other application which are designed
in a way so that people can learn programming by playing simple games. Here I will provide some of the example
applications such as:
1. Robocode is a complex programming game where you code for the robot tans engaged in a battle with
each other. The user has to code the AI that drives your robots to succeed using languages such as Java, C#
and Scala. In Robocode, your task includes creating a virtual tank in either Java or another language, which
you will send to fight the other user-generated robots.
2. Codehunt is a game that can be operated in both C# and Java. The game is designed to teach you the
basics of whichever language you choose. Here you start with training, move through the next steps like
loops and strings and finally ending with intermediate challenges like Cyphers and Puzzles. In this game,
you have figure out how to win each level.
3. CodeGym.cc is a relatively new online platform for mastering Java programming. CodeGym.cc is geared
towards learners with zero experience in programming. Though students with a developer’s background
will surely embrace many features of this platform.
In an effort to determine if the CodeHelper application is capable of actually enhancing and reinforcing the
acquisition of programming skills, the 20-member student group was divided into two sections of ten each for a
four-week period during which the topic of Java arrays was explored; one of the sub-groups was taught using the
traditional teaching methods described previously while the other group was instructed to use the CodeHelper
application at their leisure (i.e. that they should use the application as often as deemed necessary in order to gain
proficiency in the subject area under review). Prior to the start of the period of instruction, both sub-groups were
given a pre-test to determine their proficiency in the subject area of interest. At the end of the four-week period,
both of the groups were given an in-class test to assess their progress and proficiency in the recently introduced
topic. Comparison of the pre-test and post-test results showed that the group which was afforded the use of
CodeHelper achieved – on average – scores which were twelve percent higher than those who did not have access
to CodeHelper. This encouraging result paves the way for further research and development whereby it is
envisaged that CodeHelper will incorporate a game engine allowing CodeHelper to be configured with user-
defined source code files and instructions for rendering a variety of audiovisual two-dimensioinal animation
sequences. If such an ambitious goal is achieved, it can only benefit the overall effort to render the acquisition of
Java programming skills a less daunting prospect for those who are willing to learn but are discouraged by
compiler-generated error messages which do not facilitate comprehension.
This image shows how CodeHelper helps people better understand the Errors.
CONCLUSION
Due to constraints of time and resources, field testing of the CodeHelper application has been limited to an
informal observation of its use by a group of twenty freshmen university students doing an introductory course in
Java object oriented programming. The application was used to supplement the usual “lecture-followed-by-lab”
approach [7] whereby the instructor (this researcher) delivers a seminar-style presentation on some new topic
which is then followed by a series of supervised laboratory sessions to enable students to develop their practical
programming skills.