Chevron Left
Back to Java Programming: Solving Problems with Software

Learner Reviews & Feedback for Java Programming: Solving Problems with Software by Duke University

6,919 ratings
1,431 reviews

About the Course

Learn to code in Java and improve your programming and problem-solving skills. You will learn to design algorithms as well as develop and debug programs. Using custom open-source classes, you will write programs that access and transform images, websites, and other types of data. At the end of the course you will build a program that determines the popularity of different baby names in the US over time by analyzing comma separated value (CSV) files. After completing this course you will be able to: 1. Edit, compile, and run a Java program; 2. Use conditionals and loops in a Java program; 3. Use Java API documentation in writing programs. 4. Debug a Java program using the scientific method; 5. Write a Java method to solve a specific problem; 6. Develop a set of test cases as part of developing a program; 7. Create a class with multiple methods that work together to solve a problem; and 8. Use divide-and-conquer design techniques for a program that uses multiple methods....

Top reviews

Dec 10, 2020

Excellent explanations and amount of course work for practice, the tests made good use of the examples and work given, I am satisfied with what I learned in this course and see it's real world usage.

Oct 7, 2017

Excellent explanations and amount of course work for practice, the tests made good use of the examples and work given, I am satisfied with what I learned in this course and see it's real world usage.

Filter by:

1051 - 1075 of 1,426 Reviews for Java Programming: Solving Problems with Software


Jun 4, 2020

Good course for beginners with no prior knowledge of basics. Interesting assignments. However, they use the BlueJ environment to run the code and also use many custom created classes - easy to use but hide the basic functioning of the Java language and the structures that are supposed to come with it.

By portia o

Jan 28, 2019

It was a little hard to get started because the documentation for the course (various websites, etc) isn't super clear (to me), but once I got used to it, it was great. The instructors are great and explain the concepts really clearly. The provided classes (DirectoryResource, etc) were awesome!

By Ahmad F S

Jul 14, 2020

In Honor's Quiz, there is a technical fault in Q5

The course was fantastic but some of the side problems that can arise during assignments were not explained. it may be your technique but it didn't fit well with me.

Overall had a great experience and definitely recommend it to others.

By Rishi M

Apr 18, 2020

Good, but some things were unexplained, such as how to get the file name from a DirectoryResource(), until the greyscale conversion section. I was unsure of how to do this until I reached the greyscale conversion section, but it was asked for previously. Otherwise, great course!

By Glynn D

Apr 30, 2021

On the whole a good course for myself. Just a few 'challenges' with some access to some resources from sites are the university from some PCs. (Due to host access limitations) Advise reference to 'approved' / recommended browsers and any VPN settings to consider going forward.

By Prashanna A

Apr 24, 2020

This course has helped me get insights of Java Programming. Most importantly, it has taught me how to solve any problems using the seven step approach. The course has made me a better programmer, increased by problem solving skills and increased by ability to make algorithms.

By Diana Y

Jun 25, 2020

Very good course, interesting exercises datasets, especially the introduction to OOP was very well explained. The only improvement I would suggest would be to be able to use Intellij instead of BlueJ because I had to open a lot of different windows and it was not very handy.

By trung n

Feb 27, 2020

For programming, it's always important to have hand-on experience which can only be acquired by diligent practice. And through this course, I have my skill sharpened after completing each small project. It's also really fun to have a chance to work on real-world problems.

By 20k-0146 R S

May 23, 2020

Course length a bit misleading. Practice exercises rated for 10 mins were actually several hours long. Otherwise the course material was quite in depth, though I felt they focused too much on just CSV files. Things got a bit repetitive after a while.

By Md. Z M

May 15, 2016

Might seem a bit overwhelming to beginners, but at the same time, a useful course to practice writing code on real-life data sets, for experienced learners.

The library used here is useful, but not reusable in general.

Overall, a nice experience. :)

By Ben V D

Sep 2, 2020

Although it is more difficult than the first course of this specialization, I actually got used to the method being used here. It's a bit more trying to figure everything out yourself, which is a good way to learn to code in my opinion. Thanks!

By John K

Nov 8, 2015

Good course, it seemed too easy at times since they provided alot of guides to solving the programming problems but I might be biased since I have some programming background. Overall I would recommend for beginners interested in learning java.

By Gágik A

Jul 16, 2016

I liked the Course, it developed my skills of thinking as a coder, but I did not like the BlueJ programming environment, as I think it required to many clicks to accomplish simple debugging tasks and didn't have user friendly interface.

By Mario B

Apr 2, 2020

You should declare earlier, why a File is marked as a Failure. Caused by the missing import.

Other without this knowledge will get frustrated and quit...

Also sometimes the code disappears behind the prof. But the rest is super!


May 18, 2020

Its a great course for intermediate coders! good for practice in java and assignments are really good and requires effort. you can not just sleep on this! for Java or oops the complete specialisation is the best choice.

By Mauricio Z

Jun 27, 2020

I think it is an excellent course but I also think it is a bad thing to force the student to work under a single Duke library. In real life you can always work with several libraries, so that's why I give them 4 stars

By Krishna K

Jun 14, 2019

Pretty basic course if you have done any programming. It is pretty well designed. I don't recommend programming in bluej if you done some programming before. The environment is pain to use. Text editors all the way!!

By Vineel B

Aug 31, 2020

Good course for those who are looking to learn Java programming, especially beginners. I like the programming exercises and quizzes, which test you rigorously and help you get a good grasp of the things learnt.

By Ahmed Y

Feb 25, 2017

The course is well prepared and paced. It's a problem based learning course. It will teach you how to target various range of problems appropriately. Some lessons and exercises however needed longer time frame.

By Tim A

Dec 6, 2015

A good intro into Java. As this is Part 2 of the Specialization, I would have liked to have seen a greater introduction into more of Java's collections than just String manipulation and CSV using an apache lib.

By catalina

Jul 19, 2020

I've bump into the same problem as described in the link above. I think this could have been better described.

By Yi-Chia C

Feb 11, 2016

Great opportunity to learn java and put it into use to solve the real world problems. But it's a little hard for people who haven't learned java at all, but only learned C#.(object-oriented programming).

By Harshad B B

Apr 25, 2021

The course was well structured but I feel the content could have incorporated more concepts. I feel like there's so much basic JAVA that's not covered. But otherwise the teachers did a great job.


Jun 9, 2020

I found it easy because I had some previous experience in java. But in some parts the things were not explained properly. That may cause problem to people who are new. Over all Good experience.

By João T

Feb 26, 2019

A basic practice approach for solving problems with a 7step formula for any kind of problem set, for any kind of programming language you use. A very basic approach to JAVA syntax and semantics.