Credit: Sergey Nivens
Human learning and communication is often structured around examples, possibly a student trying to understand or master a certain concept through examples or a teacher trying to understand a student's misconceptions or provide feedback through example behaviors. Example-based reasoning is also used in computer-aided programming to analyze programs, including to find bugs through test-input-generation techniques4,34 and prove correctness through inductive reasoning or random examples15 and synthesize programs through input/output examples or demonstrations.10,16,18,22 This article explores how such example-based reasoning techniques developed in the programming-languages community can also help automate certain repetitive and structured tasks in education, including problem generation, solution generation, and feedback generation.
These connections are illustrated through recent work (in computer science) applied to a variety of STEM subject domains, including logic,1 automata theory,3 programming,27 arithmetic,5,6 algebra,26 and geometry.17 More significant, the article identifies some general principles and methodologies that are applicable across multiple subject domains.
No entries found