← All projects

Python · Integer Linear Programming · SQLite

UNC COMP Course Scheduler

A scheduling application that uses integer linear programming to assign courses, instructors, meeting times, and rooms.

Year
2024
Stack
Python, Integer Linear Programming, SQLite
Source
GitHub ↗
Demo
Watch ↗

The problem

UNC Computer Science schedules roughly 60 courses across 40 instructors, 20 meeting patterns, and 30 classrooms while accounting for availability, capacity, and conflict constraints.

Approach

Our team represented course offerings, instructor availability, room capacity, meeting patterns, and scheduling preferences as an integer linear programming problem in Python. We used SQLite for application data and built a React interface for entering constraints and reviewing generated schedules.

My work

I contributed to the optimization workflow and the full-stack application, including Python, SQLite, React, HTML, and CSS. The project also used GitHub Actions for automated deployment and a CI/CD development workflow.

Outcome

Developed a web-based scheduling system that models department constraints and generates optimized schedules while allowing administrators to review the results.

PythonInteger Linear ProgrammingSQLiteReactGitHub Actions
Esc
HomeOverviewWorkExperienceProjectsCase studiesAboutBackgroundRésuméPrint viewGitHub ↗CodeLinkedIn ↗Connect