BACS

Activities ::: mod_bacs
Maintained by Artem Iuminov
BACS (BACS's Algorithmic Contest System) is a Moodle plugin for automatic checking, code evaluation, and grading of programming task solutions. It is suitable for practice lessons and programming courses, competitions. Access to the Sybon service is required for operation. Free public key is available in the description.
Latest release:
6 sites
30 downloads
1 fans
Current versions available: 1

The plugin provides an opportunity to automatically verify a solution to a problem (program code) on a series of tests. 
If a problem can have multiple correct solutions (for example, in shortest path problems), the system takes this into account and correctly handles all possible outcomes.

Each task can be flexibly configured for assessment: passing only if all tests are successful or awarding points for each successfully passed test.
This makes the learning process more flexible and motivating, allowing students to gradually improve their solutions without being discouraged by difficult problems.

Since BACS interacts with the automated grading system Sybon, Moodle administrators and teachers do not need to worry about installing additional software for compilation or solution verification.
Therefore, if you wanted to try CodeRunner but were deterred by the setup of "Jobe server" or "Jobe sandbox machine," try BACS.

Our plugin also provides ready-made tasks for the convenience of teachers and students, which can be used in courses.
These tasks are organized into collections, such as: arithmetic operations, conditional operators, loops, arrays, strings, a large archive of problems from various ICPC tournaments is available. 

Teachers can create their own courses based on these problems, as well as add their own assignments to make the course more unique and flexible.
We are always open to collaboration and ready to add new problems.

If you have any questions, please contact me at istupo@gmail.com

BACS is a plugin that simplifies the process of checking and evaluating programming tasks, making it convenient and efficient for teachers and students.
Try BACS and see its benefits in programming education!

Video tutorial for installation
vimeo.com/1065646678

Installation:

1. Copy the module code directly to the *moodleroot/mod/bacs* directory.
2. Go to http://your-moodle/admin (Site administration -> Notifications) to trigger the installation process.
3. Replace NoDefaultKey with your Sybon API key to access the tasks collections. If necessary, configure other default settings.
4. Set up the cron to call for getting a list of available languages ​​(compilers), tasks, checking solutions 
5. Use in any course as wished.

You can use public key: YWhwwXtyF0edYR5mWrvQvQ - limit of 20 submits per minute

Creating contest:

1. Open your Moodle course page.
2. Turn on an Edit mode.
3. Click "Add an activity or resource" on your section.
4. Choose BACS contests and click "Add".
5. Enter a name for the new contest.
6. Select tasks for your contest.
7. Click one of the save buttons to complete the creation of the contest.

Check [contest settings](mds/Contest%20Settings.md) file for more information.

Plugin Features:

- Supports programming languages: C11, C++11, C++17, C++20, .NET 8.0, Mono, FreePascal, Python 2, Python 3, Java 11, Java 17, Kotlin, Golang, Ruby, JavaScript, Rust. 
- Sending solutions and viewing their results, including execution time and memory consumption on all tests, as well as input/output data on pretests (open to test participants).
- The contest monitor is a summary table of the results of all participants on all tasks of the contest.
- Time limits for contests, upsolving and presolving settings.
- Several contest evaluation systems: IOI, ICPC, General.
- Score settings for each task in the contest (for scoring systems that work with scores).
- The ability to change the evaluation system of the contest, the set of tasks of the contest, the order of the tasks of the contest, as well as the scores for each of the tasks, even at any time. Even during the contest or after its completion.
- Support for groups of students.
- Virtual contests that allow each student to participate in the contest at an independent time.
- The ability to double-check, recalculate points, reject and change the results of parcels.  

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