Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

CourseHorse

Java Programming Level 2: Advanced Programming (Live Online)

via CourseHorse

Overview

This advanced Java training course is designed for students who already possess foundational Java programming knowledge and are ready to explore sophisticated programming methodologies. The course uses Java 12 as the primary development platform and builds upon core skills to introduce cutting-edge techniques and best practices.

Prerequisites:

Students should have practical experience with Java and comprehensive knowledge of the skills covered in Core Skills: Level 1. Specifically, you should be familiar with:

  • How Java works and its significance in the broader programming landscape
  • String manipulation and transformation techniques
  • Mathematical operations, Java operators, and loop structuresObject poriented programming principles and design patterns
  • Java collections framework and data structure optimization
  • Exception handling best practices and error management
  • Java code packaging and module organization
  • Integration with external data storage systems and databases

Course Outline:

Encryption

  • Introduction to cryptographic concepts
  • Plaintext and encrypted data representations
  • Cipher mechanisms and encryption algorithms
  • Cryptographic keys and key management
  • Symmetric key encryption techniques
  • Exercise 1: Encrypting Strings Using Advanced Encryption Standard
  • Block ciphers and operation modes
  • Initialization vectors and security parameters
  • Stream ciphers and applications
  • Asymmetric key encryption systems
  • Exercise 2: Encrypting Strings Using RSA Asymmetric Key Encryption
  • File encryption methodologies
  • Exercise 3: Encrypting Files
  • Summary of encryption techniques

Regular Expressions

  • Introduction to pattern matching
  • Understanding and decoding regular expressions
  • Character classes and their usage
  • Character sets and ranges
  • Quantifiers for repetition control
  • Anchors and positional assertions
  • Capturing groups and backreferences
  • Escaped characters and special syntax
  • Flags and modifiers
  • Exercise 1: Implementing Regular Expressions
  • Activity 1: Regular Expressions to Validate Input Formats
  • Regular expressions integration in Java
  • Exercise 2: Extracting Domains Using Pattern Matching
  • Exercise 3: Extracting Links Using Pattern Matching
  • Summary of regular expression applications

Functional Programming with Lambda Expressions

  • Introduction to the functional programming paradigm
  • Historical background and evolution of functional concepts
  • Functional programming principles and advantages
  • Understanding side effects and avoiding them
  • Deterministic functions and predictable behavior
  • Pure functions and their benefits
  • Exercise 1: Writing Pure Functions
  • Immutability of state and thread safety
  • Exercise 2: Creating an Immutable Class
  • Activity 1: Managing Immutable Lists
  • Immutable collections and their benefits
  • Exercise 3: Overriding the String Method
  • Functional Interfaces and contracts
  • Lambda expressions syntax and usage
  • Exercise 4: Listing and Processing Collections
  • Summary of functional programming concepts

Processing Data with Streams

  • Introduction to the stream API
  • Creating streams from various data sources
  • Parallel streams and concurrent processing
  • Encounter order and stream characteristics
  • Properly closing streams and resource management
  • Terminal operations and stream conclusion
  • Intermediate operations and stream transformation
  • Exercise 1: Using the Stream API
  • Activity 1: Applying Discount Rules to Items
  • Using collectors for aggregation and grouping
  • I/O streams and file processing
  • Exercise 2: Converting CSV Data to Collections
  • Activity 2: Searching and Filtering Specifics
  • Advanced stream patterns and techniques
  • Lambda functions in stream operations
  • Summary of stream processing capabilities

Unit Testing

  • Introduction to automated testing
  • Getting started with unit tests
  • JUnit framework overview and setup
  • Writing unit tests with JUnit
  • Exercise 1: Writing Your First Unit Test
  • Exercise 2: Writing Tests for Successful Scenarios
  • Deciding what to test and coverage strategies
  • Writing parameterized tests for multiple scenarios
  • Exercise 3: Writing Parameterized Tests
  • Handling unsuccessful tests, disabling tests when needed
  • Test setup and teardown methods
  • Exercise 4: Using Test Setup and Cleanup Methods
  • Mocking and isolating dependencies
  • Testing with mocks using the Mockito framework
  • Exercise 5: Using Mocks when Testing
  • Activity 1: Counting Words in Strings
  • Summary of unit testing best practices

Taught by

ONLC Training Centers

Reviews

4.3 rating at CourseHorse based on 8 ratings

Start your review of Java Programming Level 2: Advanced Programming (Live Online)

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.