C++ Course Search Engine

Personal Project

Demo

Course Search Engine Demo

Overview

Built to efficiently parse and search large-scale university course data. Scrapes the school's course explorer database, processes it, and stores it in a C++-based dictionary data structure for fast lookups. A graph-based backend will connect courses by topics and previous searches in a future version.

System Design

  • Course Dictionary: Custom hash map built using STL containers for O(1) average lookups.
  • Course Graph: Directed graph structure inside course structs enabling web-based searches for faster query results.

Software

  • Developed entirely in C++ using object-oriented principles.
  • Python scraper module extracts and cleans data from university course explorer JSON files.
  • Dictionary stores course info by subject, code, and title with efficient hashing.
  • Graph class maintains course relationships for dependency tracking and advanced searches.

Results

The system loads and parses thousands of courses in seconds, enabling instant text-based search queries. Dictionary is fully functional for simple search queries. Modular design allows new data sources and features to be added with minimal refactoring.

Future Work

  • Implement graph-based recommendations and "related courses" suggestions.
  • Add a web-based front-end for interactive search visualization.
  • Add semantic analysis to connect classes based on a topic scoring system.

Code

Complete implementation including data parsing scripts, C++ source files, and build makefile.