This course provides an in-depth exploration of Artificial Intelligence (AI), covering foundational and advanced topics essential for AI research and applications. The course covers problem-solving techniques, including heuristic and adversarial search, constraint satisfaction problems, and logical reasoning under uncertainty. The course delves into machine learning, neural networks, and deep learning, equipping students with the foundations needed for AI models' development. A research component is integrated, involving critical paper reviews, presentations, and discussions on emerging AI advancements. The research component is part of this course.