The course provides AI concepts and methods for problem-solving, heuristic search, planning, hypothesis formation, modeling and knowledge representation, knowledge acquisition (learning), Machine learning, Deep Learning, AI programming methodologies, and tools. The course introduces applications of AI in several areas such as Computer vision, automatic programming, Theorem proving, game playing, machine vision, natural language systems, and robots. This course gives a graduate-level student a thorough grounding in the methodologies, technologies, mathematics, and algorithms currently needed by people who do research in machine learning. The research component is part of this course.