This project provides an interactive Course Scheduling and Schedule Checker tool built with Pyomo and Voila.
It allows you to generate feasible schedules based on course, professor, and their preferences — and later validate or adjust them.
Click the badges below to launch the apps directly in your browser. No installation required (powered by Binder):
- Course Scheduler → Upload course info and generate a schedule.
- Schedule Checker → Upload a modified schedule to check for conflicts.
Course_Scheduling.ipynb→ Main scheduling appUtils.py→ Helper functions (data reading, solving, plotting, etc.)requirements.txt→ Dependencies for Binderapt.txt→ to install solverCourses.info.xlsx→ Input data
- Click the Course Scheduler badge above.
- Upload your
Courses_info.xlsxfile (with course, professor, and other data). - Click Run Scheduler.
- The system will:
- Generate a feasible schedule.
- Save results to
Schedule_results.xlsx. - Show plots for course allocations, conflicts, and meeting times.
- If you want to make manual changes:
- Download
Schedule_results.xlsx. - Edit it locally (e.g., swap times).
- Download
- Upload your modified
Schedule_results.xlsx. - Click the Check Schedule.
- The system will:
- Validate the new schedule.
- Highlight any conflicts (e.g., overlapping courses).
- Re-plot the updated schedule and conflicts.