This course is aimed at experienced programmers who want to learn the Java programming language, language constructs, handle collections and concurrency, utilise core language APIs and modularisation. Students practice the skills learned in each lesson through hands-on labs.
The course is based on the current long-term support version of Java SE 11.
Objectives
- Manipulate numeric, text, date and time values using appropriate Java primitives and classes
- Organise Java code using classes, interfaces and enumerations
- Implement program logic using variables, arrays, conditional and loop constructs
- Create Java applications that leverage the object-oriented features of the Java language, such as encapsulation, inheritance, and polymorphism
- Use Lambda Expressions
- Use Java Collections API
- Process information using Streams API
- Use Java Concurrency API
- Implement error propagation and handling
- Implement input/output (I/O) functionality to read and write binary and text data
- Manipulate files, directories and file systems
- Deploy and execute Java applications using a modularized approach
Topics
- Introduction to Java
- Primitive Types, Operators, and Flow Control statements
- Text, Date, Time, and Numeric objects
- Classes and Objects
- Improved Class Design
- Inheritance
- Interfaces
- Arrays and Loops
- Collections
- Nested Classes and Lambda expressions
- Java Streams API
- Handle Exceptions and fix bugs
- Java IO API
- Java Concurrency and Multithreading
- Java Modules
- Annotations
- JDBC API
- Security
- Generics