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.
- Use sorting appropriately in solving problems;
- Develop classes that implement the Comparable interface;
- Use timing data to analyze empirical performance;
- Break problems into multiple classes, each with their own methods;
- Determine if a class from the Java API can be used in solving a particular problem;
- Implement programming solutions using multiple approaches and recognize tradeoffs;
- Use object-oriented concepts including interfaces and abstract classes when developing programs;
- Appropriately hide implementation decisions so they are not visible in public methods; and
- Recognize the limitations of algorithms and Java programs in solving problems.
- Recognize standard Java classes and idioms including exception-handling, static methods, java.net, and java.io packages.
Link to the course: https://www.coursera.org/learn/java-programming-design-principles