This course provides advanced concepts and applications of artificial intelligence with uncertain knowledge reasoning, algorithm design for machine learning, natural language processing, computer vision and robotics. The course will facilitate problem solving and applications in a variety of areas. Basic knowledge of programming (Java preferred), and problem-solving concepts are recommended. Lecture 3 hours. Total 3 hours per week.