Automating Course Scheduling with Linear Programming and the Python PuLP Framework: First Steps

Research output: Other contribution

Abstract

This article presents a pragmatic approach to automating course scheduling in an academic setting using linear programming.

We explore how linear optimization via current open-source tools can efficiently handle scheduling constraints such as instructor preferences, teaching loads, course section requirements, and specific time slots. Using Python’s PuLP library and matplotlib for visualization, we built a flexible and accessible scheduling system.

Our research prototype balances course assignments while addressing department-specific needs, demonstrating how linear programming can simplify academic scheduling and improve efficiency.

Although this is a research prototype, our results already demonstrate the ability to generate a correct course schedule that ensures all constraints are met and can easily be adapted to support on-the-ground course scheduling changes.

Original languageAmerican English
DOIs
StatePublished - Apr 22 2025

Publication series

NameComputer Science: Faculty Publications and Other Works

Cite this