Data mining is a very important and useful technique to extract knowledge from raw data. However, there is a challenge faced by data mining researchers, in the form of potential discrimination. Discrimination means giving unfair treatment to a person just because one belongs to a minority group, without considering one's individual merit or qualification. The results extracted using data mining techniques may lead to discrimination, if a biased historical/training dataset is used. It is very important to prevent data mining technique from becoming a source of discrimination. A detailed survey of discrimination discovery methods and discrimination prevention methods is presented in this paper. This paper also presents the list of datasets used for experiments in different discrimination-aware data mining (DADM) approaches. Some ideas for future research work that may help in preventing discrimination are also discussed.