Inspiration
With a plethora of high-level CS courses to take at McGill, our peers and us have trouble finding out which courses we need to take now in order to take those high-level courses in the future. We used this inconvenience as inspiration to develop MyMcGill CS Portal.
What it does
MyMcGill CS Portal is a website that outputs the prerequisite course path based on a CS course input. It also additionally provides some insight for their CS university journey ;)
How we built it
This project was built on the fundamental languages of web development: HTML, CSS, and JavaScript. For the core feature that displays the prerequisites, we used JavaScript Maps and an algorithm that finds the key corresponding to the input, then recursively searches its pre-req courses until we reach the base case of a course that has no pre-reqs. We used an external CSS stylesheet to format a simple web layout that is user friendly by manipulating colors, size and fonts.
Challenges we ran into
Everything…LOL! This was our first hackathon and we came into it with very minimal knowledge of CSS and HTML while learning JavaScript throughout. It was also our first time coding synchronously in a team, to ensure an agile work dynamic we utilized VS code live share to code together. We used this primarily as a learning experience and to create something fun but rather useful.
Accomplishments that we're proud of
Looking back we're proud of what we've learned and the good memories we've made together as a team. We worked through a steep learning curve and managed to produce a semi-kind of-functional-ish product with some humor to it.
What we learned
We learned about the basics of HTML and CSS, event-driven JavaScript functions, and data structures in JavaScript.
What's next for MyMcGill CS Portal
We would expand to any faculty at McGill, then other schools in Canada and eventually…we will take over the world! To do this, we would have to use a scraper to obtain the course data from school websites and write some extra code to parse the data and feed it into our hash table (as for the CS courses we inputted it manually).

Log in or sign up for Devpost to join the conversation.