Date of Publication


Document Type

Master's Thesis

Degree Name

Master of Science in Computer Science

Subject Categories

Computer Sciences


College of Computer Studies


Computer Science

Thesis Adviser

Raymund C. Sison

Defense Panel Chair

Kai Shan L. Fernandez

Defense Panel Member

Caslon Chua
Teresita C. Limoanco


Users, specifically, Prolog teachers can use the representation scheme discussed in this study as an aid in explaining the errors of students or novice programmers in class. This representation scheme is a graphical representation of the concepts in Prolog used in novice programming (concept program), the correct program or reference program (predicate/program diagram) and the general classes of errors or knowledge level errors (error diagram). Moreover, for emphasis and remediation, the teacher can focus on a particular knowledge level error using the unified diagram that embeds the knowledge level error outlined in the reference program. This representation scheme is implemented in a prototype that can explain the output of MEDD (Multistrategy Error Detection and Discovery)--an error hierarchy. The error hierarchy is a tree of errors where each subtree contains the knowledge level error of students. Each knowledge level errors correspond to an error pattern discovered in the processed buggy programs by MEDD. Using the reference program that is also produced by MEDD and prior knowledge of the concepts in novice programming in Prolog that forms part of the background knowledge, the prototype has explained at degrees above average the knowledge level errors of students. The explanation produced for each knowledge error serves as an explanation pattern for that knowledge level error. To attest to the ability of the prototype to produce sound explanations, an expert was asked to evaluate the explanations. The expert gave very high ratings. The major reason for such good performance can be traced to the ability of the prototype to model novice programming knowledge in Prolog, specifically, in assigning appropriate data and meanings to clauses and arguments. Given a comprehensive background knowledge, a good retrieval system in accessing the appropriate memory structure, and a good mechanism in discovering relationships among errors or error patterns, the output of the prototype has received a favorable evaluation from the expert.

Abstract Format






Accession Number


Shelf Location

Archives, The Learning Commons, 12F Henry Sy Sr. Hall


Prolog (Computer program language); Programming languages (Electronic computers); Error-correcting codes (Information theory)

Upload Full Text