About this Course
9,320

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 8 hours to complete

Suggested: 4 weeks of study, 3-6 hours/week...

English

Subtitles: English

Skills you will gain

Data StructureInterfacesSoftware DesignJava Programming

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Intermediate Level

Approx. 8 hours to complete

Suggested: 4 weeks of study, 3-6 hours/week...

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
1 hour to complete

Introducing the Recommender

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....
2 videos (Total 13 min), 2 readings, 1 quiz
2 videos
Reading and Storing Data6m
2 readings
Module Description / Resources10m
Programming Exercise: Step One10m
1 practice exercise
Step One20m
Week
2
1 hour to complete

Simple Recommendations

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....
1 video (Total 3 min), 2 readings, 1 quiz
1 video
2 readings
Module Description10m
Programming Exercise: Step Two10m
1 practice exercise
Step Two20m
Week
3
1 hour to complete

Interfaces, Filters, Database

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....
1 video (Total 8 min), 2 readings, 1 quiz
2 readings
Module Description10m
Programming Exercise: Step Three10m
1 practice exercise
Step Three20m
Week
4
3 hours to complete

Weighted Averages

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!...
1 video (Total 14 min), 2 readings, 2 quizzes
2 readings
Module Description10m
Programming Exercise: Step Four10m
1 practice exercise
Step Four22m
1 minute to complete

Farewell

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!...
1 video (Total 1 min)
4.7
53 ReviewsChevron Right

33%

started a new career after completing these courses

35%

got a tangible career benefit from this course

Top Reviews

By GWFeb 19th 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 CTSep 17th 2018

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

Instructors

Avatar

Robert Duvall

Lecturer
Computer Science
Avatar

Owen Astrachan

Professor of the Practice
Computer Science
Avatar

Andrew D. Hilton

Associate Professor of the Practice
Electrical and Computer Engineering
Avatar

Susan H. Rodger

Professor of the Practice
Computer Science

About Duke University

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

About the Java Programming and Software Engineering Fundamentals Specialization

Take your first step towards a career in software development with this introduction to Java—one of the most in-demand programming languages and the foundation of the Android operating system. Designed for beginners, this Specialization will teach you core programming concepts and equip you to write programs to solve complex problems. In addition, you will gain the foundational skills a software engineer needs to solve real-world problems, from designing algorithms to testing and debugging your programs....
Java Programming and Software Engineering Fundamentals

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • 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. If you only want to read and view the course content, you can audit the course for free.

  • 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.

More questions? Visit the Learner Help Center.