BACS: Zero Setup Code Checker

Activities ::: mod_bacs
Maintained by Artem Iuminov
Launch a programming course in minutes with BACS! No server setup needed — everything’s ready to go. Students write code in various programming languages, and BACS automatically grades assignments, freeing you from routine tasks. Over 400 algorithmic problems are available in English, Spanish, and Russian. Requires the Sybon service. A free public key is available in the description.
Latest release:
7 sites
25 downloads
2 fans
Moodle 3.9, 3.10, 3.11, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 5.0

Students submit code and receive instant verdicts. Teachers track attempts and results in a clear dashboard. Problem statements are available in English, Spanish, and Russian. There's no need to configure workers to testing/run participants' solutions, as with the VPL (Virtual Programming Lab) and CodeRunner plugins. 

If you've ever wanted TopCoder, LeetCode, or Codeforces in Moodle, this plugin is for you!

Demo

Key features

  • Instant feedback for students

  • Clear attempts history and grading for teachers

  • Works for practice lessons, labs, and contests

  • Scales to large cohorts and multiple courses

  • External checking via the Sybon service, no extra server setup inside Moodle

  • 400+ problems with multilingual statements: EN, ES, RU

Compatibility

  • Supported Moodle versions: 3.9 to 5.0

  • Latest tested version: 5.0

Starter course archives

Installation

  1. Copy the module code to moodleroot/mod/bacs.

  2. Go to http://your-moodle/admin (Site administration → Notifications) to start installation.

  3. Replace NoDefaultKey with your Sybon API key to access task collections. Configure other defaults if needed.

  4. Configure scheduled tasks at /admin/tool/task/scheduledtasks.php to sync available languages, tasks, and solution checks.
    By default, submissions are sent for judging and results are fetched every minute.

  5. Add the activity to any course and start using it.

Public key

  • You can use a public key with a limit of 20 submissions per minute: YWhwwXtyF0edYR5mWrvQvQ.

Details

  • Supported languages: C (C11), C++11, C++17, C++20, C# (.NET 8.0, Mono), Free Pascal, Python 2, Python 3, Java 11, Java 17, Kotlin, Go, Ruby, JavaScript (Node.js), TypeScript (Bun), Rust

  • Submissions include execution time and memory for all tests, plus input and output for pretests (visible to participants)

  • Contest scoreboard summarizing results across all tasks and participants

  • Time windows for contests, upsolving, and practice

  • Multiple scoring systems: IOI, ICPC, General

  • Per-task scoring and the ability to change the scoring system, task set, task order, and scores at any time, even during or after a contest

  • Group support for student cohorts

  • Virtual contests so each student can participate at an independent time

  • Tools to rejudge, recalculate points, reject, or update submission results

Contact
We are open to collaboration: istupo@gmail.com

Video tutorial

Screenshots

Screenshot #0
Screenshot #1
Screenshot #2

Contributors

Artem Iuminov (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
Please login to post comments