VOOZH about

URL: https://www.coursera.org/learn/java-programming

⇱ Java Programming: Solving Problems with Software | Coursera


Java Programming: Solving Problems with Software

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Java Programming: Solving Problems with Software

This course is part of multiple programs.

411,524 already enrolled

Included with

Ask Coursera

Gain insight into a topic and learn the fundamentals.
4.6

8,073 reviews

Beginner level
No prior experience required
Flexible schedule
2 weeks at 10 hours a week
Learn at your own pace
92%
Most learners liked this course

Gain insight into a topic and learn the fundamentals.
4.6

8,073 reviews

Beginner level
No prior experience required
Flexible schedule
2 weeks at 10 hours a week
Learn at your own pace
92%
Most learners liked this course

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

There are 5 modules in this course

Learn to code in Java and improve your programming and problem-solving skills. You will learn to design algorithms as well as develop and debug programs. Using custom open-source classes, you will write programs that access and transform images, websites, and other types of data. At the end of the course you will build a program that determines the popularity of different baby names in the US over time by analyzing comma separated value (CSV) files.

After completing this course you will be able to: 1. Edit, compile, and run a Java program; 2. Use conditionals and loops in a Java program; 3. Use Java API documentation in writing programs. 4. Debug a Java program using the scientific method; 5. Write a Java method to solve a specific problem; 6. Develop a set of test cases as part of developing a program; 7. Create a class with multiple methods that work together to solve a problem; and 8. Use divide-and-conquer design techniques for a program that uses multiple methods.

Welcome to “Java Programming: Solving Problems with Software”! 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 get to meet the instructor team from Duke University and have an overview of the course. Have fun!

What's included

5 videos2 readings

5 videosTotal 12 minutes
  • Introduction to the Course3 minutes
  • Resources to Help You Succeed2 minutes
  • Tips for Learning Programming2 minutes
  • Using Forums: How to Ask for Help Effectively4 minutes
  • Object Oriented Programming with Java Specialization2 minutes
2 readingsTotal 15 minutes
  • Report a problem with the course5 minutes
  • Programming Resources10 minutes

In this module, you will learn to write and run your first Java programs, including one program that prints “Hello!” in various countries’ languages and another where you will analyze the perimeters and other information of shapes. To accomplish these tasks, you will learn the basics of Java syntax and how to design stepwise solutions with programs. By the end of this module, you will be able to: (1) Download and run BlueJ, the Java programming environment for this course; (2) Access the documentation for the Java libraries specially designed for this course; (3) Edit, compile, and run a Java program; (4) Construct methods, variables, if else statements, and for each loops in Java; and (5) Use Iterables (like DirectoryResource) to run a program that iterates over multiples lines in a document or webpage or multiple files in a directory.

What's included

17 videos9 readings5 assignments

17 videosTotal 76 minutes
  • Why Use Java?1 minute
  • Using BlueJ to Program in Java7 minutes
  • Shapes: Collections of Points2 minutes
  • Why Semantics: Motivation to Read Code1 minute
  • Variables3 minutes
  • Mathematical Operators2 minutes
  • Functions5 minutes
  • Conditionals3 minutes
  • Classes4 minutes
  • New5 minutes
  • Methods5 minutes
  • Types6 minutes
  • For Each Loops7 minutes
  • Solving Programming: A Seven Step Approach6 minutes
  • Seven Steps in Action: Developing an Algorithm8 minutes
  • Seven Steps in Action: Testing the Algorithm4 minutes
  • Seven Steps in Action: Translating to Code5 minutes
9 readingsTotal 211 minutes
  • Module Learning Outcomes10 minutes
  • Download BlueJ and Open Your First BlueJ Project10 minutes
  • Let's learn some basic Java syntax!1 minute
  • A Brief Note on Documentation10 minutes
  • About the Duke Dialogue Pilot10 minutes
  • Perimeter Assignment Introduction/Code Review45 minutes
  • Perimeter Assignment: Part One50 minutes
  • Perimeter Assignment: Part Two30 minutes
  • Perimeter Assignment: Part Three45 minutes
5 assignmentsTotal 95 minutes
  • Calculating the Perimeter of a Shape30 minutes
  • Getting Started with BlueJ10 minutes
  • Variables and Mathematical Operators10 minutes
  • Functions and Conditionals15 minutes
  • Classes, Types, and For Each Loops30 minutes

This module begins with a short presentation from Raluca Gordân, an assistant professor in Duke University’s Center for Genomic and Computational Biology, about an important problem genomics scientists encounter regularly: how to identify genes in a strand of DNA. To tackle this problem, you will need to understand strings: series of characters such as letters, digits, punctuation, etc. After learning about Java methods that work with strings, you will be able to find genes within a DNA string as well as tackle other string related problems, such as finding all of the links in a web page. By the end of this module, you will be able to: (1) Use important methods for the Java String class; (2) Use conditionals, for loops, and while loops appropriately in a Java program; (3) Find patterns in the data represented by strings to help develop the algorithm for your program; (4) Understand the importance of designing programs that keep different data processing steps separate; (5) Use the StorageResource iterable for this course to store some data for further processing; and (6) Rely on Java documentation to better understand how to use different Java packages and classes.

What's included

21 videos3 readings6 assignments1 discussion prompt

