Chevron Left
Back to Java Programming: Solving Problems with Software

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

4.6
stars
7,850 ratings

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

FA

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.

AS

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:

1151 - 1175 of 1,613 Reviews for Java Programming: Solving Problems with Software

By Constantin M

Jul 27, 2017

G

By Rengar W

Aug 1, 2016

g

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 edx.org 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 Monika K

Nov 15, 2022

course is very good. i learn most of the things from this course also i get a strong knowledge from this course. i learn more basic concepts from this course. my concept building formulas also make more strong from this course.

After understanding how to think like a programmer and some foundation concepts you will start learning the Java language like the loops, functions, variables, creating class, and much more stuff as well as building some simple programs.

More than 200K students have joined this course to learn Java programming and you can also join this particular course for free but you need to pay for certification.

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!

By Mohamed Y

Jul 2, 2020

It's awesome course with wonderful instructors. i learned a lot about java basics here and became more confident to take it to the next step. However as every thing can't be 100% perfect the course has some drawbacks IMHO, such as the quizzes that sometimes annoying to do but it's okay. what's not okay is the IDE bluej. this thing is just the worst. i can understand that the instructors want to train the students to write the code and debug it from scratch but it's just a pure agony.

overall, it's awesome if you have experience in other programming languages but if not stay away for your own sake :D.

By Will C

Jun 6, 2020

There are some errors in the week 2 programming assignment - particularly where it asks for Strings where it really should say genes. I was able to figure this out, but it required rewriting a bunch of code. This is a minor irritation.

What is far worse is the amount of cheating going on in the discussion forums. Multiple students are posting all of the answers to the quizzes, and little to no moderation of these posts takes place. I have flagged them when I see them and no action is being taken. This is really disgraceful in what is otherwise a very nice course.

By Γεώργιος Κ

May 24, 2020

It is a useful course that can guide you successfully through Java if you have minimal previous experience. Assignments are good and interesting and also educational. The environment used (BlueJ) is not making your life easier and probably will not be used for professional purposes. That also makes all these libraries built on this environment not useful. The jshell should be used as an introductory IDE and perhaps NetBeans should be also mentioned. I would rate with something more than 4 stars but definitely not 5.

By Nguyễn T Đ

Jan 22, 2022

I have taken quite a few Coursera courses with some higher level course but this course seems quite lengthy for me although the content is quite simple (maybe because I've learnt Java before and I took this course just to pick up my knowledge about Java again) and one thing I don't like about this course is the use of BlueJ (though it's not too difficult to use, I think it's quite impractical in real life). Overall, this course provide useful knowledge for beginners of Java with some very practical use cases.

By Suryaa

Jun 25, 2020

I wish we did't have to use the packages custom made by Duke, and that some of the assignments were a bit more articulate in what they exactly expected of us, and probably change the time needed it would to take to finish them because it took so much more than the said duration. But otherwise this is an amazing course which made sure that you also went outside it to explore while making sure its interesting enough,which made it so that the course was at level higher than mentioned.

By Jordan B

Nov 4, 2020

This course is fantastic in the sense that you get a lot of hands on experience with interesting projects that have real world uses. My only criticism is that sometimes they do not explain nuances of programming that beginners may struggle with; all of the information is there, but it may take some self guided exploration. If I were to tweak this course, I would add more reading sections that explicitly say all of the things covered in the video. Overall, very satisfied!

By Aarya P

Jul 25, 2020

A very nice basic java course. The best parts are the instructors are really cool and explain topics easily. They best part was they literally made "Java Cookies " hahahaha;-). However some topics like classes, modifiers and constructors and stuff like that could have needed more explanation. For someone coming from a completely new background could have some amount of difficulty in learning the first few concepts.Otherwise really recommended.

By Wojciech G

Feb 28, 2023

Well-structured and informative course with very nice teaching staff. Although described as beginner-friendly, I would have found it very challenging without prior (basic) experience in programming. A little complaint would be also the organization of the material - it wasn't always clear to me what exactly should I look at/download from the associated course website. That being said, a solid and valuable intro to Java programming!

By HYUN C

Jan 6, 2021

Pros: 1.It introduces Java concepts on appropriate level for beginners. 2. It introduces the concept of simple library and encourages us to consult documentation to learn more about it. 3. It focuses on solving problem rather than getting stuck in the syntax. Cons: 1. It doesn't provide course material. It would be perfect if slides with all summarized syntax and concepts are provided in cheat sheet form.

By Alexey C

Mar 24, 2018

Good challenges, good emphasis on relevant knowledge, but unreasoned instructions: had to rely more on myself and make my own programming exercises between some lectures to get comfortable with new material before moving on, as well as alterate some methods for better reuse during the exercises provided.

You can learn well from here, but pay attention, and dont afraid to exercise coding when you feel to

By Bruce W

Dec 15, 2019

Overall, this course was a decent introduction to Java and many related concepts. The only noticeable downside was the choice of development environment. The BlueJ environment is very lightweight, but fails to check for simple errors (e.g. use of == instead of .equals() for string comparison). It also lacks the convenience of auto-complete for variable names that almost all other free IDEs offer.