About this Course
52,820 recent views

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Beginner Level

Approx. 20 hours to complete

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

English

Subtitles: English, Korean

Skills you will gain

Programming PrinciplesInterfacesSoftware DesignJava Programming

100% online

Start instantly and learn at your own schedule.

Flexible deadlines

Reset deadlines in accordance to your schedule.

Beginner Level

Approx. 20 hours to complete

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

English

Subtitles: English, Korean

Syllabus - What you will learn from this course

Week
1
14 minutes to complete

Welcome to the Course

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

Earthquakes: Programming and Interfaces

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
2 hours to complete

Earthquakes: Sorting Algorithms

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
3 hours to complete

N-Grams: Predictive Text

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
1 hour to complete

Java: Tools and Libraries for Everyone

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
4.6
140 ReviewsChevron Right

38%

started a new career after completing these courses

38%

got a tangible career benefit from this course

17%

got a pay increase or promotion

Top reviews from Java Programming: Principles of Software Design

By OIAug 8th 2019

My confidence level in Java programming has grown significantly since completing this specialisation. It gave me the necessary knowledge and practice I need to take up a role as a software engineer.

By NSJun 16th 2016

Like all the modules of this Java specialization, the teachers are very good and the course reaches the objective of teaching the fundamentals of software design with an excellent didactic.

Instructors

Avatar

Robert Duvall

Lecturer
Computer Science
Avatar

Owen Astrachan

Professor of the Practice
Computer Science
Avatar

Andrew D. Hilton

Associate Professor of the Practice
Electrical and Computer Engineering
Avatar

Susan H. Rodger

Professor of the Practice
Computer Science

About Duke University

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

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

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

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

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