Inspiration
We observed many students at are university, UNCG, who would not graduate on time. This was often due to poor long-term planning for schedules, and we wanted to find a way to prevent this problem.
What it does
CreditCruncher uses the 0/1 Knapsack algorithm to generate schedules for students based on their priorities and past classes taken. We place priority on classes that have the most outgoing children, meaning they are more crucial towards graduation, and generate multiple schedule combinations for the user to choose from. Our custom webscraper allows us to retrieve major and minor requirements on demand, and in the future we plan to expand this capability to be for other universities, not just UNCG.
How we built it
The frontend of our application was built using Streamlit and our web scraper was built using BeautifulSoup4. Our algorithms for generating optimal class schedules was done entirely in Python.
Challenges we ran into
We did not initially understand that Streamlit is a sequential programming language, and kept running into errors because we were used to object-oriented programming languages. In terms of web scraping, we did not have experience working in it prior, and ended up having to pivot tools halfway through the hackathon.
Accomplishments that we're proud of
We are proud of our ability to lock in. In terms of the algorithm, we are proud to have been able to create it because it was like solving a competitive programming problem. We were also proud of our web scraper and our UI.
What we learned
How to use 0/1 knapsack in a project, how to web scrape, how to use RegEx, and how much coding we can get done if we put the effort in.
What's next for Credit Crunchers
We would like to expand our application to be viable for students at more than one university. We also would like to provide more options for users to customize their schedules.
Built With
- blood
- bs4
- playwright
- python
- sweat
- tears

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