To support our site, Class Central may be compensated by some course providers.

  • Provider Coursera
  • Subject Programming Languages
  • $ Cost Free Online Course (Audit)
  • Session In progress
  • Language English
  • Certificate Paid Certificate Available
  • Start Date
  • Duration 4 weeks long

Taken this course? Share your experience with other students. Write review

Overview

Sign up to Coursera courses for free Learn how

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.

Syllabus

Welcome
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.

Cryptography: Keeping Information Secret
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.

GladLibs: Stories from Templates
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!

Web Server Logs: From Logs to Visits
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.

MiniProject: Vigenère Cipher
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.

Taught by

Andrew D. Hilton, Robert Duvall, Owen Astrachan and Susan H. Rodger

Help Center

Most commonly asked questions about Coursera Coursera

Reviews for Coursera's Java Programming: Arrays, Lists, and Structured Data
4.5 Based on 6 reviews

  • 5 stars 50%
  • 4 stars 50%
  • 3 star 0%
  • 2 star 0%
  • 1 star 0%

Did you take this course? Share your experience with other students.

Write a review
  • 1
Krisztian T
4.0 2 months ago
by Krisztian completed this course, spending 8 hours a week on it and found the course difficulty to be medium.
A good beginner course with mostly focusing on manipulating Strings. During the course the usage of ArrayList and HashMap are introduced. The topic of assignments and project are funny but in contrast to their previous course in the specialization are not close to real-world problems.
Was this review helpful to you? Yes
Rayhaan P
5.0 2 years ago
by Rayhaan completed this course.
Was this review helpful to you? Yes
Harsh B
4.0 3 years ago
by Harsh completed this course.
2 people found
this review helpful
Was this review helpful to you? Yes
Charlie S
4.0 3 years ago
by Charlie completed this course.
2 people found
this review helpful
Was this review helpful to you? Yes
Aayush G
5.0 2 years ago
by Aayush completed this course.
Was this review helpful to you? Yes
Abhilash V
5.0 2 years ago
by Abhilash completed this course.
Was this review helpful to you? Yes
  • 1

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free

Never stop learning Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.