SlideShare a Scribd company logo
Java Programming: Solving
Problems with Software
About the Course
• Building upon Duke’s “Programming and the Web for Beginners” course, you will grow in your
ability to be a problem-solver and programmer by writing Java programs. We are excited that
you've chosen to learn Java with us! You will soon be able to solve problems that you find
interesting and useful by practicing a design process you will learn in this course.
• Java concepts presented in this course include basic control flow; object-oriented concepts
including classes and methods; custom, open-source classes; and a design-implement-debug
process that you can continue to leverage as you build your experience and knowledge of
programming principles.
• The custom, open-source classes will provide a consistent application programming interface
(API) so that you can write programs that access and transform images, websites, comma
separated value (CSV) files and other data files using simple and accessible coding idioms built on
the Java Iterable interface. You will learn to design, test, and debug programs and to find and read
Java documentation that can serve as the basis for continued study of Java and programming.
• After completing this course you will be able to:
• 1. Edit, compile, and run a Java program;
• 2. Use conditionals and for loops appropriately in a Java program;
• 3. Use Java API documentation in writing programs.
• 4. Debug a Java program using the scientific method;
• 5. Develop 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 more
than one method.
Welcome 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, have an overview of the course,
and hear from Google engineers about why they find programming
exciting and why Java is important. Have fun!
Iterables in Java
• In this module, you will learn to design and run your first Java programs,
including one program that prints “Hello!” in various countries’ languages
and another where you will copy and edit many files by converting color
images to grayscale. To accomplish these tasks, you will learn about classes
constructed for this course: Iterables libraries that allow you to perform the
same task over multiple lines in a document or webpage or multiple files
within a directory. 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 for loops in Java; and (5) Use Iterables to run a program that
iterates over multiples lines in a document or webpage or multiple files in a
directory.
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.
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).
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!
Ad

Recommended

CONDUITE A TENIR DEVANT UNE TUMEUR DE L'OVAIRE
CONDUITE A TENIR DEVANT UNE TUMEUR DE L'OVAIRE
steve yanick nguekeu nguekeu
 
Travail_au_cable_Wire_Line (travail mécanique).ppt
Travail_au_cable_Wire_Line (travail mécanique).ppt
KamelSalhi3
 
16 coulisseau de mors mobile etau cor
16 coulisseau de mors mobile etau cor
benamor belgacem
 
Obésité et Anesthésie
Obésité et Anesthésie
doctiti
 
الصف الثانى الابتدائى تربية رياضية
الصف الثانى الابتدائى تربية رياضية
mohamed sholkamy
 
Web-formation - "Le Lean Office"
Web-formation - "Le Lean Office"
XL Groupe
 
Gold Loan Software | Gold Loan Management Software
Gold Loan Software | Gold Loan Management Software
Xentric Technologies Private Limited
 
Java Building Blocks
Java Building Blocks
Cate Huston
 
Download full ebook of Programming With Java Edet Theophilus instant download...
Download full ebook of Programming With Java Edet Theophilus instant download...
noyzdapat39
 
3350703
3350703
Vipul Chauhan
 
JavaProgrammingForBeginners-Presentation.pdf
JavaProgrammingForBeginners-Presentation.pdf
Sathwika7
 
1_5_Python_to_Java.pptx
1_5_Python_to_Java.pptx
ShivamChaturvedi67
 
Java basics
Java basics
Hoang Nguyen
 
Java core - Detailed Overview
Java core - Detailed Overview
Buddha Tree
 
M251_Meeting 1(M251_Meeting 1_updated.pdf)
M251_Meeting 1(M251_Meeting 1_updated.pdf)
hossamghareb681
 
Fundamentals of java --- version 2
Fundamentals of java --- version 2
Uday Sharma
 
Modern_2.pptx for java
Modern_2.pptx for java
MayaTofik
 
Introduction to java Programming Language
Introduction to java Programming Language
rubyjeyamani1
 
Introduction to java programming part 1
Introduction to java programming part 1
university of education,Lahore
 
VMC___JAVA-THIRD QUARTER-SHS TWELVE.pptx
VMC___JAVA-THIRD QUARTER-SHS TWELVE.pptx
michellebacayplacide
 
