This course covers the foundations of artificial intelligence as a holistic computer science discipline. The course explores the many aspects of how human intelligence is encoded in computer programs and mechanisms such as robots, self-learning programs, and advanced data analytics. This course introduces the foundation of simulating or creating intelligence from a computational point of view. It covers the techniques of reduction, reasoning, problem solving, search, knowledge representation, and machine learning and applies them strategically to various problems in science, technology, engineering, and management domains and industries. It also explores computational complexity and issues arising at the junction between biological and artificial intelligence and infuses these issues into tangible and applicable solutions in the STEM domains to ensure sound and ethical application of AI models, processes, and techniques.