Abstract

Object-oriented programming skill is important for the software professionals. It has become a mandatory course in information science and computer engineering departments of universities. However, it is hard for novice learners to understand the syntax and semantics of the language while learning object-oriented programming, and that makes them feel frustrated. The purpose of this study is to build an object-oriented programming assistant system that gives syntax error feedback based the variation theory. We established the syntax correction module on the basis of the Virtual Teaching Assistant (VTA). While compiling codes, the system will display syntax errors, if any, with feedbacks that are designed according to the variation theory in different levels (the generation, contrast, separation, and fusion levels) to help them correcting the errors. The experiment design of this study splits the participants, who are university freshmen, into two groups by the S-type method based on the result of a mid-term test. The learning performances and questionnaires were used for surveying, followed by in-depth inter-views, to evaluate the feasibility of the proposed assistant system. The findings indicate that the learners in the experimental group achieved better learning outcomes than their counterparts in the control group. This can also prove that the strategy of using the variation theory in implementing feed-back for object-oriented programming is effective.

Highlights

  • Object-Oriented Programming (OOP) is a programming paradigm

  • The results indicated that the OOP syntax correction system that incorporated variation theory was most useful to the medium achievement group, followed by the low achievement group, and was slightly helpful to the high achievement group

  • This study explored the effectiveness of the proposed variation-theory and OOPsyntax-correction integration system

Read more

Summary

Introduction

Object-Oriented Programming (OOP) is a programming paradigm. An object is a collection of classes. It uses objects as the basic unit of a program and encapsulates programs and data in it to improve software reusability, flexibility, and scalability. Independent and mutually invoking objects in a program. This is the opposite of traditional thinking: traditional programming advocates treating programs as a collection of functions, or a series of instructions given to the computer. Some researchers have indicated that students often do not understand some concepts such as recursive [7], function [8] or other basic OOP conceptions such as class, object, interaction, inheritance, and polymorphism [9,10,11,12,13]

Objectives
Methods
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call