Java Programming Level 2: Advanced Programming Techniques Course Outline
Overview
In this Java training course, students already familiar with Java programming will learn advanced Java techniques.
This advanced Java course is taught using Java 12.
Prerequisites
Students should have experience with Java and working knowledge of the skills covered in Core Skills: Level 1. Specifically, you should know: how Java works and its place in the world of programming languages; how to work with and manipulate strings; how to perform math operations; how to work with Java operators and loops; Object Oriented Programming concepts; how to make best use of the Java collections framework; best practices for dealing with exceptions; how to package Java code; and how to work with external data storage systems.
For more information on the Level 1 course, go to:
Java Programming Level 1: Introduction for Programmers
COURSE OUTLINE
1 Encryption
Introduction
Plaintext
Ciphertext
Ciphers
Keys
Symmetric Key Encryption
Exercise 1: Encrypting the String Using Advanced Encryption Standard
Block Ciphers
Initialization Vectors
Stream Ciphers
Asymmetric Key Encryption
Exercise 2: Encrypting the String Using the RSA Asymmetric Key Encryption
Encrypting Files
Exercise 3: Encrypting a File
Summary
2 Regular Expressions
Introduction
Decrypting Regular Expressions
Character Classes
Character Sets
Quantifiers
Anchors
Capturing Groups
Escaped Characters
Flags
Exercise 1: Implementing Regular Expressions
Activity 1: Regular Expressions to Check If the Entrance is Entered in the Desired Format
Regular Expressions in Java
Exercise 2: Extracting the Domain Using Pattern Matching
Exercise 3: Extracting Links Using Pattern Matching
Summary
3 Functional Programming with Lambda Expressions
Introduction
Background
Functional Programming
Side Effects
Deterministic Functions
Pure Functions
Exercise 1: Writing Pure Functions
Immutability of State
Exercise 2: Creating an Immutable Class
Activity 1: Modifying Immutable Lists
Immutable Collections
Exercise 3: Overriding the String Method
Functional Interfaces
Lambda Expressions
Exercise 4: Listing Spare Tires
Summary
4 Processing Data with Streams
Introduction
Creating Streams
Parallel Streams
Encounter Order
Closing Streams
Terminal Operations
Intermediate Operations
Exercise 1: Using the Stream API
Activity 1: Applying Discount on the Item
Using Collectors
I/O Streams
Exercise 2: Converting CSV to a List
Activity 2: Searching for Specifics
Lambda Function
Summary
5 Unit Testing
Introduction
Getting Started with Unit Tests
Introducing JUnit
Writing Unit Tests with JUnit
Exercise 1: Writing a First Unit Test
Exercise 2: Writing a Successful Test
Deciding What to Test
Writing Parameterized Tests
Exercise 3: Writing a Parameterized Test
When Tests Won't Work—Disabling Tests
Test Setup
Exercise 4: Using Test Setup and Cleanup Methods
Mocking
Testing with Mocks Using Mockito
Exercise 5: Using Mocks when Testing
Activity 1: Counting the Words in the String
Summary
View outline in Word
XJV2NS