Home University Courses Java Programming: Principles of Software Design

Java Programming: Principles of Software Design

Java Programming Principles of Software Design

Solve real world problems with Java using multiple classes.

Duke University Online Course Highlights
  • 4 weeks long
  • 4-8 hours per week
  • Learn for FREE, Upgradable
  • Self-Paced
  • Taught by: Robert Duvall, Owen Astrachan, Andrew D. Hilton, Susan H. Rodger
  • View Course Syllabus

Online Course Details:

Learn how to create programming solutions that scale using Java interfaces. Recognize that software engineering is more than writing code – it also involves logical thinking and design. By the end of this course you will have written a program that analyzes and sorts earthquake data, and developed a predictive text generator.

After completing this course, you will be able to:

1. Use sorting appropriately in solving problems;
2. Develop classes that implement the Comparable interface;
3. Use timing data to analyze empirical performance;
4. Break problems into multiple classes, each with their own methods;
5. Determine if a class from the Java API can be used in solving a particular problem;
6. Implement programming solutions using multiple approaches and recognize tradeoffs;
7. Use object-oriented concepts including interfaces and abstract classes when developing programs;
8. Appropriately hide implementation decisions so they are not visible in public methods; and
9. Recognize the limitations of algorithms and Java programs in solving problems.
10. Recognize standard Java classes and idioms including exception-handling, static methods, java.net, and java.io packages.


  • Programming Principles
  • Interfaces
  • Software Design
  • Java Programming

Take This Online Course