Inspiration
After one year at McGill, we have found that the university's current course selection and information systems are neither user-friendly nor sufficiently clear. This is evident in the following two points, among others:
Inability to Save Schedules in VSB: When using the Visual Schedule Builder (VSB) to create a visual schedule, we cannot save the schedules we create within the system. The only way to preserve our progress is to manually record the URL and organize this information ourselves, which is clearly inefficient.
Lack of Visual Representation in the eCalendar: The eCalendar does not offer a visual representation like this course guide from UC Berkeley, which clearly shows the relationships (prerequisites, course classifications) between courses. As a result, students might need to spend more time understanding the structure of each curriculum, especially when they haven't yet decided which program they are going to pursue.
Therefore, we are going to develop Comprehensive Course Blueprinter - a system that aims to offer students a better course scheduling experience by addressing these two problems.
What it does
This system is a combination of two parts: VSB-Enhanced and the McGill Course Map.
In VSB-Enhanced, we provide a schedule history management system implemented as a Chrome extension. Users can store their historical course schedules in an individual pop-up and return to previous schedules anytime they want. Considering the features of Chrome extensions, we designed a history export/import system that supports exporting all current records to local storage and importing them back into the system the next time you need to create a schedule.
In the McGill Course Map, we provide a visualized course map for each undergraduate program under the School of Computer Science at McGill. We implemented hover-highlight interactions, making it easy for users to understand the relationships between required courses. There is also a sidebar that shows details of each course in text form, and users can redirect to the eCalendar course webpage by clicking each node in the map for more detailed information.
*Note: Part of the inspiration for the course map function comes from this course guide and this project. We also borrowed some ideas for scraping McGill course data from the second project.
How we built it
VSB-Enhanced is a Chrome extension developed using JavaScript, HTML, and CSS. The McGill Course Map is built with the React framework. We performed data extraction and cleaning for the course data using Python, utilizing the BeautifulSoup and Scrapy packages.
What's next for Comprehensive course blueprinter
Currently, the course map does not support all courses in each program. We still need to complete the course map for every program.
The course map only supports Computer Science programs. We are planning to extend it to more programs at McGill.
The course map can further explore relationships between courses, such as course paths for specific career paths or professional fields.
VSB-Enhanced can be added with more features like generating schedule reports or providing recommended schedules based on the user's major and degree progress.
Built With
- beautiful-soup
- chromeextension
- css
- html
- javascript
- json
- python
- react
- scrapy
Log in or sign up for Devpost to join the conversation.