DescriptionProgram StructureEligibilityFacultyContact
Recommender systems have changed the way people find products, information, and even other people. They study patterns of behavior to know what someone will prefer from among a collection of things he has never experienced. The technology behind recommender systems has evolved over the past 20 years into a rich collection of tools that enable the practitioner or researcher to develop effective recommenders. We will study the most important of those tools, including how they work, how to use them, how to evaluate them, and their strengths and weaknesses in practice.

The algorithms we will study include content-based filtering, user-user collaborative filtering, item-item collaborative filtering, dimensionality reduction, and interactive critique-based recommenders. We will also explore the design space for recommender systems, including designing recommender interfaces and the backends that support them, and the surrounding social issues such as identity, privacy, and manipulation. The approach will be hands-on, with a total of seven assignments that involve hands-on activities

Course Syllabus:

This course focuses on the concepts of recommender systems, including algorithms, data, metrics, and evaluations. The course does not involve programming of recommender systems. We anticipate launching a separate online lab course through Coursera on programming recommender systems in the Summer of 2015, depending on the availability of the tools and features needed to support the course.




14 weeks ( 5-9 hours per week)

Important Date:

Contact Institute

Participation of Credit Students:

This course was designed to support simultaneous use by students enrolled in credit courses at the University of Minnesota and Texas State University. Students enrolled for credit should refer to their institutional syllabi, which take precedence over this document. We have included recordings from some live sessions among the course videos to help explain topics that yielded questions from students.

Course Policies:

Academic integrity is essential to any course. All work submitted, whether assignments or exams, is expected to be your own work except where collaboration is explicitly permitted. In this course, no collaboration on assignments or exams is permitted, though we encourage collaborative studying up to the point of working on specific assignments questions or exams.

Course Structure and Activities:

This course is organized around a set of modules, each with a combination of video lectures, interviews, readings, and generally an assignment. When offered in a semester format, modules 1 and 9 correspond to one week of material, and modules 2-8 each correspond to two weeks of material. There are two exams (non-cumulative) after modules 4 and 9.

Note about the course:

There will be references to the discussion forum in several of the videos throughout the course. Please disregard these references as they were specific to a prior Coursera session-based course. Also, a few of the videos will reference a few of the assignments that were created for the session-based version of the course. The Assignment Introduction videos in this course were created specifically to go over the new assignments that were created for this on-demand format.


Students should have a basic familiarity with college-level algebra and a general understanding of computer systems concepts. Exercises will include both hand-computation and implementation of algorithms in spreadsheets.

  • Joseph A. Konstan (University of Minnesota)
  • Michael D. Ekstrand (Texas State University)
Name :
Email :
Contact Number :
Message :
Code :