Inspiration

Our inspiration for the USF Smart Schedule Planner came from the scheduling problems that many USF students face each semester, especially those in the Bellini College of AI. Building a schedule that fits, avoids conflicts, and matches personal preferences is already difficult, and choosing classes without knowing last year’s grade distributions adds even more uncertainty. We wanted to create a tool that removes that stress and gives students the information they need to make smart academic decisions.

What it does

The USF Smart Schedule Planner allows students to input the classes they want to take and automatically generates schedules that do not overlap. It evaluates course times, filters out conflicts, and presents viable combinations. In addition to scheduling, it provides grade distributions from previous semesters for both courses and professors, helping students choose the best class sections based on difficulty, instructor trends, and personal needs. This combination of conflict-free scheduling and data-driven guidance makes planning far more efficient.

How we built it

We built this project using HTML to structure the pages, CSS for styling and layout, and JavaScript for all logical operations. JavaScript powers the schedule generator, checks for overlapping class times, and displays historical grade distribution data stored in JSON format. We used JavaScript to dynamically update the interface, filter schedules, and create visual representations of grade patterns. Everything was built from scratch to keep the project simple, efficient, and fully web-accessible.

Challenges we ran into

One of the biggest challenges we ran into involved the grade distribution data. The official USF grade distribution dataset did not include professor names, which made it impossible to link course outcomes to specific instructors. To solve this, we had to manually combine the USF grade distribution data with information from the USF Staff Schedule Search. Matching instructors to course sections required cleaning, cross-referencing, and merging two separate data sources. This step was time-consuming and error-prone, but it was necessary to give students meaningful insights into how different professors graded in previous semesters. In addition to this, we also faced challenges in building a reliable scheduling algorithm, designing a clear interface, and ensuring fast performance while checking many possible schedule combinations.

Accomplishments that we're proud of

Despite these challenges, we are proud of what we accomplished. We successfully built a working conflict-free scheduling tool with an intuitive and clean interface. Incorporating grade distribution data into the scheduling process added meaningful value and set our tool apart from typical planners. We are also proud that we achieved all of this using only HTML, CSS, and JavaScript, a simple and accessible tech stack. Most importantly, the tool solves a real problem that many USF students face.

What we learned

Throughout the process, I (Nurimar Ortega) learned a tremendous amount, especially as this was my first hackathon. As a complete beginner and a biology major, I had little prior experience with web development (other than beginner python), but by the end of the project, we gained significant skills in HTML, CSS, and JavaScript. We also learned how to use new tools to build interactive charts and visualize grade distributions effectively, which added an important data-driven component to our project. Overall, the experience taught us how to approach problem-solving in programming, how to integrate new technologies quickly, and gave us much more confidence working with JavaScript and building web applications from scratch.

What's next for USF Smart Schedule Planner

Looking ahead, we plan to add more advanced features to USF Smart Schedule Planner. These include pulling live course data directly from USF systems, allowing students to create accounts and save schedules, and integrating AI tools to recommend classes based on workload and difficulty trends. We also want to expand grade distribution data to cover multiple years and eventually create a mobile app version for easier access. These enhancements will help the tool become even more powerful and useful for students planning their academic paths.

Built With

Share this project:

Updates

Submission history