Skip to main content

What is CodeSpell?

CodeSpell is a learning platform that helps programming teachers evaluate student code automatically while giving students meaningful feedback that helps them learn faster.

Instead of manually reviewing dozens of submissions, CodeSpell executes, analyzes, evaluates, and explains student code — all in one place.

The Problem CodeSpell Solves

Teaching programming is hard to scale.

Professors often struggle with:

  • Reviewing large numbers of code submissions
  • Giving consistent and fair feedback
  • Tracking how students learn and improve over time
  • Understanding how students approach solving problems, not just the final answer
  • Keeping students engaged and motivated

Students, on the other hand, often struggle with:

  • Understanding compiler/runtime errors
  • Knowing why their solution is wrong
  • Getting feedback quickly enough to improve

CodeSpell bridges this gap.

What CodeSpell Provides

CodeSpell combines a coding environment, automatic execution, static analysis, learning analytics, and AI feedback into a single platform. With CodeSpell, students can practice coding while professors gain powerful tools to evaluate progress at scale.

Key capabilities include:

  • Built-in coding environment for students
  • Automatic code execution in isolated environments
  • Static analysis for quality, complexity, and security
  • Automated evaluation and grading
  • Learning analytics dashboards
  • AI-powered feedback and error explanations
  • Interactive coding challenges with a 3D game (Optional)

How CodeSpell Works

The platform follows a simple but powerful workflow.

Student writes code → Submission created → Code executed → Code analyzed
→ Evaluation & grading → Analytics generated → AI feedback provided

1. Students write and submit code

Students can choose to code inside our integrated simple coding environment that provides:

  • Assignment documentation
  • Goals to achieve
  • Ability to run and submit code quickly
  • Instant feedback on syntax errors and test results

Or, they can choose to code in their favourite IDE and upload their code to CodeSpell for evaluation. This allows them to get feedback while using the tools they are comfortable with.

Students can submit multiple times, allowing them to learn from feedback and improve their solutions iteratively.


2. Code is executed securely

Every submission runs inside isolated environments managed by CodeSpell.

During execution we collect:

  • Output and errors
  • Execution time
  • CPU usage
  • Memory usage
  • I/O reads and writes

For interactive challenges, the student’s code can even control a 3D game in real time.


3. Code is analyzed automatically

Every submission is analyzed using static analysis tools and unit tests.

We measure:

Complexity

  • Lines of code
  • Cyclomatic complexity
  • Function size and structure

Code Quality

  • Code smells and bad practices
  • Typos and maintainability issues

Security

  • Potential vulnerabilities
  • Risky patterns and unsafe code

Each category receives a score between 0 and 100 that reflects how well the code performs in that area. This allows professors to evaluate not just what students submit — but how they write code.


4. Solutions are evaluated

Professors can define evaluation rules such as:

  • Expected program output
  • Unit tests
  • Game objectives (for challenges)
  • Performance thresholds (e.g. execution time, memory usage)
  • Code quality standards (e.g. complexity limits, no code smells)
  • Security requirements (e.g. no vulnerabilities)

This allows CodeSpell to automatically grade submissions based on the criteria defined by the professor. Students receive a grade that reflects not just whether their code works — but how well it meets the learning objectives.


5. Learning analytics are generated

CodeSpell doesn’t just grade — it provides insights.

Dashboards help both professors and students understand:

  • Attempts and progress over time
  • Performance comparisons
  • Completion rates and grades
  • Student behavior during coding sessions

6. AI helps students learn

CodeSpell uses AI to turn technical results into clear explanations.

Students receive:

  • AI code reviews based on metrics and tests
  • Natural-language explanations of runtime errors
  • Suggestions for improving their code

The goal is not just to grade students — but to teach them using the evaluation results.


Who CodeSpell Is For

Professors

  • Save time reviewing code
  • Evaluate students consistently
  • Track learning progress across courses
  • Gain insights through analytics

Students

  • Practice coding safely
  • Get instant feedback
  • Understand errors faster
  • Improve continuously through guided learning