Published in

Proceedings of the 7th annual conference on Innovation and technology in computer science education - ITiCSE'02

DOI: 10.1145/544414.544513

Association for Computing Machinery (ACM), Sigcse Bulletin, 3(34), p. 244-244, 2002

DOI: 10.1145/637610.544513

Proceedings of the 7th annual conference on Innovation and technology in computer science education - ITiCSE'02

DOI: 10.1145/544503.544513

Links

Tools

Export citation

Search in Google Scholar

What they really do?: attempting (once again) to model novice programmers' behavior

This paper is available in a repository.
This paper is available in a repository.

Full text: Download

Green circle
Preprint: archiving allowed
Green circle
Postprint: archiving allowed
Red circle
Published version: archiving forbidden
Data provided by SHERPA/RoMEO

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.