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

3,040 ratings

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.

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


Jan 9, 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.

Filter by:

26 - 50 of 545 Reviews for Java Programming: Arrays, Lists, and Structured Data

By Connie

May 3, 2016

I liked this course, because it was very well focused on one area of Java (Data Structures) and not focused on some specific library. However, I wish they didn't rely so much on their custom classes (readers, parsers), instead they could have explained how they work, so we could learn about Java native readers, parsers. Overall, however, I am very satisfied.

By Ahmed N A

Aug 20, 2019

More frustrating than it is helpful. They skim over important topics like object-oriented programming and arrays and barely provide any helpful videos. Their assignments aren't difficult; they're just mind-numbingly annoying. The assignments give you a half-finished program and tell you to add specific methods in very specific ways. You're practically reading an instruction set and doing all the busywork without feeling like a programmer at all. This course won't teach you to think like a programmer, it'll just tell you to spend hours doing boring step-by-step tasks. None of the programs you're making feel like they're yours. Poor course all around, would skip.

By Krishna K

Jun 14, 2019

I recommend skipping this course if you have done SOME programming before. This is a LONG course just to cover concepts of Array and hashes which really should be a one or two hour lecture. It is nice that you learn some beginner cryptography though. That said, some of the assignments were unnecessarily frustrating at times and a bit too long. While I think it is a good course. It wasn't right for me. A bit too basic and assignment too long for a subject matter I had a very low level of interest in.

By Nathan S

Aug 2, 2017

Very good content, however many of the assignments are not worded very clearly and can get confusing. They take much longer than the 10 minutes the course providers allocate and as such it can be easy to get behind on the course.

However, a very good course nonetheless.

By wen c

Jul 30, 2017

videos are good and course is helpful. However, no staff working for forum, so if anyone has any problem, no staff is helping you.

By Jatin P

Jul 14, 2018

the reading part has many errors and unneccessary methods

By Joseph M T

Jun 2, 2021

This course barely touches Arrays, Lists, and Hashmaps (the only structured data they teach), and it is mainly focused on solving repetive mini projects which are very poorly taught. You must use their custom libraties and their IDE which are horrible, and most of the quizzes are just a repetitve as the mini projects.

DO NOT TAKE THIS COURSE unless you are really bored and need to practice even poorly made assignments.

By Okkes E S

Apr 25, 2018

it gets repetitive after week 2. it becomes unhelpful learning new concepts. I was expecting to learn more about important points of arrays and lists (such as erasing from an iterable, or null exceptions), than repeating similar practice for weeks.

By Amir M O

May 24, 2016

Poorly designed and explained. You do not really gain much knowledge from this course.

I would not recommend my friends and basically others to take this course. There are far better courses out there for much cheaper prices.

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 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 Alan P

Jan 4, 2023

I enjoyed the Duke portion of this specialisation very much. The programming exercises were fun, and with a level of hand-holding appropriate (in my case) to my level of skill. I enjoyed that the mistakes in the coding videos were not edited out, this itself provided much insight into common issues. Recommended.

Looking forward the UC San Diego portion of the specialisation!

By N.S. 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.

By Bijoy K B

Nov 13, 2020

A very informative course for Java. I really enjoyed learning through this course. Many topics were covered including StringBuilder, ArrayList, HashMap and HashSet. The assignments were challenging to do, and I had plenty of practice about each topic. After completing this course, I m confident in Java Programming.

By Nicolás S V

Apr 3, 2018

They love teaching, and you will get the benefit from it. You will get confidence in developing with Java by using data structures common to the language and solving really interesting problems!! It gets complex but they teach to the level they expect from you, so if you give your best you will feel rewarded :) !

By Vignesh B

Jun 18, 2021

Personally I really liked the programming assignments, it requires a through understanding of all the concepts thought in the lectures.

The lectures could have been a little more elaborate and the pace of the lectures could also been a little slow, but still one could manage it by referring to other sources.