This tool creates a schedule for events where students meet companies. The event consists of multiple rounds, during which students can visit several companies. The schedule is generated based on each student’s stated preferences. The input includes the number of rounds, a list of participating companies, a list of students, and the preferences provided by each student.
- macOS or Linux
- Pyhon 3.10 or higher
- Check pyhton version:
python3 --version- Clone the repository
git clone git@github.com:MerelVanEssen/student_divider.git student_dividercd student_divider- Start virtual env and create workfolder
make- Create a virtual environment
python3 -m venv venv- Activate the virtual environment
source venv/bin/activate- Install dependencies
pip install -r requirements.txtPlace your files in the workfolder/ folder:
- Excel: workfolder/input.xlsx
- If no Excel is available: workfolder/input.txt The program will first check if input.xlsx exists. If it does not, it will use input.txt.
- Use input_example.xlsx as a layout reference
- first rounds
- List all companies in a column
- Students + prefs
- Keep comment lines starting with #.
- Add the following in order:
- Number of rounds
- Max students per company per round
- Company names
- Student names with their preferences (most preferred first)
Open the correct work folder: workfolder Execute the program in terminal or in the folder:
./index- Make sure your virtual environment is activated.
- Run the program directly:
python3 src/index.pyAll results are saved in the workfolder/ folder:
-
results.txt
- Contains all rounds, companies, and students.
- Includes the number of rounds per student and their preference ranking.
- Includes companies and the students per round
-
schedule.xlsx
- Schedule with companies, students and rounds for a good overview