Choosing the right product to consume is nowadays a challenging problem due to the growing number of products and services. While increasing number of choices provides an opportunity for a user to find the products satisfying her personal needs, it may at the same time overwhelm her by providing too many choices. Recommender Systems can tackle this problem by providing personalized suggestions of products that match particular tastes and needs of the user. The accuracy of recommender systems largely depends on three factors: the quality of the prediction algorithm, and the quantity and quality of available user preferences. While research in the field of recommender systems often concentrates on improving prediction algorithms, even the best algorithms may fail if they are trained on poor quality preference data. In this seminar, I will provide an introduction on recommender systems and describe a number of effective mechanisms adopted by these systems to elicit preferences of the users and generate personalized recommendations for them.