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
Show info about module content
5 videos•Total 12 minutes
Introduction to the Course•3 minutes
Resources to Help You Succeed•2 minutes
Tips for Learning Programming•2 minutes
Using Forums: How to Ask for Help Effectively•4 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
Fundamental Java Syntax and Semantics
Module 2•6 hours to complete
Module details
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
Show info about module content
17 videos•Total 76 minutes
Why Use Java?•1 minute
Using BlueJ to Program in Java•7 minutes
Shapes: Collections of Points•2 minutes
Why Semantics: Motivation to Read Code•1 minute
Variables•3 minutes
Mathematical Operators•2 minutes
Functions•5 minutes
Conditionals•3 minutes
Classes•4 minutes
New•5 minutes
Methods•5 minutes
Types•6 minutes
For Each Loops•7 minutes
Solving Programming: A Seven Step Approach•6 minutes
Seven Steps in Action: Developing an Algorithm•8 minutes
Seven Steps in Action: Testing the Algorithm•4 minutes
Seven Steps in Action: Translating to Code•5 minutes
9 readings•Total 211 minutes
Module Learning Outcomes•10 minutes
Download BlueJ and Open Your First BlueJ Project•10 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.
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
Strings in Java•30 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
1 discussion prompt•Total 10 minutes
Debugging First Steps•10 minutes
CSV Files and Basic Statistics in Java
Module 4•3 hours to complete
Module details
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
Show info about module content
14 videos•Total 56 minutes
CSV Data: Comma Separated Values•3 minutes
Using CSV Libraries•7 minutes
Which Countries Export...? Developing an Algorithm•4 minutes
Which Countries Export...? Translating into Code•5 minutes
CSVExport: Summary•1 minute
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•5 minutes
Maximum Temperature: Testing Code•4 minutes
Maximum Temperature from Multiple Datasets•6 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!
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.
"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,067 reviews
5 stars
72.39%
4 stars
19.28%
3 stars
4.01%
2 stars
1.28%
1 star
3.02%
Showing 3 of 8067
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!
M
MV
4·
Reviewed on May 12, 2020
Instructors are very clear & examples are helpful. The example data for assignments sometimes did not match the assignment examples. This is a good introductory course for Java programmers.
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.
Will I receive a transcript from Duke University for completing this course?
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.
When will I have access to the lectures and assignments?
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.
What will I get if I subscribe to this Specialization?
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.
Is financial aid available?
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.