Automated Code Correction via Keyword Structure Traversal

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvefeedback qualityVSAvoidcorrection time
Core Design Contradiction:
Ease of operationVSLoss of time

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.

Inventive Principle:
Principle #25Self-service

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If automated correction systems are implemented, then processing speed and scalability improve, but system complexity increases

Engineering Contradiction:
Improvevalidation speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If comprehensive validation checks are performed on all assignments, then correction accuracy improves, but the time required for each check increases significantly

Engineering Contradiction:
Improvecorrection accuracyVSAvoidchecking time
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #20Continuity of useful action

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11636778B2Correction of software coding projects
Publication Date: 2023.04.25 HOLBERTON SCHOOL
  • US11636778B2 patent drawing
  • US11636778B2 patent drawing
  • US11636778B2 patent drawing

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.