Inspiration
The inspiration for our idea stemmed from our experiences as peer advisors at the Baskin School of Engineering. At this job, we interact with a variety of students, but one common problem a lot of students had was struggling to create their four year course plan properly. A lot goes into building a plan; you have to consider credits, major declaration requirements, prerequisites, and availability of classes. Without a proper course plan, students face a lot of stress and uncertainty when enrolling in classes, and some even have to extend their graduation. Our goal was to create a resource that helps students create more effective and accurate course plans, allowing for less stress and reducing the time spent planning.
What it does
Slugplan generates a 4 year course plan given the student's input of their current status. First, students enter the year and quarter from which they want to start building their plan. Then they select their major, which leads to a checklist of their specific major requirements. They check off the classes they have taken and are currently taking. After clicking the button, the website will generate a quarter-by-quarter plan for the student.
How we built it
We utilized Figma to create a template for how we wanted the interface to look. We used HTML, CSS, and JavaScript for front-end development and Python for back-end development.
Challenges we ran into
As beginners, our first main challenge was figuring out how to even get started. After deciding on our idea, it took us some time to understand what we needed to do and how to go about doing it. Once we finally got started, we felt more confident. Another challenge we had was sudden problems with buttons not working and the UI not outputting. After a lot of debugging, we figured out these small issues that came up throughout our time coding. The main challenges we faced were creating the algorithm and connecting Python and HTML. We had coded single Python scripts before, but we had never put them all together as a backend for a website. The biggest bug was the “Generate plan” button not working, and trying to figure out whether it was an issue with the backend (Python) or the Javascript or the HTML. After determining the preconditions and consolidating a list for available classes per quarter, deciding which classes to prioritize when there was an excess of available classes involved coming up with an algorithm. We decided to weigh classes based on how many post-requisites in a row depended on it, whether the class was necessary for major declaration, and a personal bias we added to each course. We then multiplied these three values by varying amounts and sorted them by score. We ended up with an effective algorithm that matched the recommended academic plan, which was a great sign.
Accomplishments that we’re proud of
We are proud of how much we learnt and achieved during this Cruzhacks. We learned a lot through our hackathon project and the many workshops throughout the time. We are proud of completing our very first hackathon successfully and creating a project that we’re proud of. The algorithm for deciding which classes to prioritize performed well, which we are super happy with.
What we learned
We learned how to use GitHub and VS Code and how to code in different languages. We went through the full process of building a website, exploring how all the different aspects come together to make the product. With no previous experience in connecting Python functions to a website, we learned how to use Flask to locally host our website.
What’s next for slugplan
We are hoping to update our project to take into consideration other important course planning factors to make it more effective. For the MVP, we started with just one major and plan to expand it to other majors so all UCSC students can benefit as well.
Log in or sign up for Devpost to join the conversation.