Chevron Left
Back to Java Programming: Principles of Software Design

Learner Reviews & Feedback for Java Programming: Principles of Software Design by Duke University

1,163 ratings
204 reviews

About the Course

Solve real world problems with Java using multiple classes. Learn how to create programming solutions that scale using Java interfaces. Recognize that software engineering is more than writing code - it also involves logical thinking and design. By the end of this course you will have written a program that analyzes and sorts earthquake data, and developed a predictive text generator. After completing this course, you will be able to: 1. Use sorting appropriately in solving problems; 2. Develop classes that implement the Comparable interface; 3. Use timing data to analyze empirical performance; 4. Break problems into multiple classes, each with their own methods; 5. Determine if a class from the Java API can be used in solving a particular problem; 6. Implement programming solutions using multiple approaches and recognize tradeoffs; 7. Use object-oriented concepts including interfaces and abstract classes when developing programs; 8. Appropriately hide implementation decisions so they are not visible in public methods; and 9. Recognize the limitations of algorithms and Java programs in solving problems. 10. Recognize standard Java classes and idioms including exception-handling, static methods,, and packages....

Top reviews


Aug 08, 2019

My confidence level in Java programming has grown significantly since completing this specialisation. It gave me the necessary knowledge and practice I need to take up a role as a software engineer.


May 04, 2020

Well designed and well structured with the packages, resources, programming exercises and practice quiz. I appreciate the team's hard work in delivering good knowledge on the subject efficiently.

Filter by:

76 - 100 of 199 Reviews for Java Programming: Principles of Software Design

By Seyyed E S

Jan 02, 2018

This is really great course. Enjoyed every second of it.


Apr 16, 2020

thanks for your efforts I get more useful informations

By Yu C

Dec 08, 2017

The last section of Week 3 could be improved further.

By Douglas H

Dec 26, 2015

Great course. Lots of great programming assignments.

By Roman

Feb 06, 2016

Excellent course! The best Java course on Coursera!

By Chris T

Aug 21, 2018

Difficult and challenging, but worth the struggle.

By Thi T L

Jul 13, 2019

easy to understand, lots of programming practice

By Manju A

Sep 30, 2019

very thought provoking and in depth course.

By Jose G

Nov 20, 2017

Great course. I feel like i learned a lot.

By Xiangzhen S

Jan 30, 2018

very practical software design technique

By Hail B

Jan 13, 2016

Love! Highly recommended for beginners!


May 19, 2020


By Haoran

Jul 13, 2018

good intro for programming in java

By Karim M E

Nov 18, 2018

great course recommend it so much

By Rudik E

Jan 18, 2016

It' great as usual!!!! Thank you!

By James T

Jul 17, 2017

The entire series was excellent!

By Aditya N

Oct 06, 2020

The best course for beginners!!

By Oscar R

Jan 09, 2016

Very good teachers/instructors.

By Victor

May 20, 2020

very good course for beginners

By Mariam H

Apr 21, 2020

I learn more from that course

By Syed M A

Jan 21, 2020

Excellent Faculty and Content


May 08, 2016

Great course for beginner!!


Sep 25, 2020

Really enjoyed the class!

By hassan m

Jun 26, 2020

want to thank instructors

By Lee Y Y

May 19, 2020

clear and easy to follow