Duke University
Java Programming: Arrays, Lists, and Structured Data
Duke University

Java Programming: Arrays, Lists, and Structured Data

This course is part of multiple programs.

Andrew D. Hilton
Robert Duvall
Owen Astrachan

Instructors: Andrew D. Hilton

160,152 already enrolled

Included withCoursera Plus

Gain insight into a topic and learn the fundamentals.
4.7

(3,163 reviews)

Beginner level
No prior experience required
Flexible schedule
Approx. 14 hours
Learn at your own pace
92%
Most learners liked this course
Gain insight into a topic and learn the fundamentals.
4.7

(3,163 reviews)

Beginner level
No prior experience required
Flexible schedule
Approx. 14 hours
Learn at your own pace
92%
Most learners liked this course

Details to know

Earn a career certificate

Add to your LinkedIn profile

Assessments

14 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

Placeholder

Build your subject-matter expertise

This course is available as part of
When you enroll in this course, you'll also be asked to select a specific program.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate
Placeholder
Placeholder

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV

Share it on social media and in your performance review

Placeholder

There are 5 modules in this course

Welcome to “Java Programming: Arrays, Lists, and Structured Data”! We are excited that you are starting our course to learn how to write programs in Java, one of the most popular programming languages in the world. In this introductory module, you will hear an overview of this course and be introduced to the supporting resources available.

What's included

1 video1 reading

In this module, you will learn about the basics of cryptography, the science of keeping information private and secure. You will learn about simpler cryptographic systems, which were used from the Roman Empire through the early 1900s. You will learn how to implement these ciphers, as well as how to break them. To solve these problems, you will work more with processing Strings, but also learn about arrays—a way to store an indexable sequence of elements. You will be able to: (1) combine Strings using concatenation; (2) build Strings within a Java program using StringBuilder; (3) use arrays to store and manipulate collections of data; (4) refactor your programs for improved organization using object-oriented principles; (5) and practice effective algorithm design.

What's included

21 videos5 readings4 assignments

After completing this module, you will be able (1) to program a word frequency counter to analyze any input text file, (2) to select and substitute words from a list into a document template using both ArrayList and HashMap, (3) to create new lists to use in templates, (4) to recognize brittle code, and (5) to improve code with flexible, object-oriented design. You will gain these skills in the framework of developing a randomly generated story that we call GladLibs. You may discover that bald lions change peoples’ lives, or that fluffy dinosaurs get things done in a jiffy. We hope you have fun developing your Java skills this week!

What's included

13 videos4 readings3 assignments

In this module, you will learn about how web server logs store information about visitors to a website, and you will write programs to access information like user IP address, date and time of access, and more. Using Java programs you write in this module, you will be able (1) to read information from a web server log, (2) to count the number of unique visitors to your website, and (3) to count the number of times each visitor uses your website.

What's included

15 videos4 readings4 assignments

In this module, you will develop a program to break the Vigenère Cipher, a more complex version of the Caesar Cipher. You will improve your program in three stages: first decrypting messages where you know the language and key length, then adding the capability to handle messages with unknown key length, then extending the program to handle messages in a range of possible languages. Through this project, you will be able (1) to effectively use HashSet and HashMap, (2) to expand an algorithm from solving a simpler problem to handle broader, more complex problems, and (3) to design and modify program code involving a more complex collection of classes, methods, and data.

What's included

4 videos5 readings3 assignments

Instructors

Instructor ratings
4.6 (381 ratings)
Andrew D. Hilton
Duke University
18 Courses1,066,239 learners
Robert Duvall
Duke University
8 Courses860,673 learners

Offered by

Duke University

Recommended if you're interested in Software Development

Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

Showing 3 of 3163

4.7

3,163 reviews

  • 5 stars

    75.15%

  • 4 stars

    19.31%

  • 3 stars

    3.19%

  • 2 stars

    0.91%

  • 1 star

    1.42%

DC
5

Reviewed on Aug 1, 2020

JA
4

Reviewed on Sep 4, 2020

WS
5

Reviewed on Feb 23, 2019

New to Software Development? Start here.

Placeholder

Open new doors with Coursera Plus

Unlimited access to 7,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions