Developing intelligent programming tutors for novice programmers

  • Authors:
  • Nelishia Pillay

  • Affiliations:
  • University of Natal, Durban, Kwazulu Natal, South Africa

  • Venue:
  • ACM SIGCSE Bulletin
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

First year Computer Science students often encounter difficulties when learning to write procedural and object-oriented programs for the first time. This is also true of students being exposed to a new programming paradigm. One-on-one tutoring has proven to be the most effective means of assisting first time programmers overcome learning difficulties. However, due to large class numbers and funding constraints the provision of one-on-one tutoring is not usually possible. Intelligent tutoring systems (ITSs) have successfully been used to tutor novice programmers on a one-on-one basis. Despite this, intelligent programming tutors (IPTs) are not widely used and few such systems have made their way into the classroom. This can be attributed to the high developmental costs associated with building IPTs. The paper firstly identifies the facilities that must be provided by intelligent programming tutors. In an attempt to reduce the costs of developing IPTs, the paper proposes a generic architecture for the development of intelligent programming tutors. The paper specifies the components that should comprise such an architecture and describes the functions that must be performed by each component.