What is common to marketing, insurance, telecoms, resellers, surveillance, fraud detection, and scientific discovery? Any modern business of today can gather vast amounts of data. To make this data useful, we need to extract patterns that provide insight to the data and can uncover hidden commonalities. A branch of computer science that develops techniques for discovery of knowledge from large data sets is called data mining. It combines methods from statistics, artificial intelligence, machine learning, visualization and database management. The course will introduce some of the most popular data mining techniques and will focus on those that can deal with large collections of data. These will include dimensionality reduction techniques, various data clustering/segmentation approaches, methods for finding frequent item sets, network-based explorative analysis techniques and support vector machines. During the course students will learn how to apply these techniques on the real data and use modern scripting-based data mining environments.