Automated Code Correction via Keyword Structure Traversal
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Manual correction of computer programming assignments is time-consuming and unsustainable for large-scale education, requiring an automated system to validate checks and provide rapid feedback.
Innovation Solution
A computer-implemented method using a distributed system that transforms commands into keyword structures, traverses them according to execution flow, and generates displays based on priority queues to automatically correct and validate student code across multiple assignments.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If manual correction of programming assignments is performed, then feedback quality can be personalized and nuanced, but the process becomes time-consuming and unsustainable for large-scale education
Solution Approach 1:
The system enables self-service by having students submit their programming assignments to an automated correction system that independently validates code syntax, executes tests, and generates feedback without human intervention. The correction system serves itself by automatically comparing student code against expected outputs and providing detailed error reports.
Solution Approach 2:
The patent replaces the mechanical system of manual human review with an automated computational system. Instead of instructors manually reading and correcting code, the system uses compilers, interpreters, and test execution engines to automatically validate programming assignments and generate corrections.
2Productivity
If automated correction systems are implemented, then processing speed and scalability improve, but system complexity increases
Solution Approach 1:
The correction system is segmented into distinct modular components: a code reception module that accepts student submissions, a validation module that checks syntax and compilation, an execution module that runs test cases, and a feedback generation module that produces correction reports. Each module handles a specific aspect of the correction process independently.
Solution Approach 2:
The system achieves universality by designing a multi-functional correction platform that can handle various programming languages, different assignment types, and multiple validation criteria through a single integrated architecture. The same core infrastructure supports diverse educational scenarios.
3Measurement precision
If comprehensive validation checks are performed on all assignments, then correction accuracy improves, but the time required for each check increases significantly
Solution Approach 1:
The system maintains continuity of useful action by performing multiple validation checks in an uninterrupted automated sequence. Instead of sequential manual review where time is lost between checks, the automated system continuously executes syntax validation, compilation checks, test case execution, and output verification without human intervention delays.
Solution Approach 2:
The system performs preliminary actions by pre-compiling test cases, pre-validating expected outputs, and pre-configuring validation rules before student submissions arrive. This preliminary preparation enables rapid comprehensive checking when actual assignments are submitted.
Data Source
AI summary
A computer-implemented method comprising: receiving a job from a plurality of priority queues, the job including a deliverable and a plurality of commands; performing a correction procedure on the deliverable, wherein the correction procedure comprises, for each of the plurality of commands: transforming a respective command into a structure of keywords, the structure associated with a flow of execution, the structure including a plurality of nodes, the plurality of nodes including a root node and plurality of parent nodes, each parent node of the plurality of parent nodes having at least one child node, each parent node of the plurality of parent nodes including a keyword in the respective command; traversing the structure according to the flow of execution, executing one or more keywords at one or more parent nodes of the plurality of parent nodes; determining an output of the respective command based on the execution of the one or more keywords at the one or more parent nodes of the plurality of parent nodes.


