The first part of the course introduces methods of learning from data and explains the concepts behind various machine learning techniques. The course covers the basics of both supervised and unsupervised learning paradigms. Students will learn to identify dataset characteristics, select features and machine learning algorithms, evaluate the performance of machine learning models, and learn how to achieve the best performance. Students will also practice constructing machine learning models by integrating machine learning libraries and tools for various datasets and case studies. The second part of the course introduces the various techniques of computational intelligence. Various knowledge sources that are relevant to computational intelligence problems will be discussed. Students will also be exposed to advanced approaches to knowledge representation and reasoning.