Inspiration

Not satisfied with Vanderbilt's current course selection website (YES), we strived to build our own web based course scheduler that could take our preferred courses and generate all viable schedules automatically.

What it does

Hosted on GitHub Pages, our program parses Vanderbilt's course selection pages to acquire all the relevant information to construct class schedules, such as session/term (i.e. Spring 2019), course subjects (i.e. MATH), course level (i.e. 2201), and so on.

How we built it

Our team used Javascript/HTML/CSS to program a web based application that extracted information by parsing raw HTML from Vanderbilt's existing signup infrastructure, YES.

Challenges we ran into

Two big issues gave us a significant challenge. The first was that Vanderbilt did not offer any tools/API for their course signup website, which meant intercepting URLs and parsing HTML straight off the pages of YES. The second difficulty was more of a fundamental issue; Vanderbilt's classes began on peculiar times (not on the hour), so our timetable increments had to be subdivided to 5 minutes per cell and adjusted accordingly.

Accomplishments that we're proud of

We are incredibly proud to create a software that properly interfaces with Vanderbilt's official site, introducing features and functionalities that were not previously accessible, and would genuinely streamline the course signup process for Vanderbilt students.

What we learned

Our entire team is new to this style of competition; VandyHacks V is the first hackathon for all of us. To start off, we all learned how to utilize version control software (Git); in addition, everybody also got to learn the basics of Javascript. Some of us delved into the front end, researching on styling commands with CSS, while others focused on the parsing operations required to gather information in HTML format from YES.

What's next for AYARAScheduler

We had a lot more planned for this project, especially regarding some of the course detail interactive displays (mouseovers and on-clicks) with Javascript, as well as improved error and feedback handling regarding possible schedule conflicts. We truly believe this program has potential to be utilized by all Vanderbilt students during future course signup seasons.

Built With

Share this project:

Updates