Web Based Programming Assistance Tool for Novices
Anmol More, Jitendra Kumar, Renumol V. G.
Division of Information Technology
Cochin University of Science & Technology
Kochi, India
anmolmore@gmail.com, jit.monu@gmail.com, renumolvg@gmail.com
Abstract – One of the grand challenges in computing
education is to teach programming to novice students.
Typically, novices find it difficult to understand compiler
error messages. Hence a prototype of web based
programming assistance tool has been developed to assist
them in the programming process. It is an online program
development environment to help beginners to debug
programs in C language. The debugger component assists to
identify the errors and fix them. Hints will be provided to
deal with the compiler error messages. The system comprises
of a GUI editor, a GCC compiler and a central database.
The database stores a list of almost all compiler error
messages, and the corresponding fixes and hints. Based on
the error messages generated after compilation, queries are
sent to the database and the relevant fixes are presented to
the programmer.
Keywords-computer programming; novice programmers;
debugging; web based interface
I. INTRODUCTION
Most of the C compilers were developed years ago by
professionals; however they lacked the vision for novice
programmers. As a result beginners face various problems
when they learn to program [1][2][3]. Some of the
difficulties are:
• Installing and setting class paths for compilers.
• Learning functionalities of programming editors.
• Understanding programming questions and using
programming language syntax knowledge to
write code.
• Describing the program logic and difficulty of
translating logic to program.
• Poor quality of assistance provided by teachers.
• Lack of knowledge of useful library functions
and header files.
• Understanding compiler error messages.
• Fix the errors, as specified during debugging
process.
Debugging is a very important task in programming
process. It needs students to understand the errors they
make and know how to rectify them during programming
process. But novices find it very difficult to understand
the compiler generated error messages. Development of a
new compiler for debugging programs that would provide
simpler error messages and corresponding help and fixes
would require a huge effort and technicality. This alone
would not solve the learning difficulties of student
programmers. Research has been done recently to
understand the program learning difficulties of students
[1][2][3]. One of the groups has suggested a HiC compiler
for C++ programming, but it targets some of the problems
only [4]. In a work [5] at Waikato Institute of Technology,
kernel++ Integrated Development Environment (IDE) has
been developed that can deal with the syntax and syntactic
errors to some extent. But the major shortcoming is that
each such new IDE requires a lot of testing and updates
time to time, it would be difficult to use a desktop based
system and update it. This may also require reinstalling
the complete product at later stages.
With the rapid growth of internet and World Wide
Web, web based interfaces for program learning has
become popular in recent years. An experimental result on
47 undergraduate students shows that web based program
learning environment is helpful to the students [6]. Some
of the web based interfaces [7][8][9][10] provide
unassisted compilation of C programs. But they do not
target the difficulties of student programmers and thus are
of very limited use. Therefore this study concentrates on
development of a web based interface that helps students
to understand the compiler generated error messages and
fix the programming errors. A system named as Web
Based Programming Assistance Tool (WPAT) is
developed, to support them in interpreting various error
messages during programming. WPAT provides online
coding, debugging and error rectification for C programs.
C has been chosen for this project since majority [3] of
students use ‘C’ as their first programming language.
II. PROGRAMMING METHODOLOGY
Programming is the process of writing, testing,
debugging and maintaining the source code of computer
programs using different programming languages [11].
Students are often asked to write complete programs to
solve problems as soon as possible. Nevertheless,
researchers have indicated that problem solving is in fact a
necessary but not a sufficient criterion for programming
[1]. In programming courses there are various issues to be
considered, to encourage students. Learning programming
2011 International Conference on Technology for Education
978-0-7695-4534-9/11 $26.00 © 2011 IEEE
DOI 10.1109/T4E.2011.55
270
2011 IEEE International Conference on Technology for Education
978-0-7695-4534-9/11 $26.00 © 2011 IEEE
DOI 10.1109/T4E.2011.55
270