Smart Assessment of and Tutoring for Computational Thinking MOOC Assignments using MindReader
Hasan M. Jamil

TL;DR
This paper presents MindReader, an online assessment system that understands, evaluates, and guides students' code in real time across multiple programming languages by leveraging a hierarchical, knowledge-based approach to semantic code understanding.
Contribution
The paper introduces a novel hierarchical, knowledge-based method for automatic semantic understanding and assessment of student code in multiple programming languages.
Findings
MindReader accurately assesses student code in real time.
It guides students to improve their programming assignments.
The system supports Java, C++, and Python.
Abstract
One of the major hurdles toward automatic semantic understanding of computer programs is the lack of knowledge about what constitutes functional equivalence of code segments. We postulate that a sound knowledgebase can be used to deductively understand code segments in a hierarchical fashion by first de-constructing a code and then reconstructing it from elementary knowledge and equivalence rules of elementary code segments. The approach can also be engineered to produce computable programs from conceptual and abstract algorithms as an inverse function. In this paper, we introduce the core idea behind the MindReader online assessment system that is able to understand a wide variety of elementary algorithms students learn in their entry level programming classes such as Java, C++ and Python. The MindReader system is able to assess student assignments and guide them how to develop correct…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsOnline Learning and Analytics · Intelligent Tutoring Systems and Adaptive Learning · Teaching and Learning Programming
