S
Coursera logo
Log In
S
Duke University
Java Programming: Solving Problems with Software
  • About
  • Outcomes
  • Modules
  • Testimonials
  • Reviews
  • Recommendations
  1. Computer Science
  2. Software Development
Duke University

Java Programming: Solving Problems with Software

This course is part of multiple programs.

This course is part of multiple programs

Object Oriented Programming in Java Specialization
Java Programming and Software Engineering Fundamentals Specialization
Owen Astrachan
Robert Duvall
Andrew D. Hilton

Instructors: Owen Astrachan

Instructors

Instructor ratings

We asked all learners to give feedback on our instructors based on the quality of their teaching style.

4.6 (1,500 ratings)
Owen Astrachan
Owen Astrachan
Duke University
8 Courses•896,766 learners
Robert Duvall
Robert Duvall
Duke University
8 Courses•896,766 learners
Andrew D. Hilton
Andrew D. Hilton
Duke University
19 Courses•1,117,753 learners
Susan H. Rodger
Susan H. Rodger
Duke University
10 Courses•917,464 learners

Access provided by SRM Institute of Science and Technology

403,783 already enrolled

5 modules
Gain insight into a topic and learn the fundamentals.
4.6

(8,039 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

5 modules
Gain insight into a topic and learn the fundamentals.
4.6

(8,039 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
  • About
  • Outcomes
  • Modules
  • Testimonials
  • Reviews
  • Recommendations

Skills you'll gain

  • Problem Solving
  • Debugging
  • Data Import/Export
  • Software Design
  • Statistical Analysis
  • Data Analysis
  • Algorithms
  • Data Manipulation
  • Integrated Development Environments
  • Computer Programming
  • Software Testing
  • Object Oriented Programming (OOP)
  • Java Programming
  • Java

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

16 assignments

Taught in English

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

Learn more about Coursera for Business
 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

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 videos•Total 12 minutes
  • Introduction to the Course•2 minutes
  • Resources to Help You Succeed•1 minute
  • Tips for Learning Programming•1 minute
  • Using Forums: How to Ask for Help Effectively•3 minutes
  • Object Oriented Programming with Java Specialization•2 minutes
2 readings•Total 15 minutes
  • Report a problem with the course•5 minutes
  • Programming Resources•10 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 videos10 readings5 assignments1 plugin

17 videos•Total 76 minutes
  • Why Use Java?•1 minute
  • Using BlueJ to Program in Java•6 minutes
  • Shapes: Collections of Points•2 minutes
  • Why Semantics: Motivation to Read Code•1 minute
  • Variables•2 minutes
  • Mathematical Operators•2 minutes
  • Functions•4 minutes
  • Conditionals•3 minutes
  • Classes•4 minutes
  • New•4 minutes
  • Methods•5 minutes
  • Types•5 minutes
  • For Each Loops•7 minutes
  • Solving Programming: A Seven Step Approach•6 minutes
  • Seven Steps in Action: Developing an Algorithm•7 minutes
  • Seven Steps in Action: Testing the Algorithm•4 minutes
  • Seven Steps in Action: Translating to Code•5 minutes
10 readings•Total 221 minutes
  • Module Learning Outcomes•10 minutes
  • Download BlueJ and Open Your First BlueJ Project•10 minutes
  • Let's learn some basic Java syntax!•1 minute
  • A Brief Note on Documentation•10 minutes
  • About the Duke Dialogue Pilot•10 minutes
  • Give Us Your Feedback on Dialogue!•10 minutes
  • Perimeter Assignment Introduction/Code Review•45 minutes
  • Perimeter Assignment: Part One•50 minutes
  • Perimeter Assignment: Part Two•30 minutes
  • Perimeter Assignment: Part Three•45 minutes
5 assignments•Total 95 minutes
  • Getting Started with BlueJ•10 minutes
  • Variables and Mathematical Operators•10 minutes
  • Functions and Conditionals•15 minutes
  • Classes, Types, and For Each Loops•30 minutes
  • Calculating the Perimeter of a Shape•30 minutes
1 plugin•Total 15 minutes
  • Put the First Four Solving Programming Problem Steps into Action•15 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 videos•Total 121 minutes
  • What is a String•2 minutes
  • Understanding Strings•3 minutes
  • Developing an Algorithm•5 minutes
  • Positions in Strings•8 minutes
  • Translating into Code•11 minutes
  • Java Math•8 minutes
  • Introduction•0 minutes
  • Conceptual Understanding•4 minutes
  • While Loops•9 minutes
  • While Loop Syntax and Semantics•3 minutes
  • Coding While Loops•6 minutes
  • Three Stop Codons•5 minutes
  • Coding Three Stop Codons - Part I•7 minutes
  • Coding Three Stop Codons - Part II•4 minutes
  • Logical And / Or•8 minutes
  • Coding And / Or•6 minutes
  • Finding Multiple Genes•5 minutes
  • Translating to Code•8 minutes
  • Separation of Concerns•5 minutes
  • StorageResource Class•3 minutes
  • Coding StorageResource Class•4 minutes
3 readings•Total 30 minutes
  • Programming Exercise: Finding a Gene and Web Links•10 minutes
  • Programming Exercise: Finding Many Genes•10 minutes
  • Programming Exercise: Storing All Genes•10 minutes
6 assignments•Total 180 minutes
  • Finding a Gene in DNA•30 minutes
  • Finding All Genes in DNA•30 minutes
  • Debugging: Part 1•30 minutes
  • Debugging: Part 2•30 minutes
  • Using StorageResource•30 minutes
  • Strings in Java•30 minutes
1 discussion prompt•Total 10 minutes
  • Debugging First Steps•10 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 videos•Total 55 minutes
  • CSV Data: Comma Separated Values•2 minutes
  • Using CSV Libraries•7 minutes
  • Which Countries Export...? Developing an Algorithm•4 minutes
  • Which Countries Export...? Translating into Code•5 minutes
  • CSVExport: Summary•0 minutes
  • Hottest Day in a Year: Comma Separated Values•2 minutes
  • Converting Strings to Numbers•4 minutes
  • Maximum Temperature: Developing an Algorithm•5 minutes
  • Java for Nothing—null: When You Don't Have an Object•4 minutes
  • Maximum Temperature: Translating into Code•4 minutes
  • Maximum Temperature: Testing Code•3 minutes
  • Maximum Temperature from Multiple Datasets•5 minutes
  • Maximum Temperature Refactored•4 minutes
  • CSVMax: Summary•0 minutes
3 readings•Total 30 minutes
  • Module Learning Outcomes•10 minutes
  • Programming Exercise: Parsing Export Data•10 minutes
  • Programming Exercise: Parsing Weather Data•10 minutes
3 assignments•Total 90 minutes
  • Which Countries Export...? •30 minutes
  • Weather Data•30 minutes
  • CSV Files and Basic Statistics in Java•30 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 videos•Total 47 minutes
  • Baby Names MiniProject: Overview•4 minutes
  • Baby Names MiniProject: Data Overview•6 minutes
  • Baby Names MiniProject: Total Births•7 minutes
  • Batch Grayscale: Converting Many Files•2 minutes
  • Grayscale Algorithm: Seven Step Approach•4 minutes
  • Image Iterable in BlueJ: Grayscale•5 minutes
  • Batch Processing Grayscale•3 minutes
  • Saving Images with New Names•11 minutes
  • Batch Grayscale Summary: Converting Many Files•1 minute
4 readings•Total 40 minutes
  • MiniProject Exercise Guide•10 minutes
  • Extend Your Program•10 minutes
  • Programming Exercise: Batch Grayscale and Image Inversion•10 minutes
  • Share your learning experience•10 minutes
2 assignments•Total 60 minutes
  • Baby Names •30 minutes
  • Batch Grayscale Images•30 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

Instructor ratings

We asked all learners to give feedback on our instructors based on the quality of their teaching style.

4.6 (1,500 ratings)
Owen Astrachan
Owen Astrachan
Duke University
8 Courses•896,766 learners
Robert Duvall
Robert Duvall
Duke University
8 Courses•896,766 learners

Instructors

Instructor ratings

We asked all learners to give feedback on our instructors based on the quality of their teaching style.

4.6 (1,500 ratings)
Owen Astrachan
Owen Astrachan
Duke University
8 Courses•896,766 learners
Robert Duvall
Robert Duvall
Duke University
8 Courses•896,766 learners
Andrew D. Hilton
Andrew D. Hilton
Duke University
19 Courses•1,117,753 learners
Susan H. Rodger
Susan H. Rodger
Duke University
10 Courses•917,464 learners

Offered by

Duke University

Offered by

Duke University

Duke University has about 13,000 undergraduate and graduate students and a world-class faculty helping to expand the frontiers of knowledge. The university has a strong commitment to applying knowledge in service to society, both near its North Carolina campus and around the world.

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

4.6

8,039 reviews

  • 5 stars

    72.35%

  • 4 stars

    19.32%

  • 3 stars

    4.02%

  • 2 stars

    1.29%

  • 1 star

    2.99%

Showing 3 of 8039

S
SO
5

Reviewed on Jul 11, 2022

This course helps to develop strong problem solving skills which is an essential tool in the your journey to becoming a Java programmer. i would recomment this course to any newbie learning JAVA

J
JS
5

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!

C
CC
5

Reviewed on Mar 28, 2018

Great course, it does help to have some background knowledge in another language but it is doable without any. goes through some fun projects but also some work usable items such as CSV parsing.

View more reviews

Explore more from Computer Science

  • D

    Duke University

    Java Programming: Principles of Software Design

    Course

  • A

    Amazon

    Programming with Java

    Course

  • B

    Board Infinity

    Fundamentals of Java Programming

    Course

  • I

    IBM

    Java Programming for Beginners

    Course

Coursera Plus

Open new doors with Coursera Plus

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

Learn more

Advance your career with an online degree

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

Explore degrees

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

Upskill your employees to excel in the digital economy

Learn more

Coursera Footer

Skills

  • Artificial Intelligence (AI)
  • Cybersecurity
  • Data Analytics
  • Digital Marketing
  • English Speaking
  • Generative AI (GenAI)
  • Microsoft Excel
  • Microsoft Power BI
  • Project Management
  • Python

Certificates & Programs

  • Google Cybersecurity Certificate
  • Google Data Analytics Certificate
  • Google IT Support Certificate
  • Google Project Management Certificate
  • Google UX Design Certificate
  • IBM Data Analyst Certificate
  • IBM Data Science Certificate
  • Machine Learning Certificate
  • Microsoft Power BI Data Analyst Certificate
  • UI / UX Design Certificate

Industries & Careers

  • Business
  • Computer Science
  • Data Science
  • Education & Teaching
  • Engineering
  • Finance
  • Healthcare
  • Human Resources (HR)
  • Information Technology (IT)
  • Marketing

Career Resources

  • Career Aptitude Test
  • Examples of Strengths and Weaknesses for Job Interviews
  • High-Income Skills to Learn
  • How Does Cryptocurrency Work?
  • How to Highlight Duplicates in Google Sheets
  • How to Learn Artificial Intelligence
  • Popular Cybersecurity Certifications
  • Preparing for the PMP Certification
  • Signs You Will Get the Job After an Interview
  • What Is Artificial Intelligence?

Coursera

  • About
  • What We Offer
  • Leadership
  • Careers
  • Catalog
  • Coursera Plus
  • Professional Certificates
  • MasterTrack® Certificates
  • Degrees
  • For Enterprise
  • For Government
  • For Campus
  • Become a Partner
  • Social Impact
  • Free Courses
  • ECTS Credit Recommendations

Community

  • Learners
  • Partners
  • Beta Testers
  • Blog
  • The Coursera Podcast
  • Tech Blog

More

  • Press
  • Investors
  • Terms
  • Privacy
  • Help
  • Accessibility
  • Contact
  • Articles
  • Directory
  • Affiliates
  • Modern Slavery Statement
  • Do Not Sell/Share
Learn Anywhere
Download on the App Store
Get it on Google Play
Logo of Certified B Corporation
© 2025 Coursera Inc. All rights reserved.
  • Coursera Facebook
  • Coursera Linkedin
  • Coursera Twitter
  • Coursera YouTube
  • Coursera Instagram
  • Coursera TikTok
Coursera

Welcome back

​
Your password is hidden
​

New to Coursera?

Having trouble logging in? Learner help center

This site is protected by reCAPTCHA Enterprise and the Google Privacy Policy and Terms of Service apply.