list_courses_by_program
Retrieve every course and section offered by a USC program in a term, with optional filters for days, start times, and open-only sections to narrow your search.
Instructions
List all courses offered by a USC program (department) in a term. Requires the school prefix and program prefix, which can be discovered via list_programs. For example, Computer Science is school 'ENGV' and program 'CSCI'. Returns courses with their sections. Supports optional section filters (days, startAfter, startBefore, openOnly) applied client-side.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"termCode": "<termCode>",
"school": "<school>",
"program": "<program>"
},
"name": "list_courses_by_program"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | Section must meet on all of the given days (e.g. ['Mon', 'Wed']). A section matches if any of its schedule entries covers every listed day. | |
| school | Yes | School prefix the program belongs to (e.g. 'ENGV' for Viterbi). Find via list_programs. | |
| program | Yes | Program/department prefix (e.g. 'CSCI' for Computer Science). | |
| openOnly | No | When true, only include sections that are not cancelled and not full (have seats available). | |
| termCode | Yes | Numeric USC term code, e.g. 20263 (Fall 2026). Use list_terms to discover codes. | |
| startAfter | No | Only sections whose start time is at or after this zero-padded HH:MM time (e.g. '12:00'). | |
| startBefore | No | Only sections whose start time is at or before this zero-padded HH:MM time (e.g. '17:00'). |