The study of problem characteristics in programming tutors

The study of instructional design rules for problems in programming courses may be supported by the application of intelligent tutoring shells. Problems in a programming course appear at three levels, namely as personal problems or quandaries, as instructional problems or assignments, and as underlying problems or questions. This is illustrated for four problem characteristics, namely the programming concepts, the context, the structure and the difficulty. Requirements for an intelligent tutoring shell enabling the study of these characteristics are discussed.