When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 5 modules in this course
Ever wonder how Netflix decides what movies to recommend for you? Or how Amazon recommends books? We can get a feel for how it works by building a simplified recommender of our own!
In this capstone, you will show off your problem solving and Java programming skills by creating recommender systems. You will work with data for movies, including ratings, but the principles involved can easily be adapted to books, restaurants, and more. You will write a program to answer questions about the data, including which items should be recommended to a user based on their ratings of several movies. Given input files on users ratings and movie titles, you will be able to:
1. Read in and parse data into lists and maps;
2. Calculate average ratings;
3. Calculate how similar a given rater is to another user based on ratings; and
4. Recommend movies to a given user based on ratings.
5. Display recommended movies for a given user on a webpage.
You will start out the capstone project by taking a look at the features of a recommender engine. Then you will choose how to read in and organize user, ratings, and movie data in your program. The programming exercise will provide a check on your progress before moving on to the next step.
What's included
2 videos3 readings1 assignment
Show info about module content
2 videos•Total 13 minutes
Introduction and Motivation•7 minutes
Reading and Storing Data•6 minutes
3 readings•Total 30 minutes
Module Description / Resources•10 minutes
Report a problem with the course •10 minutes
Programming Exercise: Step One•10 minutes
1 assignment•Total 30 minutes
Step One•30 minutes
Simple Recommendations
Module 2•1 hour to complete
Module details
Your second step in building a recommender will focus on making simple recommendations based on the average ratings that a movie receives. You'll also make sure that each recommended movie has a least a minimal number of user ratings before including it in your recommendations. Throughout this step you are encouraged you use your knowledge of the seven step process to design useful algorithms and successful programs to solve the challenges you will face.
What's included
1 video2 readings1 assignment
Show info about module content
1 video•Total 3 minutes
Average Ratings•3 minutes
2 readings•Total 20 minutes
Module Description•10 minutes
Programming Exercise: Step Two•10 minutes
1 assignment•Total 30 minutes
Step Two•30 minutes
Interfaces, Filters, Database
Module 3•1 hour to complete
Module details
In your third step, you will be encouraged to use interfaces to rewrite your existing code, making it more flexible and more efficient. You will also add filters to select a desired subset of movies that you want to recommend, such as 'all movies under two hours long' or 'all movies made in 2012'. You'll also make your recommendation engine more efficient as you practice software design principles such as refactoring.
What's included
1 video2 readings1 assignment
Show info about module content
1 video•Total 8 minutes
Filtering Recomendations•8 minutes
2 readings•Total 20 minutes
Module Description•10 minutes
Programming Exercise: Step Three•10 minutes
1 assignment•Total 30 minutes
Step Three•30 minutes
Weighted Averages
Module 4•2 hours to complete
Module details
In your fourth step, you will complete your recommendation engine by finding users in the database that have similar ratings and weighting their input to provide a more personal recommendation for the users of your program. Once you complete this step, you could request ratings of movies from those you know, run your program, and give them recommendations tailored to their own interests and tastes!
What's included
1 video2 readings1 assignment1 peer review
Show info about module content
1 video•Total 14 minutes
Calculating Weighted Averages•14 minutes
2 readings•Total 20 minutes
Module Description•10 minutes
Programming Exercise: Step Four•10 minutes
1 assignment•Total 30 minutes
Step Four•30 minutes
1 peer review•Total 60 minutes
Step Five•60 minutes
Farewell
Module 5•11 minutes to complete
Module details
Congratulations on completing your recommender programming project! As we conclude this capstone course, our instructors have a few parting words as you embark in future learning and work in computer science!
What's included
1 video1 reading
Show info about module content
1 video•Total 1 minute
Farewell from the Instructor Team•1 minute
1 reading•Total 10 minutes
Share your learning experience•10 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructors
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
Duke University has about 13,000 undergraduate and graduate students and a world-class faculty helping to expand the frontiers of knowledge. The university has a strong commitment to applying knowledge in service to society, both near its North Carolina campus and around the world.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.7
659 reviews
5 stars
77.72%
4 stars
17.72%
3 stars
2.12%
2 stars
0.45%
1 star
1.96%
Showing 3 of 659
J
JP
5·
Reviewed on Jun 2, 2020
It’s a great project requiring good application of java. Some steps were hard to follow but understood them after some time. A good project to end a specialisation course. Cheers.
A
AG
5·
Reviewed on Nov 16, 2016
This Caption project will help you to apply and have better understanding of the 5 courses in this specialization.
C
CT
5·
Reviewed on Sep 16, 2018
Challenging, but I feel that I learned a lot about programming. I'm looking forward to the UCSD intermediate programming course.
Will I receive a transcript from Duke University for completing this course?
No. Completion of a Coursera course does not earn you academic credit from Duke; therefore, Duke is not able to provide you with a university transcript. However, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I subscribe to this Specialization?
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.