Essential Java For Scientists And Engineers 1st Brian D Hahn
Essential Java For Scientists And Engineers 1st Brian D Hahn
yralabasah
 
Learning core java
Learning core java
Abhay Bharti
 
JAVA Object Oriented Programming (OOP)
JAVA Object Oriented Programming (OOP)
Prof. Erwin Globio
 
Java programmingjsjdjdjdjdjdjdjdjdiidiei
Java programmingjsjdjdjdjdjdjdjdjdiidiei
rajputtejaswa12
 
Core java programming tutorial - Brainsmartlabs
Core java programming tutorial - Brainsmartlabs
brainsmartlabsedu
 
Java
Java
Manav Prasad
 
JavaBasicsCore1.ppt
JavaBasicsCore1.ppt
buvanabala
 
java01.pptbvuyvyuvvvvvvvvvvvvvvvvvvvvyft
java01.pptbvuyvyuvvvvvvvvvvvvvvvvvvvvyft
nagendrareddy104104
 
Your new maven friend – the mule maven
Your new maven friend – the mule maven
Son Nguyen
 
Soa governance for the modern business
Soa governance for the modern business
Son Nguyen
 

More Related Content

Similar to Java programming - solving problems with software (20)

Download full ebook of Programming With Java Edet Theophilus instant download...
Download full ebook of Programming With Java Edet Theophilus instant download...
noyzdapat39
 
3350703
3350703
Vipul Chauhan
 
JavaProgrammingForBeginners-Presentation.pdf
JavaProgrammingForBeginners-Presentation.pdf
Sathwika7
 
1_5_Python_to_Java.pptx
1_5_Python_to_Java.pptx
ShivamChaturvedi67
 
Java basics
Java basics
Hoang Nguyen
 
Java core - Detailed Overview
Java core - Detailed Overview
Buddha Tree
 
M251_Meeting 1(M251_Meeting 1_updated.pdf)
M251_Meeting 1(M251_Meeting 1_updated.pdf)
hossamghareb681
 
Fundamentals of java --- version 2
Fundamentals of java --- version 2
Uday Sharma
 
Modern_2.pptx for java
Modern_2.pptx for java
MayaTofik
 
Introduction to java Programming Language
Introduction to java Programming Language
rubyjeyamani1
 
Introduction to java programming part 1
Introduction to java programming part 1
university of education,Lahore
 
VMC___JAVA-THIRD QUARTER-SHS TWELVE.pptx
VMC___JAVA-THIRD QUARTER-SHS TWELVE.pptx
michellebacayplacide
 
Essential Java For Scientists And Engineers 1st Brian D Hahn
Essential Java For Scientists And Engineers 1st Brian D Hahn
yralabasah
 
Learning core java
Learning core java
Abhay Bharti
 
JAVA Object Oriented Programming (OOP)
JAVA Object Oriented Programming (OOP)
Prof. Erwin Globio
 
Java programmingjsjdjdjdjdjdjdjdjdiidiei
Java programmingjsjdjdjdjdjdjdjdjdiidiei
rajputtejaswa12
 
Core java programming tutorial - Brainsmartlabs
Core java programming tutorial - Brainsmartlabs
brainsmartlabsedu
 
Java
Java
Manav Prasad
 
JavaBasicsCore1.ppt
JavaBasicsCore1.ppt
buvanabala
 
java01.pptbvuyvyuvvvvvvvvvvvvvvvvvvvvyft
java01.pptbvuyvyuvvvvvvvvvvvvvvvvvvvvyft
nagendrareddy104104
 
Download full ebook of Programming With Java Edet Theophilus instant download...
Download full ebook of Programming With Java Edet Theophilus instant download...
noyzdapat39
 
JavaProgrammingForBeginners-Presentation.pdf
JavaProgrammingForBeginners-Presentation.pdf
Sathwika7
 
Java core - Detailed Overview
Java core - Detailed Overview
Buddha Tree
 
M251_Meeting 1(M251_Meeting 1_updated.pdf)
M251_Meeting 1(M251_Meeting 1_updated.pdf)
hossamghareb681
 
