YACS Spring 2019 — The Bester Semester Ever

The Team

Ada
Max
Victoria
Antonia
Bryan
Cole
Caspar
Kate
Sarah
Janine
Sydney

The Plan

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

Scheduler