A major component of EC504 is the final project.
The goal of this project is to search large texts for the occurrences of specific patterns. This is done via the Aho-Corasick algorithm.
This implementation is extended to search for patterns that can have variations in capitalization, plus the use of wild cards that can substitute for any letter.