AN INTELLIGENT TUTORING SYSTEM FOR INTRODUCTORY C-LANGUAGE COURSE

Citation
Js. Song et al., AN INTELLIGENT TUTORING SYSTEM FOR INTRODUCTORY C-LANGUAGE COURSE, Computers and education, 28(2), 1997, pp. 93-102
Citations number
19
Categorie Soggetti
Education & Educational Research","Computer Sciences, Special Topics","Computer Science Interdisciplinary Applications
Journal title
ISSN journal
03601315
Volume
28
Issue
2
Year of publication
1997
Pages
93 - 102
Database
ISI
SICI code
0360-1315(1997)28:2<93:AITSFI>2.0.ZU;2-W
Abstract
In this paper, we describe a system called C-Tutor, an intelligent tut oring system (ITS) for novice C programmers. A program analyzer is the most important part of the ITS for programming. Our program analyzer is a compound of a reverse engineering system and a didactic system. S ince a novice program usually contains many bugs, information about th e intentions of the programmer is inevitable to recognize a buggy prog ram. In our approach, the intentions of a programmer are automatically extracted as a problem description from a sample program by a reverse engineering system called GOES (GOal Extraction System). Based on the problem description, students' programs are recognized by a didactic system called ExBug (Execution-guided deBugger). As a learning environ ment, Curriculum Network constructs the knowledge base as genetic grap hs to teach programming. C-Tutor is a complete ITS which provides both a program analyzer and a learning environment. Tested with real stude nts' programs, program analyzer gives acceptable recognition results. Program analyzer and learning environment are closely related so that students can learn C language during programming. New problems can be easily set because GOES automatically generates problem descriptions f or program analyzers. This makes C-Tutor a more practical tutoring sys tem for a real C language course. (C) 1997 Elsevier Science Ltd.