File size: 2,690 Bytes
1a5edf3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
PROJECT SUMMARY

Scrapes course data, builds a prerequisite graph, analyzes issues, optimizes a term by term plan, and exports .pkl artifacts for the UI to load.
Inputs raw course pages. Outputs files like neu_graph_fixed_prereqs.pkl.

HIGHLIGHTS
* purpose make course planning fast and correct
* artifacts .pkl, _fixed.pkl, graph.pkl, neu_graph_clean.pkl, neu_graph_clean3.pkl, neu_graph_clean6.pkl, neu_graph_fixed.pkl, neu_graph_ultra_clean.pkl, neu_merged_courses_...pkl, neu_merged_graph_...pkl
* stack python, ast, simple web io

DATA FLOW
```mermaid
flowchart LR
  ui --> curriculum_optimizer
  ui --> interactive_visualizer
```

KEY MODULES
| module | role | top functions |
|---|---|---|
| agentic_optimizer | Optimizes course plan | main |
| curriculum_analyzer | Analyzes graph and flags issues | get_course_level main |
| curriculum_optimizer | Optimizes course plan |  |
| inspect_graph | Deep inspection and fixes | inspect_graph_thoroughly suggest_fix_commands |
| interactive_visualizer | Interactive graph viewer |  |
| neu_scraper | Scrapes course pages | main |
| ui | Simple UI to load artifacts | get_optimizer export_plan_yaml check_requirements_satisfaction |

AGENTIC_OPTIMIZER
| function | signature | brief |
|---|---|---|
| main | `main()` | Main entry |

CURRICULUM_ANALYZER
| function | signature | brief |
|---|---|---|
| get_course_level | `get_course_level(cid)` | Extracts the numerical part of a course ID for level checking. |
| main | `main(args)` | Main execution flow. |

INSPECT_GRAPH
| function | signature | brief |
|---|---|---|
| inspect_graph_thoroughly | `inspect_graph_thoroughly(graph_file)` | Complete inspection of curriculum graph data |
| suggest_fix_commands | `suggest_fix_commands(graph_file)` | Suggest specific commands to fix issues |

NEU_SCRAPER
| function | signature | brief |
|---|---|---|
| main | `main()` | Main entry |

UI
| function | signature | brief |
|---|---|---|
| get_optimizer | `get_optimizer()` | Loads and caches the main optimizer class and its models. |
| export_plan_yaml | `export_plan_yaml(plan, profile, validation)` | Export plan in structured YAML format for verification |
| check_requirements_satisfaction | `check_requirements_satisfaction(plan, track)` | Check which requirements are satisfied by the plan |

IO ARTIFACTS
* .pkl
* _fixed.pkl
* graph.pkl
* neu_graph_clean.pkl
* neu_graph_clean3.pkl
* neu_graph_clean6.pkl
* neu_graph_fixed.pkl
* neu_graph_ultra_clean.pkl
* neu_merged_courses_...pkl
* neu_merged_graph_...pkl

QUICK START
1. create env and install deps
2. run one of:
   python agentic_optimizer.py
   python curriculum_analyzer.py
   python inspect_graph.py
   python neu_scraper.py