À propos de ce cours
202,133 consultations récentes

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau débutant

Approx. 25 heures pour terminer

Recommandé : 4 weeks of study, 4-8 hours/week...


Sous-titres : Anglais, Coréen

Compétences que vous acquerrez

AlgorithmsProblem SolvingString (Computer Science)Java Programming

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau débutant

Approx. 25 heures pour terminer

Recommandé : 4 weeks of study, 4-8 hours/week...


Sous-titres : Anglais, Coréen

Programme du cours : ce que vous apprendrez dans ce cours

22 minutes pour terminer

Introduction to the Course

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!

5 vidéos (Total 12 min), 1 lecture
5 vidéos
Resources to Help You Succeed1 min
Tips for Learning Programming1 min
Using Forums: How to Ask for Help Effectively3 min
Object Oriented Programming with Java Specialization2 min
1 lecture
Programming Resources10 min
5 heures pour terminer

Fundamental Java Syntax and Semantics

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.

17 vidéos (Total 76 min), 4 lectures, 5 quiz
17 vidéos
Using BlueJ to Program in Java6 min
Shapes: Collections of Points2 min
Why Semantics: Motivation to Read Code1 min
Variables2 min
Mathematical Operators2 min
Functions4 min
Conditionals3 min
Classes4 min
New4 min
Methods5 min
Types5 min
For Each Loops7 min
Solving Programming: A Seven Step Approach6 min
Seven Steps in Action: Developing an Algorithm7 min
Seven Steps in Action: Testing the Algorithm4 min
Seven Steps in Action: Translating to Code5 min
4 lectures
Module Learning Outcomes10 min
Download BlueJ and Open Your First BlueJ Project10 min
Let's learn some basic Java syntax!1 min
Calculating the Perimeter of a Shape2 h
5 exercices pour s'entraîner
Getting Started with BlueJ10 min
Variables and Mathematical Operators10 min
Functions and Conditionals15 min
Classes, Types, and For Each Loops30 min
Calculating the Perimeter of a Shape30 min
4 heures pour terminer

Strings in Java

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.

21 vidéos (Total 122 min), 3 lectures, 6 quiz
21 vidéos
Understanding Strings3 min
Developing an Algorithm5 min
Positions in Strings8 min
Translating into Code11 min
Java Math8 min
Conceptual Understanding4 min
While Loops9 min
While Loop Syntax and Semantics3 min
Coding While Loops6 min
Three Stop Codons5 min
Coding Three Stop Codons - Part I7 min
Coding Three Stop Codons - Part II4 min
Logical And / Or8 min
Coding And / Or6 min
Finding Multiple Genes5 min
Translating to Code8 min
Separation of Concerns5 min
StorageResource Class3 min
Coding StorageResource Class4 min
3 lectures
Programming Exercise: Finding a Gene and Web Links10 min
Programming Exercise: Finding Many Genes10 min
Programming Exercise: Storing All Genes10 min
6 exercices pour s'entraîner
Finding a Gene in DNA12 min
Finding All Genes in DNA8 min
Debugging: Part 124 min
Debugging: Part 222 min
Using StorageResource12 min
Strings in Java14 min
2 heures pour terminer

CSV Files and Basic Statistics in Java

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

14 vidéos (Total 56 min), 3 lectures, 3 quiz
14 vidéos
Using CSV Libraries7 min
Which Countries Export...? Developing an Algorithm4 min
Which Countries Export...? Translating into Code5 min
CSVExport: Summary48s
Hottest Day in a Year: Comma Separated Values2 min
Converting Strings to Numbers4 min
Maximum Temperature: Developing an Algorithm5 min
Java for Nothing—null: When You Don't Have an Object4 min
Maximum Temperature: Translating into Code4 min
Maximum Temperature: Testing Code3 min
Maximum Temperature from Multiple Datasets5 min
Maximum Temperature Refactored4 min
CSVMax: Summary41s
3 lectures
Module Learning Outcomes10 min
Programming Exercise: Parsing Export Data10 min
Programming Exercise: Parsing Weather Data10 min
3 exercices pour s'entraîner
Which Countries Export...?12 min
Weather Data18 min
CSV Files and Basic Statistics in Java22 min
2 heures pour terminer

MiniProject: Baby Names

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!

9 vidéos (Total 47 min), 3 lectures, 2 quiz
9 vidéos
Baby Names MiniProject: Data Overview6 min
Baby Names MiniProject: Total Births7 min
Batch Grayscale: Converting Many Files2 min
Grayscale Algorithm: Seven Step Approach4 min
Image Iterable in BlueJ: Grayscale5 min
Batch Processing Grayscale3 min
Saving Images with New Names11 min
Batch Grayscale Summary: Converting Many Files1 min
3 lectures
MiniProject Exercise Guide10 min
Extend Your Program10 min
Programming Exercise: Batch Grayscale and Image Inversion10 min
2 exercices pour s'entraîner
Baby Names28 min
Batch Grayscale Images12 min
527 avisChevron Right


a commencé une nouvelle carrière après avoir terminé ces cours


a bénéficié d'un avantage concret dans sa carrière grâce à ce cours


a obtenu une augmentation de salaire ou une promotion

Principaux examens pour Java Programming: Solving Problems with Software

par FAOct 8th 2017

Excellent explanations and amount of course work for practice, the tests made good use of the examples and work given, I am satisfied with what I learned in this course and see it's real world usage.

par CCMar 29th 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.



Owen Astrachan

Professor of the Practice
Computer Science

Robert Duvall

Computer Science

Andrew D. Hilton

Associate Professor of the Practice
Electrical and Computer Engineering

Susan H. Rodger

Professor of the Practice
Computer Science

À propos de Université Duke

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

Foire Aux Questions

  • Une fois que vous êtes inscrit(e) pour un Certificat, vous pouvez accéder à toutes les vidéos de cours, et à tous les quiz et exercices de programmation (le cas échéant). Vous pouvez soumettre des devoirs à examiner par vos pairs et en examiner vous-même uniquement après le début de votre session. Si vous préférez explorer le cours sans l'acheter, vous ne serez peut-être pas en mesure d'accéder à certains devoirs.

  • Lorsque vous vous inscrivez au cours, vous bénéficiez d'un accès à tous les cours de la Spécialisation, et vous obtenez un Certificat lorsque vous avez réussi. Votre Certificat électronique est alors ajouté à votre page Accomplissements. À partir de cette page, vous pouvez imprimer votre Certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez seulement lire et visualiser le contenu du cours, vous pouvez accéder gratuitement au cours en tant qu'auditeur libre.

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

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.