If helpful, some additional references:

https://www.tutorialspoint.com/automata_theory/context_free_grammar_introduction.htm

https://www.tutorialspoint.com/automata_theory/chomsky_normal_form.htm


Projects:

The purpose of the project is to implement an algorithm of your group’s choosing. The algorithm should be something new, or an extension of what we talked about in class. Implementing an algorithm that we learned about (but did not implement as a programming homework question) is totally fine as well. Developing your own algorithm (for instance, a game) is also perfectly valid. A sorting dance will be allowed.