Inspiration

  • Choosing university courses is one of the most stressful parts of academic life. Students often struggle to understand degree requirements, compare course workloads, plan for double majors, or even find reliable feedback about professors and course quality. We noticed that many students jump between spreadsheets, Reddit posts, RateMyProfessor, and multiple university websites just to create a rough plan, often still ending up confused.
  • Our inspiration came directly from this problem: what if we built one tool that could automatically understand a university’s curriculum, analyze overlapping requirements, and help students make confident long-term course decisions?

What it does

Course Optimiser is an intelligent course-planning assistant designed to help students map out their academic journey in minutes. It can:

  • Automatically read and extract course information and requirements from university websites.
  • Generate optimized course paths based on a student’s major, minor, or double-major combinations.
  • Detect overlapping requirements between programs to minimize redundant classes.
  • Pull and integrate course reviews from external sources (RateMyProfessor, Reddit, etc.) to help students evaluate course difficulty and workload.
  • Provide a clean visual layout of recommended course schedules across multiple semesters.
  • Allow students to adjust preferences (e.g., avoid morning classes, prefer lighter semesters, balance difficult courses).

How we built it

We built Course Optimiser using:

  • Python for backend logic, requirement parsing, and schedule optimization algorithms.
  • BeautifulSoup / Scraping tools to automatically collect course and requirement information from university catalog pages.
  • Rule-based + heuristic optimization to match program requirements with available course offerings and identify overlapping credits.
  • Flask as the web framework to connect the backend logic to a simple UI.
  • JSON-based data models to standardize course structures across different universities.
  • External API fetching (or simulated data for the hackathon) to include course review sentiment and instructor ratings.
  • Our workflow mainly involved data cleaning, designing the core “course-mapping engine,” and building an intuitive interface for students to interact with the results.

Challenges we ran into

We faced several key challenges:

  • Inconsistent university websites: Course pages and catalogs often have different structures, making scraping non-trivial.
  • Parsing degree requirements: Natural language requirement descriptions (“choose 2 of the following”, “at least 15 credits from…”) required rule-based logic and careful handling.
  • Double-major overlap detection: Different programs express requirements differently, so normalizing data across majors was complex.
  • Limited time: Integrating external review sources and building a polished UI within hackathon time constraints was challenging.
  • Scalability: Ensuring the system could adapt to any university required flexible models rather than hard-coded logic.

Accomplishments that we're proud of

  • Successfully built a functioning prototype that can extract, analyze, and optimize course selections.
  • Designed a generalizable data structure that works across different universities.
  • Implemented automatic detection of overlapping courses for double majors—one of the hardest features.
  • Integrated external review sources, giving students meaningful insights beyond the course title.
  • Created a tool that genuinely solves a real student pain point and can scale into a fully deployable academic resource.

What we learned

How complex and varied university curriculum structures can be. The importance of data normalization when scraping from multiple sources. How to combine rule-based logic with heuristic optimization for practical decision-making tools. How to design user experiences that reduce student stress and simplify complex information. How valuable cross-functional teamwork is in building a full-stack project under a tight deadline.

What's next for Course Optimiser

  • We plan to continue expanding the tool with:
  • Full multi-university support using dynamic scraping templates.
  • A login system where students can save and update their 4-year plans.
  • AI-powered requirement extraction to handle complex or ambiguous catalog descriptions.
  • A recommendation engine that suggests minors or certificates based on a student’s completed courses.
  • Integration with official university APIs for real-time seat availability and prerequisites.
  • A mobile app version for quick course-planning on the go. -Community-driven reviews and tips, giving students a centralized space to learn from others.

Built With

+ 1 more
Share this project:

Updates