Automatic algorithm recognition based on programming schemas

Ahmad Taherkhani

A method for recognizing algorithms by detecting algorithmic schemas is presented. The method uses the findings of the studies on programming schemas, according to which experts develop schemas, high-level cognitive constructs that abstract knowledge of programming struc- tures, and use them in comprehending and solving similar problems that differ in lower level details. We introduce a set of schemas for sorting algorithms that consists of loops, their nesting relation- ship, beacon-like algorithm-specific features and operations, etc., and use these abstract concepts to recognize implementations of sorting algorithms.

We have developed a prototype for detecting schemas and conducted an experiment to evaluate the performance of the presented method on sorting algorithms and their variations implemented in Java. The tested implementations are recognized with the average accuracy of 88,3%. This is a promising result that shows the applicability of the method in context and level of students’ implementations. By identifying the algorithm-specific code from the given program, the schema detection method improves our previous method for automatic algorithm recognition. 

Type of Publication: Paper
Conference: PPIG 2011 - 23rd Annual Workshop
Publication Year: 2011
Paper #: 11
TitleAutomatic algorithm recognition based on programming schemas
Publication TypePaper
AuthorsTaherkhani, A
PPIG Workshop: 
2011-09-23rd