This document provides an introduction and overview of data mining. It discusses how data mining extracts knowledge from large amounts of data to discover hidden patterns and predict future trends. It notes that for effective data mining, data sets need to be extremely large. The document outlines some key techniques of data mining including associative learning, artificial neural networks, clustering, genetic algorithms, and hidden Markov models. It also discusses applications of data mining in bioinformatics such as gene finding, protein function prediction, and disease diagnosis. Finally, it acknowledges that while bioinformatics data is rich, developing comprehensive theories remains challenging but creates opportunities for novel knowledge discovery methods.