This repository provides a solution for teachers to efficiently allocate subjects to a cohort of approximately 200 students based on predefined criteria. It simplifies and optimizes the allocation process, saving significant time and effort.
Before using this script, ensure that you have:
- Basic knowledge of Python (for using the script) OR
- Use .exe for those without familiarity with Python
- Access to the required external resources:
- Clone the repository:
git clone https://github.com/String-sg/Sec-2-Subject-Allocation-Exercise-GitHub.git cd Sec-2-Subject-Allocation-Exercise-GitHub - Ensure you have Python installed (>= 3.x).
- Edit the appended excel templates as needed with your data
- Run the following command to allocate subjects automatically:
python "Python Script_deferred_acceptance_with_displacement_final4.py"
Open an Github issue or reach out via Discord/ WhatsApp if you encounter any problems!
- Automated Allocation: Quickly assigns subjects to students based on the defined priorities.
- Scalable: Handles large cohorts of around 200 students.
- [Coming soon] Customizable via python script: these are mostly hard coded at the moment into
read_student_data,read_course_data, and try_place_student_in_course /deferred_acceptance_with_displacement. Eventual customizations could include: - RankMethod = TotalScore|Weighted|Custom
- TieBreakOrder = Math,English,Science
- Displacement = GroupWide|CourseOnly|None
- GroupCapMode = GroupOnly|GroupAndCourse
We welcome contributions from the community. To contribute:
- Fork the repository.
- Create new features or bug fixes in a dedicated branch.
- Submit a pull request for review.