Intermediate/Advanced Java
This is a fast-paced course suitable for developers with some previous experience in working with Java and Object-Oriented (OO) programming. The course can also be delivered to developers experienced in other OO languages (Python, C++, C#) but with limited Java exposure, as well as used as an advanced Java course for more experienced developers. There are numerous optional parts allowing you to tailor the coverage to your group. This course covers far more than an introductory course, including important topics such as UML and Design Patterns, and using composition vs. inheritance, which are all key to creating well-structured OO systems. After these important areas, it moves on to advanced Java topics such as inner classes, reflection, writing generic classes, and functional programming with lambdas and streams. It teaches a number of useful techniques that enhance productivity and good system design – which may otherwise take Java developers years to absorb on their own. The course concludes with build tools and logging.
PREREQUISITES
Upon completion of this course, students will be able to:
- Solidify Java foundational knowledge, including the important contracts of class Object
- Understand the uses and consequences of inheritance and composition, and reinforce the role of interfaces
- Reinforce fundamental OO principles such as cohesion, coupling, and polymorphism
- Use the JUnit testing framework and become fluent in writing assertions to verify correct program behavior
- Create and use custom annotations
- Learn the use cases for inner classes and refactor existing code to use them when appropriate
- Be familiar with reflection and how to use it
- Understand functional interfaces introduced in Java 8
- Understand lambda expressions and method references, and use them to pass behavior (methods)
- Use the Stream API to perform complex processing of collections and other input sources
- Learn the new Date/Time API and use it to solve date-oriented business problems
- Use Javadoc to write professional-grade API comments
- Understand build tools such as Ant and Maven, and how to manage application dependencies
- Write appropriate log statements in your code and configure logging with Log4j
- Review – Basics
- Review (Inheritance and Interfaces)
- JUnit
- Collections and Generics
- Techniques of Object Creation
- Using Composition & Inheritance Effectively
- Inner Classes
- Annotations
- Reflection
- Lambda Expressions
- Streams
- Date/Time API
- Overview of Build Tools
- Logging and Log4j
Is there a discount available for current students?
UMBC students and alumni, as well as students who have previously taken a public training course with UMBC Training Centers are eligible for a 10% discount, capped at $250. Please provide a copy of your UMBC student ID or an unofficial transcript or the name of the UMBC Training Centers course you have completed. Online courses are excluded from this offer.
What is the cancellation and refund policy?
Student will receive a refund of paid registration fees only if UMBC Training Centers receives a notice of cancellation at least 10 business days prior to the class start date for classes or the exam date for exams.