This project implements a scheduling system in Prolog for assigning weekly labs of a course to available Teaching Assistants (TAs). The system ensures that each lab is assigned to exactly one TA, taking into account their teaching load and the maximum number of slots per day.
- Assignment of labs to TAs: The system assigns labs to TAs based on their teaching load and availability.
- Teaching load constraint: Each TA is assigned labs within their teaching load limit. They cannot be assigned more labs than their load, but they can receive fewer labs.
- Maximum slots per day: The system ensures that the number of slots assigned to each TA per day does not exceed a specified maximum.
-
Install Prolog: Make sure you have Prolog installed on your system. (Provide instructions or link to Prolog installation guide if necessary)
-
Clone the repository: Clone this repository to your local machine using the following command:
https://github.com/Malek74/Scheduling-System -
Run the program: Open the Prolog interpreter and load the main file. Execute the main predicate to run the scheduling system.
-
Configure the input: Modify the input parameters in the main file to specify the number of labs, teaching load for each TA, and the maximum slots per day.
-
View the results: After running the program, the system will output the assigned schedule for the weekly labs.
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
-
Fork the repository.
-
Create a new branch for your feature or bug fix.
-
Make your changes and commit them, providing descriptive commit messages.
-
Push your changes to your forked repository.
-
Submit a pull request, explaining the changes you've made.
This project is licensed under the MIT License.
- [List any external resources or libraries used in the project]
For any questions or inquiries, please contact [your-email-address].
Repository Title: scheduling-system