- Utilize new Java features
- Write Java code that uses variables, arrays, conditional, and loop constructs to achieve program objectives
- Identify modular programming principles
- Access and create static fields and methods
- Encapsulate a class using access modifiers and overloaded constructors
- Demonstrate polymorphism by implementing a Java interface
- Handle a checked exception in a Java application
- Define and implement a simple class hierarchy that supports application requirements
- Use Lambda Expression concurrency features
- Apply modular programming practices and services to applications
- Create high-performing multi-threaded applications
- Execute a Java application from the command line
- Create applications that use the Java Collections framework
- Implement error-handling techniques using exception handling
- Implement input/output (I/O) functionality to read from and write to data and text files
- Perform multiple operations on database tables, including creating, reading, updating, and deleting using both JDBC and JPA technology
- Identify deprecated APIs and possible alternatives
- Swap sub-optimal or tedious coding with convenience methods
- Create a modular Java application
- Create a custom runtime image
- Build Multi-release JAR files
- Design interfaces which implement methods
- Process stream data using new convenience methods
- Leverage JShell for fast code experiments
- Identify and apply new methods to more conveniently work with collections and arrays
- Identify and address common requirements in migrating older applications to modularity
- Create a system architecture (the Architecture model) supporting the nonfunctional requirements (NFRs) and development constraints
- Create a system design (the Solution model) supporting the functional requirements (FRs)
- Develop SOAP and REST web services
- Develop web front-ends using Servlets, Java Server Pages, and Java Server
- Java programmer
- Java enterprise developer