Fundamentals of java --- version 2
Fundamentals of java --- version 2
Uday Sharma
 
Modern_2.pptx for java
Modern_2.pptx for java
MayaTofik
 
Introduction to java Programming Language
Introduction to java Programming Language
rubyjeyamani1
 
VMC___JAVA-THIRD QUARTER-SHS TWELVE.pptx
VMC___JAVA-THIRD QUARTER-SHS TWELVE.pptx
michellebacayplacide
 
Essential Java For Scientists And Engineers 1st Brian D Hahn
Essential Java For Scientists And Engineers 1st Brian D Hahn
yralabasah
 
Learning core java
Learning core java
Abhay Bharti
 
JAVA Object Oriented Programming (OOP)
JAVA Object Oriented Programming (OOP)
Prof. Erwin Globio
 
Java programmingjsjdjdjdjdjdjdjdjdiidiei
Java programmingjsjdjdjdjdjdjdjdjdiidiei
rajputtejaswa12
 
Core java programming tutorial - Brainsmartlabs
Core java programming tutorial - Brainsmartlabs
brainsmartlabsedu
 
JavaBasicsCore1.ppt
JavaBasicsCore1.ppt
buvanabala
 
java01.pptbvuyvyuvvvvvvvvvvvvvvvvvvvvyft
java01.pptbvuyvyuvvvvvvvvvvvvvvvvvvvvyft
nagendrareddy104104
 

More from Son Nguyen (20)

Your new maven friend – the mule maven
Your new maven friend – the mule maven
Son Nguyen
 
Soa governance for the modern business
Soa governance for the modern business
Son Nguyen
 
Quality sdk for your apis in minutes!
Quality sdk for your apis in minutes!
Son Nguyen
 
Maven tools & archetypes
Maven tools & archetypes
Son Nguyen
 
Let api change your relationship with your doctor
Let api change your relationship with your doctor
Son Nguyen
 
Increase revenue and reinvigorate your business with api
Increase revenue and reinvigorate your business with api
Son Nguyen
 
How to – wrap soap web service around a database
How to – wrap soap web service around a database
Son Nguyen
 
How to – rest api proxy to soap webservice
How to – rest api proxy to soap webservice
Son Nguyen
 
Anypoint runtime manager v1
Anypoint runtime manager v1
Son Nguyen
 
A good api strategy can help turn your
A good api strategy can help turn your
Son Nguyen
 
10 steps to design and build the perfect
10 steps to design and build the perfect
Son Nguyen
 
What is the difference between using private flow
What is the difference between using private flow
Son Nguyen
 
Troubleshooting mule
Troubleshooting mule
Son Nguyen
 
Running mule as worker role on azure
Running mule as worker role on azure
Son Nguyen
 
Real time data processing with anypoint connector for kafka
Real time data processing with anypoint connector for kafka
Son Nguyen
 
Performance tuning in mule
Performance tuning in mule
Son Nguyen
 
Mule intelli j tips
Mule intelli j tips
Son Nguyen
 
Introducing the anypoint connector for redis
Introducing the anypoint connector for redis
Son Nguyen
 
How to – data integrity checks in batch processing
How to – data integrity checks in batch processing
Son Nguyen
 
How soa paved the way for cloud
How soa paved the way for cloud
Son Nguyen
 
Your new maven friend – the mule maven
Your new maven friend – the mule maven
Son Nguyen
 
Soa governance for the modern business
Soa governance for the modern business
Son Nguyen
 
Quality sdk for your apis in minutes!
Quality sdk for your apis in minutes!
Son Nguyen
 
Maven tools & archetypes
Maven tools & archetypes
Son Nguyen
 
Let api change your relationship with your doctor
Let api change your relationship with your doctor
Son Nguyen
 
Increase revenue and reinvigorate your business with api
Increase revenue and reinvigorate your business with api
Son Nguyen
 
How to – wrap soap web service around a database
How to – wrap soap web service around a database
Son Nguyen
 
How to – rest api proxy to soap webservice
How to – rest api proxy to soap webservice
Son Nguyen
 
Anypoint runtime manager v1
Anypoint runtime manager v1
Son Nguyen
 
