cal schedule planner integrating information from ninja courses, oracle, schedule builder, schedule, and berkeley api