4 research outputs found
C Tutor usage in relation to student achievement and progress: a study of introductory programming courses in Portugal and Serbia
Previous research studies on introductory programming courses in engineering
education in Portugal and Serbia have indicated that although high motivation
and high expectations seem to be reported by students, many students may fail
the course. This prompted a further inquiry into student attitudes, behavior,
and achievement, and it also led to the introduction of C Tutor, a widely
known program visualization tool, into courses in both countries. As a result,
in the present study, selfâreported student achievement (grades), selfâreported
student progress (knowledge improvement and confidence), and selfâreported
usage and helpfulness of C Tutor were investigated. Anonymous data about
students and their experience in the course, which also included the usage of C
Tutor, were collected in a survey in Portugal and Serbia. Quantitative methods,
including descriptive statistics, clustering, statistical testing of independence,
and partial correlation analysis, were applied in analyses of survey data. The
distribution of grades differed between the two countries, but overall attitudes
were similar. Various uncovered patterns involving student attitudes and usage
of C Tutor may serve as a starting point for new research studies.info:eu-repo/semantics/publishedVersio
Semantic Parsing of Java I/O in Novice Programs for an Online Grading System
Beginning programming students have access to sophisticated development tools that enable them to write syntactically correct code in a straightforward manner. However, code that compiles and runs can still execute poorly, or with unintended results. We present a tool, based on an open-source parser-generation product written in Java, that performs semantic analysis of novice Java code. Specifically, the present investigation concerns the semantics of Java output methods, particularly when they are enclosed within iterative structures in the language. The effort will be to guard against threats that such methods pose to system integrity and performance, intercepting them prior to runtime. The approach used here closely models the analysis a human reviewer would perform, given a printed copy of the code. The tool is an open-source product, like the parser generator, and is also written in Java. As such, it is written to be extensible. The tool will be integrated into a larger research project underway at Montclair State University which involves the development of an online grading system for students in beginning computer programming courses
TRACING LEARNING ENVIRONMENT IN JAVA PROGRAMMING LANGUAGE
The visualisation approach is one of the programming learning styles that has been taken into account in programming education. A collection of visualisation tools has emerged with the aim of assisting novice programmers in learning how to program. Each tool has its own set of features that may or may not be helpful in gaining a better understanding. The methods that we used in this study are focused on using memory referencing and visualisation to clarify what happens during individual program statement executions. Understanding the efficacy of current instructional resources is a critical component of gathering students' requirements and needs for future improvement.
The âTracing Learning Environmentâ (TLE) is developed for novice programmers to help them trace the sequence of execution of a software program and the reserved place of data in the memory. The framework relies on using visualisation as the programs are run and to show the effect of each statement in the code. It provides an environment for learners to see what happens to the data while running the program.
The specification of the TLE draws largely on research regarding the role of visualisation in teaching computer programming and associated literature on tools to support learning programming.
The TLE framework has been evaluated by conducting an empirical study using a mixed-method approach with novice and expert participants. The study has included surveys, focus groups, and semi-structured interviews. Student performance was measured before and after using the visualisation tool and compared with a control group who participated in a standard teaching session only.
Early findings highlighted the need to visualise the control of the execution of code, evaluation of expressions, represent the class hierarchy along with the importance of a good interface/usability of the tool and to consider the programming languages supported.
The evaluation findings are in line with the literature surrounding the benefits of using visualisation in learning to program. The findings found visualisation increased the studentsâ performance and confidence. When compared to the regular lab activities, the visualisation contributed to better understanding and support for learning to program.Ministry of Education, Saudi Arabi