Chevron Left
Back to Java Programming: Arrays, Lists, and Structured Data

Learner Reviews & Feedback for Java Programming: Arrays, Lists, and Structured Data by Duke University

2,550 ratings
458 reviews

About the Course

Build on the software engineering skills you learned in “Java Programming: Solving Problems with Software” by learning new data structures. Use these data structures to build more complex programs that use Java’s object-oriented features. At the end of the course you will write an encryption program and a program to break your encryption algorithm. After completing this course, you will be able to: 1. Read and write data from/to files; 2. Solve problems involving data files; 3. Perform quantitative analyses of data (e.g., finding maximums, minimums, averages); 4. Store and manipulate data in an array or ArrayList; 5. Combine multiple classes to solve larger problems; 6. Use iterables and collections (including maps) in Java....

Top reviews

Jul 19, 2018

The course was pretty challenging (and occasionally frustrating) for a novice programmer, but doable.\n\nI enjoyed the course, and came away with a greater understanding of computers and programming.

Mar 29, 2017

Good and practical training approach to solve real worlds problems. Assignments and quizzes are quite challenging and interesting. Greatly motivates us towards programming and problem solving skills.

Filter by:

1 - 25 of 451 Reviews for Java Programming: Arrays, Lists, and Structured Data

By L.R D G B

Jan 10, 2020

Actually, before I start this course I had not a good idea about OOP concept such as constructors, I have fair confidence about that. thank you duke university making such an arrangement.

By Labib M R

Dec 7, 2015

Despite having some tedious assignments, this course impressed me. It taught me the new topics very well. I liked working on the last few assignments. I would recommend it to learners looking for a good course to learn Java and it's applications.

By 蔡鸿斌

Nov 15, 2018

Great task for beginner.

By Ong J R

Apr 19, 2019

Good intro to ArrayLists, HashMaps and HashSets, but assignments are very repetitive.

By Chris T

Jul 20, 2018

The course was pretty challenging (and occasionally frustrating) for a novice programmer, but doable.

I enjoyed the course, and came away with a greater understanding of computers and programming.

By Γεώργιος Κ

Mar 23, 2020

It's not the perfect course (I would rate it with 4.5) but it is one of the best courses you can have that reassures that certificate corresponds to your learning. If you want truly to learn, be familiar with java's simple processes, obtain some computational ability and not just add a certificate to your resume then this course is for you.

The weak part of this course is that the IDE proposed is not so easy to use and you will not use it again after this course. It may also stall your programming. (Most of the time it was so slow to test some things and simple commands I had to open jshell also.)

This course has simple but interesting datasets, wisely chosen for newbies in programming. The challenges given are simple yet capable to add new skills to the student. The student won't have to search the net to find extra information. Everything is in the lectures and watching the lectures and probably some testing will be more than enough to complete the tasks and simultaneously obtain the skill. The challenges are many, though sometimes tiring, and practice ungraded questions make sure that the graded ones will be answered.

If you already know java and seek specialty, this course is not for you. If you want to learn java as a first or a second programming language probably this could be an ideal course.

By Arnav P

Feb 29, 2020


By Pranav B

May 20, 2020

So far the best course in the specialization. Thoroughly enjoyed doing all the programming assignments. The last project was fun because it felt like finally applying the principles you learn and building something out of it.

I don't think there's much to complain about with this course. The only one that the object-oriented nature of Java is underutilized so far. Although I gotta say this course takes a big leap from its predecessor with respect to OOP. The multiple classes and their functioning together gives you a nice taste of how OOP works at a high level. Of course, there's much more for OOP to offer that isn't covered here (inheritance, polymorphism, overloading, static methods, error & exception handling in Java to name a few).

One of the good courses I've encountered for learning programming paradigms. Personally, unlike any other course I take, I did not have to make handwritten notes for this one. The instructors were clear and concise and thus there was no need to write down. Most importantly, this is because you *really* learn by doing so there's no need to pen down everything. In case you forget a method, you've always got the documentation to refer to!

On a final note, take this course, you will enjoy it.

By Jade F

Dec 16, 2018

The subject and assignment choices in the course are very practical and enjoyable - the emphasis on cryptography provides a lot of interesting discovery and by the end of the course you're easily cracking very complex encrypted messages. I thought that the log parsing exercises had a lot of real world usefulness for me personally as well.

The course will train you to quickly conceptualize how to solve problems by writing methods that fit assignment requirements and get you on your way to being able to talk about problem solving the way they do at job interviews. I highly recommend this java course - it felt like it had a lot of value all the way through.

By Chitraank S

May 28, 2020

Just like the previous course of this specialization this course too is the best example to learn through the implementation but I won't suggest a beginner start his journey all the way through this course but to be clear with all the basics.

I got the advantage of having read such implementations all it took to try the code and modify it as per demand.

By Qing O

Sep 3, 2016

Very useful course! But it is not challenging enough. My advice: more challenging assignments to be given, and do not give too many detailed steps or instructions in the assignments. Let students themselves to solve the algorithms. Overall, this course is very useful and I like the lectures of Robert the most! His logic is extremely well explained.

By Shayan A B

Jul 11, 2016

This course was very hard but the idea of teaching Java Programming with the application of cryptography was a magnificent one. Cryptography kept me motivated to complete the course as it is an interesting study. Hats off to the teachers for organizing an interesting course and for teaching it really well.

