The goal of this course is to give both a comprehensive introduction to core concepts of AI and hands-on experience in symbolic language programming. This course not only provides a thorough discussion of AI's foundational technologies including predicate calculus, search, and AI languages, but introduces processing, pattern recognition, computer vision, and neural networks.