BACS

Activities ::: mod_bacs
Maintained by Artem Iuminov
BACS is an activity module for automatic code grading in programming courses and contests. Requires the Sybon service. A free public key is available in the description.
Latest release:
6 sites
27 downloads
1 fans
Current versions available: 1

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.

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

  • Multilingual problem 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