Skip to Main Content
There are lots of archives of problems for programming practice on the Internet. The problems in these archives, however, are not organized effectively for programming tutoring. Teachers may hope that the problems are grouped into a sequence of tutoring units, each of them consisting of several problems as related examples that are focused on the same knowledge concepts. For this purpose, a method based on Formal Concept Analysis (FCA) is proposed here to discover the knowledge behind the source codes of the problem solutions. By constructing formal contexts for programming tutoring, the FCA is applied to building formal concept lattices, from which knowledge units for tutoring can be discovered one after another, forming a sequence of tutoring units. An experiment illustrates 16 knowledge units discovered from 60 problems by the proposed method, which analyzes 2710 source codes submitted by 51 students.