Yacs is the course browser and scheduler used at RPI. This semester we hope to finally give faculty the ability to edit and publish content on YACS via the Admin panel. We’ve also finished our new UI and API and are ready to deploy those to the student body.
Currently, Yacs is only intended to be used by students to learn about courses. This semester, our goal is to expand the role of Yacs by giving faculty and student leaders the ability to edit and publish content on Yacs. A large portion of the work that needs to be done to make this possible involves the admin panel. In addition to adding a few vital UI features, we will also be further integrating our new users system to allow for various levels of permissions, with the ultimate goal of allowing department administrators and club captains to have control of their respective content.
We are also working on several other initiatives, including launching Yacs at NYU. We’ve made a lot of progress towards this and have the verbal support of the relevant folks at NYU. We’ve written most of the code needed to make this happen and will be doing a test launch soon.
The work we plan to accomplish is listed below in more detail. We’ve divided the work into epics, each epic containing several issues around a theme. These issues will be converted into GitHub issues and be given clear acceptance criteria as they are reviewed and planned by the team.
The Epics
Admin
Assess state of Admin Panel. What needs to get done?
Actually integrate with login system
Use new API client library to edit real data yay
Work directly with faculty to roll out and test this new system
User Profiles
Build out user storage API
Saved schedules(per semester)
Interested courses / sidebar stuff
Design and build UI for saving and choosing many schedules
Prerequisites
User-facing interface for writing prerequisites
Ensure good design
Easy to use
Compatible with existing systems, i.e. easy to install
Culturally compatible → end-user is professor and registrars
DB representation of prerequisite graph
AgensGraph?
Ensure Flexibility of System, i.e. can it cover…
Boolean Logic(AND, NOT, OR)
Categories(e.g.“math courses”)
Quantifiers(e.g.“4 math courses”)
Co-requisites(e.g.“MATH 120 must be taken with MATH 140”)
User-facing Graphical Interface for representing prerequisites
The Team
The Plan
The Epics