Get started with custom lists to organize and share courses.

Sign up

Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Java Programming: Solving Problems with Software

Duke University via Coursera

14 Reviews 531 students interested
  • Provider Coursera
  • Cost Free Online Course (Audit)
  • Session Upcoming
  • Language English
  • Certificate Paid Certificate Available
  • Start Date
  • Duration 4 weeks long
  • Learn more about MOOCs

Taken this course? Share your experience with other students. Write review

Overview

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.

Syllabus

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!

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.

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!

Taught by

Owen Astrachan, Robert Duvall, Andrew D. Hilton and Susan H. Rodger

Help Center

Most commonly asked questions about Coursera Coursera

Reviews for Coursera's Java Programming: Solving Problems with Software
3.2 Based on 14 reviews

  • 5 stars 21%
  • 4 stars 36%
  • 3 star 0%
  • 2 stars 29%
  • 1 stars 14%

Did you take this course? Share your experience with other students.

Write a review
  • 1
Ericdo1810 E
4.0 4 years ago
by Ericdo1810 completed this course, spending 6 hours a week on it and found the course difficulty to be hard.
This course, rather than teaching you how to write programs in Object-oriented programming paradigm, teaches you how to write simple programs (classes) in Java.

The purpose of this course, I feel, is not to teach me Java specifically (because they do not really touch on the relationships of classes, objects, superclasses, subclasses, interface, inheritance, etc). However, they teach me programming in the Java development environment. In short, the goal is to teach me how to write simple codes and perform basic algorithms in Java.

With this goal, I think the course di…
7 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
1.0 4 years ago
Anonymous is taking this course right now.
To difficult for a beginner. You have to write very complicated code to pass the quiz. Not recommend for a beginner.
7 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
2.0 3 years ago
Anonymous is taking this course right now.
definitely not for a beginner!!! poor teaching techniques , explanations are not clear, the classes don't tie together. not worth to purchase
7 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
2.0 2 years ago
Anonymous is taking this course right now.
What happened? The first course in this series was a stellar introduction to programming for those with little/no experience, with the added bonus of amazing "mentors" (moderators) in the discussion forums to help solve issues. This course, however, is a vast departure from that. The lectures are incredibly long, hard to follow, and don't seem to apply to the exercises, and the forums are hardly monitored at all. I work in IT and while I am certainly a beginner, I'm neither an idiot nor unfamiliar with these concepts; yet I'm struggling to the point of wanting to quit. If it wasn't for sites l…
Was this review helpful to you? Yes
Anonymous
1.0 4 years ago
Anonymous is taking this course right now.
This course moved too quickly for a beginner learning java. Week 1 to Week 2 did not seem to tie together. The coding examples that the lecturers used in the videos and quizes did not seem to work
12 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
5.0 4 years ago
Anonymous completed this course.
This course is typically the kind of fun, beginner-friendly, challenging intro to java course that can familiarize you with basic concepts of Java very quickly.

Quizzes are quite tough to complete, due to the input of answer format. However, it's worth the challenge since your written program needs to work perfectly for you to score.

However, the course is not prohibitively difficult. In fact, it's quite fun.

Awesome course, love the teaching of the Duke CS Edu team :)
3 people found
this review helpful
Was this review helpful to you? Yes
Anonymous
2.0 3 years ago
Anonymous is taking this course right now.
I have coding experience with C++ and have been studying these materials intensely, but I am stuck on Week 2. This class is NOT for beginners. Instructors are not helpful at all in the forums. I only gave it 2 stars because it seems like it might be useful for an intermediate level.
Was this review helpful to you? Yes
Krisztian T
4.0 10 months ago
by Krisztian completed this course, spending 10 hours a week on it and found the course difficulty to be very hard.
Even though it is for beginners it is somewhat hard. The hardest parts are the use of BlueJ which is much harder to use than any other IDE without the adudant helps, tutorails and posts all the others have. The programming assignments are really challanging too, but with persevarance one can achieve them. The best parts of this course are the 7 step approach to find solution/design algorithm and the assignments/projects which are interesting in topic, like finding codons in DNA, parsing export data from CSV.
Was this review helpful to you? Yes
Anonymous
2.0 2 years ago
Anonymous is taking this course right now.
Hello. I wanted to learn Java and picked up this course because so far I've enjoyed all the mooc I followed with Coursera.

Well, I'm disappointed that's why I gave up. Flat voice, boring, too many people who are reading aloud their text. It's better taking an introductory book and read it.
Was this review helpful to you? Yes
Harsh B
4.0 3 years ago
by Harsh completed this course.
1 person found
this review helpful
Was this review helpful to you? Yes
Andrew K
4.0 3 years ago
Andrew completed this course.
Was this review helpful to you? Yes
Abhilash V
5.0 2 years ago
by Abhilash completed this course.
Was this review helpful to you? Yes
Rayhaan P
5.0 3 years ago
by Rayhaan completed this course.
Was this review helpful to you? Yes
Hussein B
4.0 2 years ago
by Hussein completed this course.
Was this review helpful to you? Yes
  • 1

Class Central

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free

Never stop learning Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.