Project Info

SlugAdviser

Devpost

This project did not submit a demo video on Devpost.

Inspiration

We are a group of third-year computer science and engineering students trying to find our most optimal schedule with factors like early/late graduation, quarterly workload, and elective/concentration interests. We wanted to make this process a lot easier for those who come after us and provide a service that can develop the optimal schedule with various factors such as quarterly workload, choice of electives, the difficulty of individual courses, and quarters offered for courses.

What it does

The main algorithm for finding optimal schedules is the directional graph with nodes featuring a unique class (as an object with properties such as professors, credits, department, and course number). The algorithm keeps in mind the user's preference of preferred workload range of hours per week, preferred course unit range per quarter, and prerequisites of every class. As the algorithm traverses through the graph, the algorithm will find an ideal set of classes for a quarter append it, and move forward to the next quarter.

How we built it

Attached is our architecture: link We split the tasks as evenly as we could, giving each team member an equal share of work. We then researched and planned our individual tasks out and after we each had our own finished projects we combined them into a finished final project.

Challenges we ran into

A major challenge for us was getting accurate course information to input into the algorithm we built. We attempted to web-scrape the course catalog to get all the necessary course information, but the way the course catalog was developed made it extremely challenging to do so. We ended up having to manually input course information, but hopefully, in the future, we'd love to work with UCSC to automate that process entirely.

Accomplishments we're proud of

Creating the algorithm for the project was a very difficult and complex task, as we had to design a custom algorithm from the ground up. We implemented a directed polytree and then took elements from BFS to make our own custom search algorithm.

What we learned

Making projects that work on a large scale such as the one we created, can be very difficult because of the need to connect different working parts. Having all team members be on the same page about what their code should do is essential for making all these small parts come together

What's next

As stated previously, we want to work with UCSC to automate the class selection process so we can make our web service accessible to all majors. Furthermore, the project is far from perfect, there are plenty of tweaks to pre-existing features as well as new features to add. We want to add more features to avoid class conflicts, Design Document link

Analysis

Compare with all teams

View

Metric

Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.

Technology

Found in codeClaimed only
  • CSSIn code
  • HTMLIn code
  • JavaScriptIn code
  • PythonIn code
  • ReactIn code
  • FlaskClaimed
  • Node.jsClaimed

5 of 7 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.

AI coding agents

No AI coding agent signals were found in this repository.

Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.

Codebase size

Source size

73 KB

Source files

36

Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.

0 stars