Khanh Nguyen

Schedge: A History

Schedge is a project that I contributed regularly to in 2019 and sparsely throughout the rest of my time at NYU. Recently, Albert, the owner, decided to deprecate the project due to a lack of contributions and collaborations from NYU.

At the 2019 PennApps, a passion project was born. Albert Liu and Nicholas Yang were fed up with Albert, NYU course management system. Albert is slow. The back button returns to the home page instead of the previous page. There is 5 seconds delay between a selection and a response. The page is not responsive between clicks. At its core, Albert, unfortunately, is an example of an out-of-date course management tool at the university. To fix this, the two students came up with Schedge, an automatic schedule generator. It was written in Rust and TypeScript, ambitious languages for two young developers.

Though Schedge was sufficient at what it did, Albert, the developer, wasn’t happy with the project. He wanted to change the way NYU students browsed courses. Schedge was now set to be transformed into an API for NYU’s course catalog. Although the project was rewritten five times, Albert settled with Java eventually. He wanted people to contribute; therefore, Java, a language everyone learns freshman year, was a natural choice. In addition, to be a friendly language, Java has lots of good tools and open source libraries.

I met Albert at BUGS, NYU’s open-source club. He has so much enthusiasm and energy for the project that it ropes me in. I was a total newbie to coding and open-source projects, but Albert was patient enough to onboard me. Schedge was built entirely around an open-source community. In fact, we chose Java in order to be open source friendly. We made sure to document everything from the setup to running the code. We also hosted weekly events to promote the project.

I learned a lot from a small open source project like Schedge. We didn’t have 50 contributors, 1000 issues, or 100 open pull requests. We had under 10 developers. All were students. Building an open-source course management system is difficult. It takes time and effort because these contributions are free. In exchange for the experience of working on a project, we asked for the student’s time. Additonally, we didn’t have support from the institution. However, we still learned a lot along the way.

We have a good number of front-ends that utilize Schedge. Schedge was a great attempt at bettering the community using technology. Some of the beautiful front-end work can be found on README.md.

Due to NYU’s changes in Albert, Schedge is now deprecated. Nevertheless, I’m proud of Schedge’s contributors and of the many that took aninterest in the project.

These are projects from other schools that are similar to Schedge and that we think are worth looking into:

  1. Penn Courses
  2. Cornell Course Plan