About this Course

106,408 recent views

Learner Career Outcomes

22%

started a new career after completing these courses

29%

got a tangible career benefit from this course

17%

got a pay increase or promotion
Shareable Certificate
Earn a Certificate upon completion
100% online
Start instantly and learn at your own schedule.
Flexible deadlines
Reset deadlines in accordance to your schedule.
Beginner Level
Approx. 9 hours to complete
English
Subtitles: English, Korean

Skills you will gain

Programming PrinciplesInterfacesSoftware DesignJava Programming

Learner Career Outcomes

22%

started a new career after completing these courses

29%

got a tangible career benefit from this course

17%

got a pay increase or promotion
Shareable Certificate
Earn a Certificate upon completion
100% online
Start instantly and learn at your own schedule.
Flexible deadlines
Reset deadlines in accordance to your schedule.
Beginner Level
Approx. 9 hours to complete
English
Subtitles: English, Korean

Offered by

Duke University logo

Duke University

Syllabus - What you will learn from this course

Content RatingThumbs Up92%(4,687 ratings)Info
Week
1

Week 1

14 minutes to complete

Welcome to the Course

14 minutes to complete
1 video (Total 4 min), 1 reading
1 video
1 reading
Programming Resources10m
2 hours to complete

Earthquakes: Programming and Interfaces

2 hours to complete
11 videos (Total 57 min), 4 readings, 3 quizzes
11 videos
Relationships Between Classes4m
Licensing and APIs3m
Coding a Magnitude Filter10m
Coding the Closest Quakes12m
Summary2m
Introduction1m
Interfaces to Avoid Duplication6m
Interfaces in More Depth3m
MatchAll4m
Summary1m
4 readings
Module Learning Outcomes / Resources10m
Location class documentation and license resources10m
Programming Exercise: Searching Earthquake Data10m
Programming Exercise: Filtering Data10m
3 practice exercises
Searching Earthquake Data12m
Filtering Data10m
Earthquakes: Programming and Interfaces24m
Week
2

Week 2

2 hours to complete

Earthquakes: Sorting Algorithms

2 hours to complete
12 videos (Total 52 min), 3 readings, 3 quizzes
12 videos
Developing an Algorithm4m
Translating to Code3m
In Place8m
Efficiency4m
Summary47s
Introduction5m
Comparable4m
Ordering Quakes by Magnitude7m
Comparator5m
Comparator for Distance from a Location5m
Summary32s
3 readings
Module Learning Outcomes / Resources10m
Programming Exercise: Implementing Selection Sort10m
Programming Exercise: Sorting at Scale10m
3 practice exercises
Implementing Selection Sort10m
Sorting at Scale6m
Earthquakes: Sorting Algorithms16m
Week
3

Week 3

3 hours to complete

N-Grams: Predictive Text

3 hours to complete
15 videos (Total 95 min), 5 readings, 5 quizzes
15 videos
Order-Zero, Order-One6m
Finding Follow Set7m
Implementing Order-Two9m
Testing and Debugging7m
Interfaces and Abstract Classes9m
Summary2m
Introduction3m
Order-One Concepts6m
Order-One Helper Functions8m
WordGram Class4m
WordGram Class Implementation4m
Equals and HashCode Methods5m
Equals Method Implementation10m
Summary3m
5 readings
Module Learning Outcomes / Resources10m
Programming Exercise: Generating Random Text10m
Programming Exercise: Interface and Abstract Class10m
Programming Exercise: Word N-Grams10m
Programming Exercise: WordGram Class10m
5 practice exercises
Generating Random Text14m
Interface and Abstract Class8m
Word N-Grams6m
WordGram Class10m
N-Grams: Predictive Text20m
Week
4

Week 4

1 hour to complete

Java: Tools and Libraries for Everyone

1 hour to complete
13 videos (Total 42 min), 2 readings, 1 quiz
13 videos
Main Method3m
Static4m
Editors8m
Summary53s
Introduction1m
Understanding Exceptions4m
Handling Exceptions2m
Declaring Exceptions1m
Throwing Exceptions1m
Reading Files with Java.nio6m
Hello Around the World with Eclipse4m
Summary45s
2 readings
Module Learning Outcomes / Resources10m
Where To Go From Here10m
1 practice exercise
Java: Tools and Libraries for Everyone18m

Reviews

TOP REVIEWS FROM JAVA PROGRAMMING: PRINCIPLES OF SOFTWARE DESIGN

View all reviews

About the Java Programming and Software Engineering Fundamentals Specialization

Take your first step towards a career in software development with this introduction to Java—one of the most in-demand programming languages and the foundation of the Android operating system. Designed for beginners, this Specialization will teach you core programming concepts and equip you to write programs to solve complex problems. In addition, you will gain the foundational skills a software engineer needs to solve real-world problems, from designing algorithms to testing and debugging your programs....
Java Programming and Software Engineering Fundamentals

Frequently Asked Questions

  • Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. To access graded assignments and to earn a Certificate, you will need to purchase the Certificate experience, during or after your audit. If you don't see the audit option:

    • The course may not offer an audit option. 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.
  • 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. If you only want to read and view the course content, you can audit the course for free.

  • If you subscribed, you get a 7-day free trial during which you can cancel at no penalty. After that, we don’t give refunds, but you can cancel your subscription at any time. See our full refund policy.

  • Yes, Coursera provides financial aid to learners who cannot afford the fee. Apply for it by clicking on the Financial Aid link beneath the "Enroll" button on the left. You'll be prompted to complete an application and will be notified if you are approved. You'll need to complete this step for each course in the Specialization, including the Capstone Project. Learn more.

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

More questions? Visit the Learner Help Center.