A good api strategy can help turn your
A good api strategy can help turn your
Son Nguyen
 
10 steps to design and build the perfect
10 steps to design and build the perfect
Son Nguyen
 
What is the difference between using private flow
What is the difference between using private flow
Son Nguyen
 
Troubleshooting mule
Troubleshooting mule
Son Nguyen
 
Running mule as worker role on azure
Running mule as worker role on azure
Son Nguyen
 
Real time data processing with anypoint connector for kafka
Real time data processing with anypoint connector for kafka
Son Nguyen
 
Performance tuning in mule
Performance tuning in mule
Son Nguyen
 
Mule intelli j tips
Mule intelli j tips
Son Nguyen
 
Introducing the anypoint connector for redis
Introducing the anypoint connector for redis
Son Nguyen
 
How to – data integrity checks in batch processing
How to – data integrity checks in batch processing
Son Nguyen
 
How soa paved the way for cloud
How soa paved the way for cloud
Son Nguyen
 
Ad

Recently uploaded (20)

2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
2025_06_18 - OpenMetadata Community Meeting.pdf
2025_06_18 - OpenMetadata Community Meeting.pdf
OpenMetadata
 
Lessons Learned from Developing Secure AI Workflows.pdf
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
 
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
A Constitutional Quagmire - Ethical Minefields of AI, Cyber, and Privacy.pdf
Priyanka Aash
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Using the SQLExecutor for Data Quality Management: aka One man's love for the...
Safe Software
 
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Coordinated Disclosure for ML - What's Different and What's the Same.pdf
Priyanka Aash
 
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
GenAI Opportunities and Challenges - Where 370 Enterprises Are Focusing Now.pdf
Priyanka Aash
 
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
ReSTIR [DI]: Spatiotemporal reservoir resampling for real-time ray tracing ...
revolcs10
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
 
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
 
Securing AI - There Is No Try, Only Do!.pdf
Securing AI - There Is No Try, Only Do!.pdf
Priyanka Aash
 
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
WebdriverIO & JavaScript: The Perfect Duo for Web Automation
digitaljignect
 
Curietech AI in action - Accelerate MuleSoft development
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
 
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
 
Cyber Defense Matrix Workshop - RSA Conference
Cyber Defense Matrix Workshop - RSA Conference
Priyanka Aash
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
Ad

Java programming - solving problems with software

  • 2. About the Course • Building upon Duke’s “Programming and the Web for Beginners” course, you will grow in your ability to be a problem-solver and programmer by writing Java programs. We are excited that you've chosen to learn Java with us! You will soon be able to solve problems that you find interesting and useful by practicing a design process you will learn in this course. • Java concepts presented in this course include basic control flow; object-oriented concepts including classes and methods; custom, open-source classes; and a design-implement-debug process that you can continue to leverage as you build your experience and knowledge of programming principles. • The custom, open-source classes will provide a consistent application programming interface (API) so that you can write programs that access and transform images, websites, comma separated value (CSV) files and other data files using simple and accessible coding idioms built on the Java Iterable interface. You will learn to design, test, and debug programs and to find and read Java documentation that can serve as the basis for continued study of Java and programming.
  • 3. • After completing this course you will be able to: • 1. Edit, compile, and run a Java program; • 2. Use conditionals and for loops appropriately in a Java program; • 3. Use Java API documentation in writing programs. • 4. Debug a Java program using the scientific method; • 5. Develop 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 more than one method.
  • 4. Welcome 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, have an overview of the course, and hear from Google engineers about why they find programming exciting and why Java is important. Have fun!
  • 5. Iterables in Java • In this module, you will learn to design and run your first Java programs, including one program that prints “Hello!” in various countries’ languages and another where you will copy and edit many files by converting color images to grayscale. To accomplish these tasks, you will learn about classes constructed for this course: Iterables libraries that allow you to perform the same task over multiple lines in a document or webpage or multiple files within a directory. 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 for loops in Java; and (5) Use Iterables to run a program that iterates over multiples lines in a document or webpage or multiple files in a directory.
  • 6. 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.
  • 7. 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).
  • 8. 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!