Chevron Left
Back to Java Programming: Solving Problems with Software

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

6,778 ratings
1,417 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

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.

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.

Filter by:

1001 - 1025 of 1,412 Reviews for Java Programming: Solving Problems with Software

By Mohammed A W

Jul 20, 2019



Jun 20, 2019


By hakan33

Apr 20, 2017


By 张梦宇

Jan 29, 2017


By Amandeep S

Mar 27, 2021


By Erick Z

Sep 30, 2019


By Divine V

Feb 2, 2019


By Vibha D

Oct 12, 2020



Sep 28, 2020



Sep 25, 2020


By ayatullah c

Sep 9, 2020


By 121710303001

May 30, 2020


By Constantin M

Jul 27, 2017


By Rengar W

Aug 1, 2016


By Stefan v d S

Dec 20, 2016

All in all, this was a tough course, and the programming increased progressively as one moved on. Week 1 was OK, but I experienced a temporary hiccup in week 2 in the reading of the codon files; until I converted them to Strings. Even then the first file which contained only one DNA string gave its fair share of problems. In general, the section on Strings was pretty comprehensive. The programming was also pretty challenging. The section on debugging was OK, but I am at this stage still a little confused as to the amount and detail of information one is supposed to supply to someone else when you are experiencing a problem with your code. With the week 2 quiz I made a mistake than came back to haunt me in week 4; I did not read the question properly and from the outset my cgRatio method was not producing the correct answer. Eventually, after reading the specs for cgRatio again, I realised my mistake, could correct my code and get through the week 2 quiz! Week 3 on parsing, reading CSV files etc, the going was pretty good and I managed to complete the work covered in this section without too many problems. Week 4 on baby names; well, yes the mini Project was pretty extensive, with a lot of Methods being asked for and written. I found the small test files to be invaluable during testing. But the quiz contained a few curved balls. Method totalBirths does just that, and although in the specification it does say that it should also print the number of girls and boys names, and the total names in the file. Q1 and 2 tripped me up, I did not read them properly, and entered the total number of births for the girls and boys respectively. Questions 9 to 12 also resulted me in having to call a temporary halt, and write an additional method that looped over all the files from 1880 to 2014 in order to get the answers to those questions. Fortunately, method getRank came to the rescue here, doing all of the hard work!

This was a lot of work! I did "week 4" in one week, but only because I was already on leave and could focus on the mini project for the entire week. The entire course took me 6-7 weeks to complete.

I learned a lot. It was a good course, and very challenging. My greatest concern with the format you are using (80% or you don't move on - or you don't qualify), is that one can become "unstuck" as I did in week 2, but managed to get past that one.

By Pranav B

May 12, 2020

The best feature of this course is that it focuses more on doing rather than mugging up definitions and technicalities of the java language. The quizzes (each one of them) require you to answer questions based on implementing the programs described in the exercise - it's a good way to get you to actually write down and code each tiny thing without ever thinking "aah this part is too easy. I can do it quickly so I won't be coding it now." This is still very much of an introductory course and does not delve much into object-oriented concepts of programming. Most concepts of Java would be discussed in further courses (I believe). So as mentioned earlier, this course mostly deals with basic programming constructs. It helps you build big programs by adding a layer of complexity each time you revisit. It's more of a programming course than a Java course. Java is just a tool used here (which is the right way to learn programming - learn the methodologies/programming paradigms rather than the language syntax). The one star it loses is because personally I was expecting a bit more object-oriented focus here rather than an intro to programming based approach. If you are new to the world of programming - by all means, do take it, you'll enjoy this one. If you're a slightly experienced person - you might consider more in-depth/challenging courses instead.

Pro-tip: Solve each exercise and code every part sincerely and you'll make the most out of it.

By Jatinder S

Jul 7, 2020

I took this course as part of the specialization Java Programming and Software Engineering Fundamentals. The teachers are good, but the content needs a couple of changes. The first week is a basic introduction to Object Oriented Programming: functions, methods,objects,classes. As this is just a beginners course, this is not used much for the rest of the course, only methods are really used. I think that it's unnecessary and confusing to go over these complex topics so quickly in the beginning of a course like this.

Additionally, the assignments and explanations in Week 3 and 4 are not perfectly aligned. Specifically, the videos only explain accessing folders using the DirectoryResource () or FileResource() methods, in which a prompt will appear for the user to select the file. A file name can also be specified in these methods to open a file that has already been imported to the BlueJ Project. None of the videos show how to import one or multiple files to the BlueJ Project, even tough this is required in the assignments. The assignments often request opening a file simply by giving part of its name as the user input (like "2012" in the baby names program).

By Siobhan H

Oct 11, 2020

This course is really great for problem solving using Java (as the name implies). I think the problems and data sets are practical and interesting.

