ABSTRACT
In the last two decades, a large amount of research has been conducted in an effort to form a model of student behavior when they try to solve algorithmic or programming problems. The construction of the model is based on the analysis of many types of data, such as for example: (a) the characteristics of the programming languages the students work with, (b) the strategies of the solution that the students follow, and (c) the characteristics of the proposed problem. However, we must observe that modeling is often not based on long-term observations of actual teaching and the proposed problems are usually quite simple.In this paper we attempt to examine a variety of aspects of students' behavior when they learn to program. More specifically, we study: the strategies students use in order to develop and validate a program; the possible role of students' errors in the development of their programs; and the methods students use to deal with these errors. The study was carried out on 90 second-semester CS students who worked in pairs during the 2-hour lab session. They were given a brief description of the Binary Search algorithm and were asked to implement it using AnimPascal. In this study we present the results we obtained from the analysis of the successive versions of students' programs. Based on these results we propose teaching methods to help students overcome the difficulties they face when they learn programming.
Index Terms
- What they really do?: attempting (once again) to model novice programmers' behavior
Recommendations
What they really do?: attempting (once again) to model novice programmers' behavior
In the last two decades, a large amount of research has been conducted in an effort to form a model of student behavior when they try to solve algorithmic or programming problems. The construction of the model is based on the analysis of many types of ...
Sometimes style really does matter
Programming, like any creative endeavor, involves some personal style choices on the part of the programmer. Within the computer science education community, there are some programming style conventions that have been widely agreed upon, because ...
A Really Good Idea
Reflects on the contributions made by object-oriented (OO) development and its future. Don't blame OO programming in general for the limitations of those who don't know how to apply the principles! Only a minority of the industry has tried seriously and ...
Comments