An intelligent tutoring system for introductory C language course

Cited 21 time in webofscience Cited 0 time in scopus
  • Hit : 363
  • Download : 0
In this paper, we describe a system called C-Tutor, an intelligent tutoring 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. Since a novice program usually contains many bugs, information about the intentions of the programmer is inevitable to recognize a buggy program. 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 environment, Curriculum Network constructs the knowledge base as genetic graphs to teach programming. C-Tutor is a complete ITS which provides both a program analyzer and a learning environment. Tested with real students' 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 for program analyzers. This makes C-Tutor a more practical tutoring system for a real C language course. (C) 1997 Elsevier Science Ltd.
Publisher
PERGAMON-ELSEVIER SCIENCE LTD
Issue Date
1997-02
Language
English
Article Type
Article
Citation

COMPUTERS EDUCATION, v.28, no.2, pp.93 - 102

ISSN
0360-1315
URI
http://hdl.handle.net/10203/13979
Appears in Collection
CS-Journal Papers(저널논문)
Files in This Item
This item is cited by other documents in WoS
⊙ Detail Information in WoSⓡ Click to see webofscience_button
⊙ Cited 21 items in WoS Click to see citing articles in records_button

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0