Artificial intelligence; AI applications; knowledge representation and reasoning, prepositional and predicate logic; heuristic search, uninformed search, adversarial search; knowledge based problem solving techniques; reasoning with uncertainty; machine learning