Skip to content

codam-coding-college/student-divider

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Requirements

  • macOS or Linux
  • Pyhon 3.10 or higher
  • Check pyhton version:
python3 --version

Installation & Usage

  1. Clone the repository
git clone git@github.com:MerelVanEssen/student_divider.git student_divider
cd student_divider

Option A: Makefile (easy):

  1. Start virtual env and create workfolder
make

Option B: Through terminal:

  1. Create a virtual environment
python3 -m venv venv
  1. Activate the virtual environment
source venv/bin/activate
  1. Install dependencies
pip install -r requirements.txt

Prepare input data

Place 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.

EXCEL: input.xlsx (make sure the file is in the workfolder folder)

  • Use input_example.xlsx as a layout reference
    1. first rounds
    2. List all companies in a column
    3. Students + prefs

TXT: input.txt (make sure the file is in the workfolder folder)

  • Keep comment lines starting with #.
  • Add the following in order:
    1. Number of rounds
    2. Max students per company per round
    3. Company names
    4. Student names with their preferences (most preferred first)

Run

With makefile installation

Open the correct work folder: workfolder Execute the program in terminal or in the folder:

./index

without Makefile installation

  • Make sure your virtual environment is activated.
  • Run the program directly:
python3 src/index.py

Output

All results are saved in the workfolder/ folder:

  1. 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
  2. schedule.xlsx

    • Schedule with companies, students and rounds for a good overview

About

Tool to divide students among companies by preference

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 98.4%
  • Makefile 1.6%