DIGITAL LIBRARY
UNCODE: INTERACTIVE SYSTEM FOR LEARNING AND AUTOMATIC EVALUATION OF COMPUTER PROGRAMMING SKILLS
Universidad Nacional de Colombia (COLOMBIA)
About this paper:
Appears in: EDULEARN18 Proceedings
Publication year: 2018
Pages: 6888-6898
ISBN: 978-84-09-02709-5
ISSN: 2340-1117
doi: 10.21125/edulearn.2018.1632
Conference name: 10th International Conference on Education and New Learning Technologies
Dates: 2-4 July, 2018
Location: Palma, Spain
Abstract:
This paper presents an educational environment to learn how to program computers which integrates an automatic grading tool. The educational environment offers summative and formative feedback, by evaluating the functionality of computer programs. Given a programming problem, students must write a solution and validate it through the automatic grading tool of the educational environment. Summative feedback is offered through verdicts of the programs, indicating whether the syntax, semantics and efficiency of the program are correct or present some type of error. Based on these verdicts, a grade is assigned to the solutions proposed by the students. Moreover, the environment also offers formative feedback through different mechanisms that support the student in the improvement of the proposed programming solutions, before these solutions are submitted for assessment. These mechanisms include: a code editor with syntax highlighting and automatic autocompletion; automatic verification of good programming practices; interactive visualization of the program execution from its source code; a partial scoring system, which assigns partial credit to incomplete or not entirely correct solutions; a test module with personalized inputs; support for submitting programs with multiple source code files and projects; compatibility for several programming languages ​​including Java, Python, JavaScript and C/C++; a manual assessment module; and interactive statistical reports for students and teachers.

The state of the art of tools to support the learning of computer programming is comprised of learning environments and automatic grading systems. The first group includes: basic programming environments, interactive environments based on examples, visualizations/animations, and intelligent tutoring systems. However, generally these systems lack of grading tools, which could be useful to carry out formative evaluation processes while the students practice. On the other hand, in most cases the automatic grading systems focus only on the assessment of the programs (online judges), which are generally adaptations of the evaluation systems used in programming competitions. Although these systems have been shown to be effective in improving the practical skills of students and the competitive aspect has proven to be an excellent motivation for students, these systems fall short as formative assessment tools. This is due to the limited feedback given to the student and their lack of integration with content and tools typical from learning environments.

In this context, the educational environment presented in this paper extends an automatic grading tool for computer programs with new functionalities that make it a truly support system for learning computer programming.
Keywords:
Computer programming, educational environment, automatic grading tool.