PACT is a simple Github based tool designed to help streamline the process of creating, versioning, and distributing programming assignments.
The core functionality of PACT is to provide a way to automatically convert the "solution" form of a programming assignment into a version that is ready to be distributed to students. To do this, PACT relies on a few keyword triggers that are placed in the solution code. These triggers and the resulting behavior they cause are highly customizable.
This PACT repository is designed to be utilized as a starting template for a repository containing the assignments for your course. Since this repository will contain the solution versions of the assignments, it is recommended to keep it private to prevent students from accessing the solution code.
The easiest way to get started with PACT is to use this repository as a template.
- Navigate to github.com/bviggiano/pact
- Click on the "Use this template" button, located above the file list and next to the "Code" button.
- Select "Create a new repository"
- On the repository creation page, choose a repository name (e.g.,
CS101
) and set the visibility toprivate
.
Finally, after you have your private repository set up, set up the PACT conda environment by running the following commands from the root of the repository:
conda env create -f environment.yml
conda activate pact_env
pip install -e .
You can begin developing your assignments in the repository! Check out the ./pact/README.md file for more information on how to use PACT to create assignments.
Contributions to PACT are welcome! Whether it's adding new features, fixing bugs, or improving documentation, all contributions are appreciated. 😁
This project is licensed under the MIT License - see the LICENSE file for details.
Happy Coding! 🚀