Chevron Left
Back to Java Programming: Build a Recommendation System

Learner Reviews & Feedback for Java Programming: Build a Recommendation System by Duke University

635 ratings

About the 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....

Top reviews


Nov 1, 2021

I really enjoyed this course, it was fantastic, the lecturers explained well.

Please come and enroll for this course, it was great and there was alot of interaction between other learners


Feb 18, 2016

I really like this approach to a final project. I learned a lot outside of the course by using a different, full-featured IDE and writing unit tests for my code. Pretty challenging!

Filter by:

1 - 25 of 117 Reviews for Java Programming: Build a Recommendation System

By David H

Dec 10, 2018

A great capstone for this specialization. One quibble is with the time estimates: all the reading assignments are marked as taking 10 minutes, which is probably true: just reading and understanding the reading will probably take that long. However, these assignments also task the student with writing code which is impossible to write in 10 minutes. Throughout the specialization, I often took between 1-7 hours to complete a reading/coding assignment. So the time commitment that they advertise is totally out of whack with reality.

That said, the material is mostly well-presented and interesting and the coding practice does give you good experience of what it is like working in Java.

By Екатерина В

Apr 5, 2021

My review is for Java Programming and Software Engineering Fundamentals Specialization in general:

It's great for beginners, especially if you're somewhat intimidated by the complexity of programming as a concept (as I was) and have zero or close to zero experience. You'll learn basic concepts and Java syntaxis and you'll apply it a lot in your assignments. The instructors are great and watching lectures was not only useful, but entertaining as well. Note that course materials date back to 2015, Java have evolved since then, but basics stay the same. My personal result of taking the Specialization was gaining some confidence in being able to write (eventually) working code out of my head. And I consider it an accomplishment, so here goes 5 out of 5. These were pros, cons are below.

Don't get those % of people who "changed their career" after this specialization mislead you. It is not enough to change ones career, at least where I live. Enough to apply for unpaid internship - maybe, but nothing more. And there are three problems with this specialization which will affect you.

First, if you have no prior programming knowledge and nobody around to help you, you'll probably struggle a lot to get through it. But the 4th course discussion forums are basically dead, mentors won't answer your questions exactly like they haven't answered same questions several years ago. Same with the Capstone (one of the most important tasks in it is phrased so misleading that I spent a DAY trying to understand what I'm supposed to do and trying various options to only fail the quiz again and again. And the same question is all over the forum, dating months or 2 years back, unanswered, the assignments statement not rephrased for better understanding. But if you look long enough, you'll find the hint, given by the student, not mentors). So by the end you'll be on your own.

Second, BlueJ (the IDE provided for practice) won't do you any good, because nobody uses it in real world. I strongly suggest that you start using proper IDE (like IntelliJ IDEA or Eclipse at least) as early as you can. It's a lot better for debugging and you'll also be able to mention it in your future CV.

Third problem is "estimated time" for your programming assignments. If it says 10 minutes - it means it takes 10 minutes to read it, not to complete. Personally, I struggled to keep up with weekly deadlines, and the courses took almost most of my time off work.

To conclude - it's a great opportunity for non-programmers to discover programming, but a lot of time and effort will be required to get the certificate, if you want one. Hopefully my review will help you to make an informed decision.

By Khaled H

Aug 14, 2017

i have taken the whole specialization . so this review is for the whole specialization in general and for the capastone in particular.

the first and the second course is very easy . but the three remaining course are a little bit tough

so you will need to struggle and persist to complete the whole specialization especially the great project .

indeed the project is extremely great . you will use all the concept you have learned through this specialization to implement this great project .... but NOTE this specialization in general and the project in particular is NOT for a BEGINNER Programmer. it is for some one who has a background in programming . but overall you will learn a lot great stuff and concepts .. so have fun and enjoy programming .

By Koushik S

Jul 27, 2020

All the courses of this specialization are really great. Though the courses are aimed for novice programmers anyone can take this course to get accustomed with java programming and solve exciting problems offered in the courses.

The courses were fairly easy for me as I already have a programming background in C, C++. But I think the courses are just about right for anyone who doesn't have any programming background and want to learn java programming to begin with. The video lectures are precise and enjoyable. The instructors not only teaches coding syntax but also walk the learner through the problem solving process which is specially beneficial to novices.

Though the projects and question statements of the first four courses were precise and easy to understand, in the last course the one with the project I really had to struggle to understand what is actually being required of in some part of the project. But I guess it is also a part of solving real life programming problem. A visit to the discussion forum cleared up confusions soon enough.

So overall this is a specialization worth taking. I would strongly recommend this to anyone specially novices. I myself will be taking the next specialization offered by UC San Diego. See you around and HAPPY PROGRAMMING :) !!!

By Edward F

Jun 10, 2017

I took the full Specialization, so I'm going write the same review for each of the 5 modules.

This is a great course, but it's not for beginners. They ask you to do a lot of coding, which is great since that's the only way to really gain proficiency. And the code they ask you to write is, in my opinion, pretty hard for someone new to coding. My hat's off to someone new to programming who makes it through the five modules.

So, thanks to Duke for putting together a great course. It was very good.

By Nathaly T

