Course Number
705.623

This course provides an in-depth exploration of the design, analysis, and optimization of algorithms critical to artificial intelligence. Building on foundational algorithmic techniques such as dynamic programming, graph theory, and heuristic search, the course extends into applications across machine learning, natural language processing, computer vision, and generative AI. Topics include computational complexity, probabilistic reasoning, optimization methods, and trade-offs in algorithm performance. Students will gain theoretical and practical insights essential for solving real-world AI problems, including designing hybrid AI systems that integrate reasoning, optimization, and pattern recognition.