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.