However, the instruction feels somewhat backwards in that I' have to do a ton of looking around for how to do something and then they demonstrate it in the video AFTER the assignment. I also think, as I've stated before, that the assignments should be divided into separate parts as separate assignments. Have parts 1-6 in one assignment feels very daunting and demotivational; not to mention, all the time estimates are much, much too low. I finished the mini project at over 200 lines of code. The amount of time estimated for the project was grossly underestimated for beginners and still quite off for professionals. It feels like a bit of a money grab in order to make the student "fall behind" their schedule.

That said, I am learning a lot and am very thankful for the information and problem sets in this course. I also enjoyed the bonus cookies video.

By Anina A

Jun 21, 2020

This course was very well made and I enjoyed it very much. Could you maybe have a look at the times that were displayed for the exercises? These never took 10min as suggested and it is quite hard to plan when you can't estimate how long it will really take you to do this exercise. I might also suggest creating runnable tests like in Harvards CS50 on to verify if the exercises were done correctly instead of just answering questions about it. Some quiz questions were valuable where as some were just to verify if the code was right and I thought it was a bit of a waste of time to do those by hand if I'm honest. I was also a bit disappointed by the forum as most users did not take the time to write valuable questions or format them in a way that makes sense and some were frankly just plain rude or too lazy to think about their problem, but that is of course not the course creators fault.

By Shum Z

May 20, 2018

The overall quality of this course is great for beginners like me.

I really like how they sequence the videos as in a problem - abstraction - pseudo code - java code way.

Yet I have some thoughts I'd like to share with you guys. The first is that I saw less-than-average discussions in the forum, especially the professors/TAs seem to be less active than other courses I have taken in the past. The other is that after passing the whole course, I would personally very much like to see a sample answer given by teaching group or one selected from the student submissions. It helped a lot to see some of the details regarding logic and style in my previously courses. As for student submission, I knew some course has built a code submission system that would automatically grade the code based on ( I assume) multiple case testings.

By Dan H

Oct 19, 2015

As usual the 4 professors(presenters) have done an excellent job. The resources, videos, assignments and quizzes are very helpful, well thought out and comprehensive. They have done an enormous amount of work.

But there seem to be problems with the import edu.duke.* due to installation problems (e.g. Windows 10).

Maybe include 3 videos like:( example from other Coursera courses e.g. R Programming)

Installing BlueJ on a Mac

Installing BlueJ on Windows

Installing Bluej on (Mac) ; including these would enable me to give a rating of 5 stars.

For the beginner programmer this would help a lot.

I know there is the Discussions forum (very helpful) and students must sweat a bit to get BlueJ to work on some messy Operating Systems but this is my comment as a Beta Tester

By Tyler C

Mar 10, 2018

Basic, foundational use of problem solving in Java. Expects you to already understand basics of programming -- if, for, variable declaration and assignment, etc. These topics are touched on, but more or less assumed that you know them already. My biggest complaint is the BlueJ environment -- while it's fine and appropriate if you have no real previous experience, if you're used to more professional programming environments / text editors, using it is a miserable experience. It does its job (handling all of the dependency and build details for you so you don't have to learn that stuff yet), but please could they incorporate a decent text editor into it. Assignments take about twice as long as they would with a more reasonable text editor.

By P1xt

Sep 30, 2020

The highlight of this course for me was the interesting programs to write at the end of each week. The "low light" is that so many of the really interesting problems relied on using Duke's course specific wrapper classes that masked the true complexity of, for instance, writing to and reading from files or manipulating images. It's a bit sad that the most interesting code I wrote uses a package not available in standard Java. It would have been a bit more interesting to have ended the class actually knowing how to solve the courses problems without a crutch package. That said, I thoroughly enjoyed the course and learned quite a bit.

The one docked star is for hiding all the interesting bits inside a course specific package.

By Joseph G

Jan 16, 2017

I really enjoyed the coursework for this class. In particular, I loved how challenging some of the assignments were. However, I do hate that I cannot submit final quiz answers without paying for the course. I also did not like how little help there seemed to be offered to some individuals on the forum regarding issues they were facing with their code (specifically with the GeneFinder project).

I took three of the courses from Michigan on working with Python and they were completely open to complete without payment (which means you opt not to get a verified certificate). I wish that this course, and the specialization that it is part of, fell into the same category.

By Omar S

Sep 11, 2018

It is a very good course, with great examples and great instructions, except I think in the first week of the syllabus. There, the exercise questions were very tough compared to the examples given in the lectures. I was stuck in that area for a long time. Too long in fact. In the end I skipped the exercise and went ahead in the course, got a better idea of how stuff was supposed to work and then came back and attempted the 1st week's questions again. I checked the discussions forum too and found that I was not the only one with this problem. So if you guys could focus a bit more on explaining Week 1, that'd be great!