Skip to main content
Java Programming Level 2: Advanced Programming Techniques
0%
Previous
Course data
Getting Started
🟢 Course Slides
🟢 Overview: XJV2NS: Java Programming Level 2: Advanced Programming Techniques
🟢 How This Course Works
🟢 Schedule, Key Terms and Resources
🔴 Set Up Java at Home
🟡 Bring Your Own Lab
🟢 Download: Bluefin kit (zip)
Move, Protect and Validate Data
1.1 Work with Files and Streams
🟢 Overview
🟢 1.1.1 Paths, Folders and Files
🟢 1.1.2 Read and Write Files
🟢 1.1.3 Byte Streams and Character Streams
🔴 1.1.4 Walk a Folder Tree and Move Files Safely
🟡 1.1.5 Recursion, Up Close
🔴 1.1.6 Watch the Drop Folder with WatchService
🟢 Exercise: The Depot Drop Folder
1.2 Talk over Sockets
🟢 Overview
🟢 1.2.1 Sockets and Servers
🟢 1.2.2 Send Bytes over a Socket
🟢 1.2.3 Blocking and Non-Blocking Calls
🔴 1.2.4 Serve Many Depots at Once
🔴 1.2.5 HttpClient or a Socket?
1.3 Encrypt with a Shared Key
🟢 Overview
🟢 1.3.1 Plaintext, Ciphertext, Ciphers and Keys
🟢 1.3.2 Encrypt and Decrypt with AES
🟢 1.3.3 Block Ciphers, Stream Ciphers and Why the IV Matters
🔴 1.3.4 Hashes, HMACs and Password Keys
🔴 1.3.5 Keys from Passwords with PBKDF2
🟢 Exercise: Seal a Delivery Note
1.4 Share Keys and Encrypt Files
🟢 Overview
🟢 1.4.1 Public and Private Keys
🟢 1.4.2 Wrap a Shared Key with RSA
🟢 1.4.3 Encrypt a File with Cipher Streams
🔴 1.4.4 Keys at Rest in a KeyStore
🔴 1.4.5 The Hybrid Encryption Workbook
🔴 1.4.6 Hybrid Workbook, Part 2: Open and Prove
🔴 1.4.7 Hybrid Workbook, Part 3: Sign the Manifest
🔴 1.4.8 What Never to Do: A Code Review Checklist
1.5 Read Patterns with Regular Expressions
🟢 Overview
🟢 1.5.1 Classes, Sets, Quantifiers and Anchors
🟢 1.5.2 Groups, Escapes and Flags
🟢 1.5.3 Regular Expressions in Java
🔴 1.5.4 The Regex Cookbook
🔴 1.5.5 Regex Cookbook: Replace, Split and Clean
🔴 1.5.6 Regex Cookbook: Twenty Graded Patterns
🟢 Exercise: The Tracking Number Drill
Lab 1: The Sealed Manifest
🟢 Overview
🟢 Task 1: Validate every tracking number
🟢 Task 2: Seal the manifest and catch tampering
🟢 Task 3: Deliver it to the depot
🟢 Lab 1 Proof
🔴 Practice Set
🟢 Recap
🔴 Knowledge Check
Think in Functions
2.1 Write Functional Java
🟢 Overview
🟢 2.1.1 Pure Functions and Side Effects
🟢 2.1.2 Immutable Data with Records and Collections
🟢 2.1.3 Functional Interfaces and Lambdas
🔴 2.1.4 Predicates and Other Functional Interfaces
🔴 2.1.5 Compose Functions: andThen, compose and Friends
🔴 2.1.6 Method References Four Ways
🟢 Exercise: The Label Printer
2.2 Build Stream Pipelines
🟢 Overview
🟢 2.2.1 Create a Stream
🟢 2.2.2 Intermediate Operations
🟢 2.2.3 Terminal Operations
🔴 2.2.4 flatMap and Optional Done Right
🟢 Exercise: The Three Heaviest
2.3 Collect, Read Files and Go Parallel
🟢 Overview
🟢 2.3.1 Shape Results with Collectors
🟢 2.3.2 Read a File as a Stream
🟢 2.3.3 Parallel Streams and Encounter Order
🔴 2.3.4 Advanced Collectors and Stream Gatherers
🟡 2.3.5 Reactive Streams with Java Flow
🔴 2.3.6 Stream Gatherers on JDK 25
🟡 2.3.7 Back Pressure, Hands-on
🟢 Exercise: Value on the Floor
Lab 2: The Morning Floor Report
🟢 Overview
🟢 Task 1: Load the parcels with a stream
🟢 Task 2: Build the report
🟢 Task 3: Total the value, go parallel, and test immutability
🟢 Lab 2 Proof
🔴 Practice Set
🟢 Recap
🔴 Knowledge Check
Prove It Works
3.1 Test with JUnit
🟢 Overview
🟢 3.1.1 Getting Started with JUnit
🟢 3.1.2 Write Your First Tests
🔴 3.1.3 Organize Tests: assertAll, @Nested and @DisplayName
🔴 3.1.4 Assertions Up Close: Messages, Exceptions and Timeouts
🟢 Exercise: The Overweight Rule
3.2 Decide What to Test
🟢 Overview
🟢 3.2.1 Rules, Boundaries and Errors
🟢 3.2.2 Parameterized Tests
🟢 3.2.3 Setup, Cleanup and Disabled Tests
🔴 3.2.4 Data-Driven Tests with @MethodSource
🔴 3.2.5 Test File Code Safely with @TempDir
3.3 Mock What You Don't Control
🟢 Overview
🟢 3.3.1 Why Mock
🟢 3.3.2 Mock and Verify with Mockito
🔴 3.3.3 Captors, Spies and Coverage
🟢 Exercise: The West Coast Surcharge
Lab 3: The Rate Check
🟢 Overview
🟢 Task 1: Set up the suite with a mock
🟢 Task 2: Test the rate card and the surcharge
🟢 Task 3: Test the edges and find the bug
🟢 Lab 3 Proof
🔴 Practice Set
🟢 Recap
🔴 Knowledge Check
Capstone
🔴 Course Capstone: The Nightly Manifest Run
🔴 Capstone Submission
Instructor Only
Setup and Delivery
Instructor Notes and Build Sheet
Demo Talk-Tracks and Orientations
Knowledge Check Answer Key
QA Report
QA Report: Open SME Items
Editable deck (PowerPoint, no speaker notes)
Instructor kit (Capstone reference solution, zip)
Next
Side panel
Categories
All categories
AI Learning Hub
AI Essentials
Level 1: Generative AI Foundation
Level 2: Grounding AI with your Data
Level 3: Automating AI Workflows
Copilot First-Step Kit
Claude
ChatGPT
Microsoft Copilot
M365
Office
Excel
Word
Outlook
PowerPoint
Power Platform
Power BI
Power Apps
Power Automate
SharePoint
Microsoft Official
Adobe
CompTIA
Holding
Webinars
Programming
WordPress
Accounting
Google
Upskilling Series
Home
Log in
Username
Username
Password
Password
Forgot your password?
Log in
Categories
Collapse
Expand
All categories
AI Learning Hub
AI Essentials
Level 1: Generative AI Foundation
Level 2: Grounding AI with your Data
Level 3: Automating AI Workflows
Copilot First-Step Kit
Claude
ChatGPT
Microsoft Copilot
M365
Office
Excel
Word
Outlook
PowerPoint
Power Platform
Power BI
Power Apps
Power Automate
SharePoint
Microsoft Official
Adobe
CompTIA
Holding
Webinars
Programming
WordPress
Accounting
Google
Upskilling Series
Home
Course info
Java Programming Level 2: Advanced Programming Techniques
Skill Level
:
Beginner