LearnIQ: An Integrated Learning Management System with a Real-Time Online Judge for Scalable Coding Education
Abstract
Teaching programming at scale is hard when the tools for managing a classroom and the tools for grading code live on separate platforms. Most educators end up stitching together a general-purpose Learning Management System (LMS) like Moodle or Google Classroom with a standalone coding judge like HackerRank or LeetCode — two systems that were never built to talk to each other. This paper presents LearnIQ, an open-source, containerized full-stack LMS with a built-in Online Judge (OJ). It makes three technical contributions. First, a batch-based visibility model lets teachers assign different problem sets to different student groups inside the same classroom, tackling the commonly ignored problem of mixed ability levels. Second, a work-stealing container scheduler keeps a pre-warmed pool of sandboxed Docker containers busy, delivering high throughput and low latency even when many students submit code at once. Third, a real-time submission pipeline built on WebSocket and Redis Pub/Sub pushes verdicts to every connected client across horizontally scaled backend replicas, with a median broadcast latency under 50 ms. The system is designed to handle at least 1000 concurrent users and scales out through Docker Compose with no downtime. A side-by-side comparison with existing platforms, the evaluation strategy, and a roadmap for future hands-on validation are discussed.