Intelligent Tutoring System for Learning Programming

Intelligent Tutoring System for Learning Programming

Tonci Dadic (University of Split, Croatia)
DOI: 10.4018/978-1-61692-008-1.ch009
OnDemand PDF Download:
No Current Special Offers


Tutoring systems for programming help students understand features of target programming languages, and develop their general problem solving skills. Our system guides novices in learning syntax and semantics of programming language, problem decomposition, program design and testing. It is language independent, automatically adjusting course material to the language - subject of learning. Semantic analysis of student’s programs is based on comparison of abstract semantics trees of student’s and model-program. Model-program is coded by innovative programming language describing goals and variants of possible solutions. The notional machine defined by programming language, its verbal description of instruction actions and visualization of program execution, helps students to understand semantics of teaching language. Advancement through the course material controlled by computer teacher supports connection of new concepts to the present student’s knowledge. The system applies distinct teaching strategies to stoppers and movers.
Chapter Preview


We believe that students have to acquire computer programming knowledge, skills and capabilities already in primary education. Educational contents that would enable this process, starts with problem solving formalism (in individual and group work), and proceed with programming paradigm using some appropriate programming languages as LOGO, Basic or Pascal. Our consideration is directed toward goals presented in Croatian Educational National Standard (CENS) for elementary school computer science. This standard was carried out in Republic of Croatia during 2004-2005. (Budin et al. 2006). Our long experience of working with students enrolled in basic computer programming courses (Introduction to computing and Programming 1), undoubtedly imply many difficulties that have occurred due to late beginning of learning computer programming. Sometimes teachers wonder about programming language to use as a starting point. Our opinion is that choice of programming language is not the most important point, but more relevant is an early start of computer programming during elementary education.

Complete Chapter List

Search this Book: