This course examines the theory and application of Artificial Intelligence. Several machine learning methods, including deep learning, and rule based learning are taught in this course. The differences between supervised learning, unsupervised learning, reinforcement learning are explained including algorithms such as Convolution Neural Network, Support Vector Machine, Random Forest, SOM, LVQ. Methods for determining the best features and data pre-processing are also taught in this course. This course is project-based where students are given theory and practice by applying artificial intelligence to surrounding problems, especially real problems.