21 videosTotal 122 minutes
  • What is a String3 minutes
  • Understanding Strings3 minutes
  • Developing an Algorithm5 minutes
  • Positions in Strings8 minutes
  • Translating into Code11 minutes
  • Java Math8 minutes
  • Introduction1 minute
  • Conceptual Understanding4 minutes
  • While Loops10 minutes
  • While Loop Syntax and Semantics3 minutes
  • Coding While Loops7 minutes
  • Three Stop Codons5 minutes
  • Coding Three Stop Codons - Part I8 minutes
  • Coding Three Stop Codons - Part II5 minutes
  • Logical And / Or8 minutes
  • Coding And / Or7 minutes
  • Finding Multiple Genes5 minutes
  • Translating to Code8 minutes
  • Separation of Concerns5 minutes
  • StorageResource Class4 minutes
  • Coding StorageResource Class4 minutes
3 readingsTotal 30 minutes
  • Programming Exercise: Finding a Gene and Web Links10 minutes
  • Programming Exercise: Finding Many Genes10 minutes
  • Programming Exercise: Storing All Genes10 minutes
6 assignmentsTotal 180 minutes
  • Strings in Java30 minutes
  • Finding a Gene in DNA30 minutes
  • Finding All Genes in DNA30 minutes
  • Debugging: Part 130 minutes
  • Debugging: Part 230 minutes
  • Using StorageResource30 minutes
1 discussion promptTotal 10 minutes
  • Debugging First Steps10 minutes

A common format for storing tabular data (any data organized into columns and rows) is in comma separated values (CSV) files. In this module, you will learn how to analyze and manipulate data from multiple CSV data files using a powerful open-source software package: Apache Commons CSV. Using this library will empower you to solve problems that could prove too complex to solve with a spreadsheet. By the end of this module, you will be able to: (1) Use the open-source Apache Commons CSV package in your own Java programs; (2) Access data from one or many CSV files using Java; (3) Convert strings into numbers; (4) Understand how to use “null” in Java programs (when you want to represent “nothing”); (5) Devise an algorithm (and implement in Java) to answer questions about CSV data; and (6) Analyze CSV data across multiple CSV files (for example, find maximums, minimums, averages, and other simple statistical results).

What's included

14 videos3 readings3 assignments

14 videosTotal 56 minutes
  • CSV Data: Comma Separated Values3 minutes
  • Using CSV Libraries7 minutes
  • Which Countries Export...? Developing an Algorithm4 minutes
  • Which Countries Export...? Translating into Code5 minutes
  • CSVExport: Summary1 minute
  • Hottest Day in a Year: Comma Separated Values2 minutes
  • Converting Strings to Numbers4 minutes
  • Maximum Temperature: Developing an Algorithm5 minutes
  • Java for Nothing—null: When You Don't Have an Object4 minutes
  • Maximum Temperature: Translating into Code5 minutes
  • Maximum Temperature: Testing Code4 minutes
  • Maximum Temperature from Multiple Datasets6 minutes
  • Maximum Temperature Refactored4 minutes
  • CSVMax: Summary1 minute
3 readingsTotal 30 minutes
  • Module Learning Outcomes10 minutes
  • Programming Exercise: Parsing Export Data10 minutes
  • Programming Exercise: Parsing Weather Data10 minutes
3 assignmentsTotal 90 minutes
  • CSV Files and Basic Statistics in Java30 minutes
  • Which Countries Export...? 30 minutes
  • Weather Data30 minutes

This module wraps up the course with a mini project that ties together the different practices, skills, and libraries you have gained across the course! Using data on the popularity of different baby names in the United States from the past several decades, you will be able to compare different names’ popularity over time. While the data we have collected for this course is from the United States, we welcome you to share data from other countries in the course discussion forums. Good luck with the mini project!

What's included

9 videos4 readings2 assignments

9 videosTotal 47 minutes
  • Baby Names MiniProject: Overview5 minutes
  • Baby Names MiniProject: Data Overview7 minutes
  • Baby Names MiniProject: Total Births8 minutes
  • Batch Grayscale: Converting Many Files3 minutes
  • Grayscale Algorithm: Seven Step Approach4 minutes
  • Image Iterable in BlueJ: Grayscale6 minutes
  • Batch Processing Grayscale4 minutes
  • Saving Images with New Names11 minutes
  • Batch Grayscale Summary: Converting Many Files1 minute
4 readingsTotal 40 minutes
  • MiniProject Exercise Guide10 minutes
  • Extend Your Program10 minutes
  • Programming Exercise: Batch Grayscale and Image Inversion10 minutes
  • Share your learning experience10 minutes
2 assignmentsTotal 60 minutes
  • Baby Names 30 minutes
  • Batch Grayscale Images30 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructors

Instructor ratings
4.6 (1,513 ratings)
Duke University
8 Courses913,134 learners
Duke University
8 Courses913,134 learners

Explore more from Software Development

Why people choose Coursera for their career

👁 Image

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."
👁 Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
👁 Image

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."
👁 Image

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

  • 5 stars

    72.38%

  • 4 stars

    19.27%

  • 3 stars

    4.01%

  • 2 stars

    1.28%

  • 1 star

    3.04%

Showing 3 of 8073

JS
·

Reviewed on May 18, 2019

Really practical course content with great tutorials. The programming assignments are fun and challenging and deal with real world data and problems which makes the course all the more useful!

HB
·

Reviewed on Apr 24, 2021

The course was well structured but I feel the content could have incorporated more concepts. I feel like there's so much basic JAVA that's not covered. But otherwise the teachers did a great job.

JT
·

Reviewed on Feb 25, 2019

A basic practice approach for solving problems with a 7step formula for any kind of problem set, for any kind of programming language you use. A very basic approach to JAVA syntax and semantics.

Frequently asked questions

No. Completion of a Coursera course does not earn you academic credit from Duke; therefore, Duke is not able to provide you with a university transcript. However, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,