Automated Code Evaluation at Classroom Scale Using GitHub Actions
Engineering

Automated Code Evaluation at Classroom Scale Using GitHub Actions

2024✦︎7 min read

The Challenge

Grading 120+ Java assignments manually every week is unsustainable. Each submission requires compilation, execution against test cases, and feedback generation. This project automates the entire pipeline.

System Architecture

CI/CD Pipeline

name: Java Assignment Evaluation
on:
  push:
    branches: [main]
jobs:
  evaluate:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Set up JDK 17
        uses: actions/setup-java@v3
      - name: Compile
        run: javac *.java
      - name: Run Tests
        run: java -jar junit-platform.jar

Key Components

1. Automated Compilation - Catches syntax errors immediately 2. Test Suite Execution - Runs predefined test cases 3. Result Dashboard - Cloudflare Pages deployment for instant feedback

Impact

  • Zero manual grading for routine assignments
  • Instant feedback for students
  • Scalable to any class size
  • Lessons Learned

    Building for real classroom constraints taught me more about systems design than any theoretical exercise.

    #CI/CD#GitHub Actions#Java#Education