icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100

icon
Course Description

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.

icon
Instructor Details

placeholder

Andrew Hilton is an Associate Professor of the Practice in the Department of Electrical and Computer Engineering in the Pratt School of Engineering at Duke University. He has taught at Duke since 2012, and prior to that he was an advisory engineer at IBM. Among the courses Professor Hilton teaches at Duke is ECE 551, an intensive introduction to programming course that successfully prepares graduate students with no programming experience to learn programming and go on to complete more advanced programming courses. In recognition for excellence in teaching in the Pratt School of Engineering at Duke, Professor Hilton received the Klein Family Distinguished Teaching Award in 2015. Professor Hilton holds a PhD in Computer Science from the University of Pennsylvania.

icon
Reviews

4.6

250 total reviews

5 star 4 star 3 star 2 star 1 star
% Complete
% Complete
% Complete
% Complete
% Complete

Week 2 was wayyy too difficult but everything else was just right.

By Stanislav on 20-Dec-17

It was good

By Upamanyu S on 11-Nov-17

One of the most **practical** Java programming courses that I've ever taken.Thank you so much.

By Wong W S F on 22-Mar-18

6th question in final quiz is really hard for non native english speakers. Please avoid questions with multiple selection and with lots of text.

By Tim S on 4-Sep-17

Insufficient detail paid to how syntax works inside programming exercises.

By Jyotman S on 6-Aug-18

I found some of the questions quite challenging as opposed to the programming concepts. The questions specifically in the 4th week Quiz need to be reworded as they are a confusing bunch. But thanks for making a great content and giving me the right amount of information and domain knowledge to understand some important Java concepts.

By aashrai r on 25-Nov-18

The final quiz has 3 difficult questions for which I could not find a good answer. Luckily my guesses were good enough.

By saket9450 on 26-Nov-18

Some concepts used in Week 2 were introduced/ explained in more detail in Week 3 so I struggled in Week 2 but Week 3 was a breeze.

By Volodymyr on 16-Nov-19

Really good course with engaging projects.

By saket9450 on 1-Nov-18

Finished on 11/01/2018

By Volodymyr on 21-Oct-18

In this modern world this type of courses are very important. If a student takes it seriously and do every activity by themselves then they will definitely learn skills one after another . I think if I will be persistent then definitely this courser will add much more value.

By Bharat S on 23-Jul-18

it is an excellent course, with very good explanation, and very interesting exercises.