By Natalya S

Apr 26, 2020

I liked the cource: the course and assignmend are well structured. The assignments theirselves are very clear, the steps are easy to follow. I understood how can I to use different data structures, and the use of Lists and Arrays. I liked the Log module less, because I had to many questions like if I do not know where to get the log files itselves, will this module be useful?

I like the way the video lessons are organized - that I can see the teacher on the screen. In this way it seems more personalized as if I am on f2f lesson.

I'm looking forwards to attending the next Java cource of Duke University.

It would be great if there is some Java app development cource as well and outside of BlueJ)

By William G

Sep 30, 2020

I'm overwhelmed by how well and intelligently this course is structured and designed. It strikes a perfect balance between suggesting how to implement algorithms, providing a lot to go by so that one can easily get started, but without giving away too much, so that one is forced to put a bit of reflection into the coding.

As always, I wish there was some kind of evaluation of the script such as is found in Princeton's free courses e.g. Algorithms I & II and "Computer Science: Programming with a Purpose". Nevertheless, I feel I am learning so much that I can accept that my programming will get polished over time.

By Yang Y

Apr 2, 2017

I so much enjoyed this java tutorial class. The design of each clip/module is very humane and best for the learning from scratch. I have finished this class and the one after it (array list one). I feel very confident about learning Java language and I am heading for the next one (software design principal). I plan to finish all of the 5 courses and then buy the certificate so I will be sure I am not waste my tuition. I am leaving the 1st class (CSS, html) for the last one before capstone because it seems not so relevant to SDE training but more frontend/UI.

By Anand R

Oct 17, 2017

Excellent course. Fantastic assignments and projects. The instructors do a great job of motivating the use of data structures. They also introduce object oriented programming in the process. There are a LOT of subtle programming concepts you will learn, for example, composing large complicated programs using small functions/modules, documenting a workflow, identifying when to use which data structure, etc. I highly recommend this course and this specialization. (I watched EVERY video, and completed EVERY assignment, mini-project and quiz in this course.)

By Abhishek A

Sep 12, 2020

The Course Was Fabulous and You begin to realise the difficulty increases with increase in understanding. The Support From Duke University is Massive and understanding the course, finding is resources is much easy. You get stuck at many a times where in pdf lines are missing or language is poor but that didn't affect the quality. The Reason for not giving 4 stars was the quality of the material and self-confidence development you get after solving questions is high because I guess there wasn't any hard work other than editing.

By Talgatbek K

Jan 25, 2019

I really appreciated for the effort to make this course possible, I have learnt a lot and I like to think I am becoming better java programmer. I think I might need to do a lot more exercise to get better. I found quite difficult especially Gladlib and Vigenere Breaker. I work as an automation engineer and I write a code every day but this was good challenging tasks and I enjoyed working on it. I have had a lot of sleepless night where I was thinking how to solve the specific issue. Thank you so much.


Aug 13, 2020

Excelente curso. Aprendí a usar de forma eficiente datos estructurados usando listas y matrices. Es necesario identificar los problemas y resolverlos de la forma mas adecuada, de esta forma se mejora el rendimiento del software o programas y se obtiene una mejor experiencia para el usuario. El contenido del curso es muy práctico y no deja atrás la parte teórica que por supuesto es muy importante. A pesar que ya se empiezan a manejar términos un poco mas avanzados, el flujo del curso es genial.

By Edward F

Jun 10, 2017

I took the full Specialization, so I'm going write the same review for each of the 5 modules.

This is a great course, but it's not for beginners. They ask you to do a lot of coding, which is great since that's the only way to really gain proficiency. And the code they ask you to write is, in my opinion, pretty hard for someone new to coding. My hat's off to someone new to programming who makes it through the five modules.

So, thanks to Duke for putting together a great course. It was very good.

By Thong N

Sep 5, 2020

The course covers many interested and realistic topics that can help me learn how to apply java programming language in the real world. The instructors explain java concepts to make me easily followed. The projects have several challenges and critical thinking to solve the problems, but all projects' instruction is clear and easy to follow. I recommend this course to students or whoever like java programming language.

By Sridhar N S

May 2, 2020

I am a person with a good programming background, as in, my fundamentals are pretty strong. I've always been looking for opportunities to learn more and more in every programming language I can. And trust me when I say this guys, this course offers y'all more then needed. Opt for the specialization this course comes under, and see for yourselves. #honestReviews

By Grace N

Feb 13, 2020

There is no high quite like the high you get from debugging your program, and voila. Extremely challenging, but also just as much rewarding. Highly recommended. Just breathe, break down the problem into smaller smaller much smaller components, have the overall picture in mind (the 7-step they pound you on), and take advantage of the debugger. Happy coding!

By Joseph G

Feb 27, 2017

The course itself is well put together and contains the perfect amount of challenge for students who have completed the previous Duke Java courses. I have come to enjoy the odd quirkiness of the instructors and their videos, as they seem to embrace the fact that they must remain a bit silly in order to effectively engage students in this format.

By Quan Z

Apr 30, 2017

Pros: The tutors are well prepared for the course! I can see their enthusiasm!

The content is very online-learning oriented.

Cons: As a person who is already familiar with programming, the material develops a little too slowly for me.

Overall, I think this is a great start for Java beginners, especially for those new to programming.