How carolinehuang033/coursearrangement works
Course Arrangement is a Gradio application that turns student selections, section counts, and conversational constraints into evaluated timetable candidates and a downloadable Excel workbook. The documented workflow hands off from Conversation to Orchestrator to Scheduler; spreadsheet parsing and local optimization produce schedules and metrics for inspection. The excerpts show the app’s upload, result, and workbook handling and the scheduler’s optimization behavior, but omit portions of their wiring, so uncertain internal links are not shown. OpenAI is an external agent-model dependency; FastAPI provides an alternate hosting entry point.
Main entry points: course_scheduler_agents.py Scheduler agent · app.py Gradio interface · course_arrange_tool.py Arrange courses tool · server.py FastAPI hosting
Components 16
User interface
- Gradio interface
app.py - Input files
app.py
Agent workflow
- Conversation agent
course_scheduler_agents.py - Intent orchestrator
course_scheduler_agents.py - Spreadsheet parser
course_scheduler_agents.py - Validated request
course_scheduler_agents.py - Scheduler agent
course_scheduler_agents.py
Scheduling engine
- Arrange courses tool
course_arrange_tool.py - Schedule optimizer
course_arrange_tool.py - Candidate schedules
course_scheduler_agents.py - Schedule metrics
course_arrange_tool.py
Results and hosting
- Results inspection
app.py - Excel workbook
app.py - FastAPI hosting
server.py
Other components
- Scheduler user
- OpenAI model
Connections 21
- Scheduler user → Gradio interface: submits inputs
- Gradio interface → Input files: accepts files
- Gradio interface → Conversation agent: sends messages
- Conversation agent → Intent orchestrator: hands off
- Intent orchestrator → Scheduler agent: hands off
- Conversation agent → OpenAI model: requests responses
- Intent orchestrator → OpenAI model: requests intent
- Scheduler agent → OpenAI model: requests scheduling
- Scheduler agent → Spreadsheet parser: parses files
- Spreadsheet parser → Input files: reads files
- Spreadsheet parser → Validated request: extracts data
- Intent orchestrator → Validated request: extracts constraints
- Scheduler agent → Arrange courses tool: calls tool
- Arrange courses tool → Schedule optimizer: optimizes schedule
- Scheduler agent → Candidate schedules: generates candidates
- Arrange courses tool → Schedule metrics: computes metrics
- Scheduler agent → Schedule metrics: evaluates candidates
- Gradio interface → Results inspection: presents results
- Gradio interface → Excel workbook: creates download
- Scheduler user → Results inspection: reviews results
- FastAPI hosting → Gradio interface: mounts interface