Print Course information
Email to a friend
Return to Course Catalog

Course Catalog

Java Programming: Principles of Software Design   


Solve real world problems with Java using multiple classes. 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,, and packages.

Difficulty Level: BEGINNER

Estimated Learning Time:  12 hours


Computer Programming

Programming Principles

Theoretical Computer Science


Computer Architecture

Computer Networking

Mobile Development

Network Architecture

Software Engineering

Software Testing

Web Development


Course Instructor PhotoRobert Duvall
Computer Science

Course Instructor PhotoOwen Astrachan
Professor of the Practice
Computer Science

Course Instructor PhotoAndrew D. Hilton
Associate Professor of the Practice
Electrical and Computer Engineering

Course Instructor PhotoSusan H. Rodger
Professor of the Practice
Computer Science


  • Java Programming: Principles of Software Design
  • Fee: $59.00

If you are thinking of taking more than one course, the subscription option may be more beneficial.
After payment, you will receive a separate email, usually within one business day, that will include instructions on how to access the course.

- Single course access (generally 30 days with option to extend if needed)
- 3-month subscription to online learning catalog - $199.00
- 12-month subscription to online learning catalog - $499.00

3-Month Subscription 1-Year Subscription