Nov 30, 2020

This is a big challenge. If you decide to take the call, be prepared to learn a lot, struggle, have fun, and don't walk away once you get started. Great experience!

By Joshi N R P

Jun 3, 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.

By Thomas H

Jan 30, 2016

Loved the project, but I am going to keep my review at 3 stars until there is a module to add capstone project to a web page. This would be super helpful for showing my work to a future employer!

By Gregory W

Feb 19, 2016

I really like this approach to a final project. I learned a lot outside of the course by using a different, full-featured IDE and writing unit tests for my code. Pretty challenging!

By Sarvjeet S

Sep 9, 2020

Outstanding specialization, Excellent explanation of the concepts and programs, Interesting assignments.

Highly recommend this one.

By Douglas A

Oct 1, 2016

I posted a question on the last week on the forum and never received an answer from a mentor. I had one response from another student which did not actually address the issue of my question and I had several views. And it wasn't as if there were a lot of questions posted. One course mentor could have easily answered all of them.

By Huynh L D

Feb 1, 2016

The course design is really good. It is very hands-on. We get to build our own applications and test our applications in the quiz.

However I really hope if there can be more content. The course is rather short. The quality is good but the quantity is a bit insufficient.

I hope this course can be longer. Additional weeks can teach us how to convert BlueJ projects or Eclipse projects into EXE or host it in the cloud.

I also hope this course, in the future, teaches us to make graphical user interface, which would be a nice conclusion to whatever program that we make

I love the course. I really want to see more coming out of the Capstone project. I love the idea of the capstone building a recommender engine. However, to make it a complete package, I suggest a few things:

---Teach learners to use main() to create apps and convert to exe

---Teach learners, after the entire project codings, how to create an Applet out of the source codes

---Teach learners how to implement graphical user interface (make buttons, input field for movie queries)

---Teach learners how to, instead of getting data from a file in the folder, reads the data from a live-feed instead. That would enhance the learning experience of the course.

Thank you for all those. I'm a hungry guy so I suggest lots of things. However I'm very happy with the course designs. Very engaging and fruitful course series.

By Zachary F

Mar 2, 2017

Really enjoyed this project and I think it did a good job bringing the whole specialization together. Personally, I took more autonomy on how to solve the problems but I think the structure of the quizzes in this section allowed me to do that. In all, it was a fantastic way for me to solidify what I have learned, from the 7-step process and debugging to using online resources to figure out new logic. Thanks!

By Tian Y C

Jul 16, 2020

A good course.. But the amount of text written for the instruction for lab could be better.

As well as the peer assignment website submission runner does not seem to be smooth. But it can be overcome once you know that particular class attributes.

By Barys D

Sep 27, 2020

It is amazing capstone project. You'll use everything from previous courses from Duke here. Do it! You won't be dissapointed.

By Bijoy K B

Jan 28, 2021

This capstone project was quite challenging. Making the recommendation system better with every steps and doing all those changes in every steps. Calculating the weighted average ratings based on the similarities between the raters. And having the recommendation system working for each specific users for their tastes in movies. I ended my journey in this course and this specialization.

By Aarya P

Sep 7, 2020

Nice Capstone Project. Helps you at each stage on how to tackle with problems. Good part is it combines all the previous knowledge taken in the course and helps make the recommender system in a step by step and easy way. However the last week includes a bit of HTML in java which is little bit confusion but other wise nice and highly recommended to get you overall specialization done.

By Josh H

Feb 20, 2016

Highly recommended for anyone who wants to learn programming. I started from basically zero and learned a lot throughout the Specialization. The instructors do a great job of giving you enough information throughout the lectures without over loading you and making the assignments challenging enough that you feel like you are really getting the most out of your time.

By Devul N

Nov 4, 2017

This course has a perfect capstone project, that really requires all of your understanding from the previous courses to come together. The Movie Recommended System may seem challenging as little help is provided to help you make it, but once you finally make it, its one of the best things you can show off. Thanks for an amazing course!

By Obiomachukwu C

Jun 11, 2020

This course and the specialisation in general has helped to peak my interest and has boosted my confidence concerning computer science. I want to express my most sincere gratitude to the great and accomplished academics that guided me through this course as well as my studious peers and distinguished mentors

By YiFan ( Z

Dec 12, 2017

Fantastic course! The instructors were very engaging, the lessons were varied and provided me with a wide variety of information in the field. After completely this course, I definitely feel much more confident working in this field.

By Luis F P M

Sep 29, 2021

Un curso retador, animo, a los aprendices a tomarlo; no estarán solos, ya que encontrán ayuda suficiente en los foros. FInalmente, les puedo decir, que vale la pena tomar toda la ruta de aprendizaje de esta especialización.

By Ekwoge R

Nov 2, 2021

I really enjoyed this course, it was fantastic, the lecturers explained well.

Please come and enroll for this course, it was great and there was alot of interaction between other learners

By Manju A

Oct 17, 2019

THe courses really tested my overall knowledge of other courses that I have done in past 3 months. REally great learning. Thank you.

By Chris T

Sep 17, 2018

Challenging, but I feel that I learned a lot about programming. I'm looking forward to the UCSD intermediate programming course.