← All courses

Training

Modern Java for Experienced Developers

Modern Java for Experienced Developers

Building Business Logic with OOP and Data-Driven Java - in 4 weeks

Unlock Java’s Full Potential — Build Data-Centric Solutions and Master OOP Principles for Modern Business Applications!

This intensive 4-week course is designed specifically for developers with deep experience in Programming and legacy systems who are ready to master Java and Object-Oriented Programming (OOP) principles. With a focus on data-centric applications and business logic, this program will bridge your legacy knowledge to Java, giving you the skills to build robust, scalable applications using modern techniques and industry-standard practices.

Throughout this course, you will learn how to translate your business logic expertise into powerful Java algorithms and applications. Key topics will include OOP concepts, data structures, real-time processing, microservices, and implementing a recommendation engine using core Java. Our approach is hands-on, using real-world examples, exercises, and case studies to ensure a smooth transition from legacy programming to Java.

Learning Outcomes

By the end of this course, participants will be able to:

  • Confidently apply Object-Oriented Programming (OOP) concepts in Java to build scalable, maintainable applications.
  • Analyze and design algorithms for business logic using Java’s data-handling capabilities.
  • Build a recommendation engine to apply Java’s core functionality in a data-driven context.
  • Develop modular, service-oriented applications with Java microservices.
  • Transition legacy business processes and logic into Java-centric, modern implementations without directly referencing RPG.

Prerequisites

To ensure success in this advanced Java training, participants should meet the following prerequisites:

  • Programming Proficiency
    • Strong experience with a programming language, ideally with object-oriented or procedural knowledge. Familiarity with designing, debugging, and maintaining code is essential.
  • Software Development Knowledge
    • Understanding of software development lifecycles (e.g., Agile, Waterfall) and practices like version control, code documentation, and testing.
  • Data Storage and Retrieval Architecture
    • Proficiency in data storage principles, especially relational databases (e.g., SQL), and knowledge of data access techniques, performance optimization, and managing data integrity.
  • Basic OS and Networking Knowledge
    • Command-line proficiency (Unix/Linux), understanding of system resources, and familiarity with networking basics, including TCP/IP, HTTP, and port configurations (especially SSH on port 22).
  • Technical Setup Requirements
    • Tools: IntelliJ IDEA with Maven and Visual Studio Code with the SSH plugin.
    • Access: Ability to connect to remote data sources and use SSH for remote environments.

Meeting these prerequisites will allow participants to maximize their engagement with the course material and effectively manage Java-based, data-centric application development.

Course Outline

The course will be delivered over four weeks, with each week building progressively towards a deeper understanding of Java and its applications for data-centric business solutions.

Week 1: Core Java Fundamentals and Object-Oriented Programming (OOP)

Goal: Develop a solid foundation in Java basics and OOP principles, which will be essential for building business logic applications.

  1. Java Basics and Syntax Overview
    1. Java setup, IDEs, and essential tools.
    2. Key syntax and program structure, including classes, methods, and packages.
    3. Introduction to Java data types, variables, and basic operators.
  2. Object-Oriented Programming Fundamentals
    1. Core OOP concepts: Classes, Objects, and Interfaces.
    2. Detailed exploration of Inheritance, Polymorphism, Abstraction, and Encapsulation.
    3. Differences and benefits of OOP over procedural approaches in the context of business logic.
  3. Java Data Structures and Collections for Business Logic
    1. Using Java’s Collections framework: lists, sets, maps, and queues.
    2. Best practices for choosing the right data structure for specific business scenarios.
    3. Implementing collections for efficient data management, batch processing, and transaction handling.
  4. Hands-On Exercises
    1. Exercises focused on creating and manipulating objects.
    2. Building simple OOP applications that replicate business logic.

Week 2: Advanced Java Features and Data-Centric Application Design

Goal: Dive deeper into Java’s advanced capabilities and data handling techniques for high-performance business applications.

  1. Java Exception Handling
    1. Basics of exception handling: try-catch-finally blocks, throw and throws.
    2. Designing error-handling strategies in Java to align with business requirements.
    3. Custom exceptions for specific business scenarios and logic enforcement.
  2. Working with Files and Streams
    1. Reading and writing data files for business processing.
    2. Using Java Input/Output Streams for large data handling.
    3. Serialization and deserialization techniques to store and retrieve complex data structures.
  3. Data-Centric Algorithm Design
    1. Translating business logic into algorithms and designing workflows in Java.
    2. Optimizing algorithms for efficiency, using Java’s built-in libraries where appropriate.
    3. Step-by-step exercises to convert business requirements into Java methods.
  4. Real-Time Processing and Concurrency
    1. Introduction to Java Multithreading and Concurrency for real-time data processing.
    2. Using the Executor framework, Runnable and Callable interfaces.
    3. Practical exercises on managing multiple transactions and threads in a business scenario.

Week 3: Building a Recommendation Engine Using Core Java

Goal: Gain a deep understanding of Java by designing and implementing a recommendation engine—an industry-standard algorithmic application.

  1. Introduction to Recommendation Engines
    1. Types of recommendation engines: content-based, collaborative filtering, and hybrid methods.
    2. Practical applications of recommendation engines in business contexts, such as customer suggestions or product ranking.
  2. Data Structures for Recommendations
    1. Utilizing hash maps, sets, and lists to manage user data and preferences.
    2. Strategies for optimizing data structures for recommendation accuracy and speed.
  3. Implementing Algorithms for Recommendations
    1. Designing core algorithms to calculate similarity, relevance, or preferences.
    2. Implementing basic collaborative filtering and content-based recommendation models in Java.
    3. Integrating data processing and storage for dynamic recommendation updates.
  4. Hands-On Project: Building a Functional Recommendation Engine
    1. Step-by-step project to build a recommendation engine that could be adapted for real-world use.
    2. Testing and tuning the engine for accuracy and efficiency.

Week 4: Introduction to Microservices and Building Service-Oriented Applications

Goal: Learn how to apply Java’s microservices capabilities to design modular, maintainable applications that meet modern architectural standards.

  1. Understanding Microservices Architecture
    1. Key concepts of microservices: modularity, separation of concerns, and scalability.
    2. Advantages of microservices over monolithic applications, especially for updating business processes.
  2. Building Microservices with Core Java
    1. Structuring Java applications into small, self-contained services.
    2. Best practices for inter-service communication, such as using REST APIs.
    3. Introduction to popular tools and frameworks for building microservices with Java, like Spring Boot (optional overview).
  3. Data Handling and Persistence in Microservices
    1. Database integration with microservices.
    2. Techniques for maintaining data consistency across services.
    3. Approaches to data storage and retrieval in a microservices setup.
  4. Case Study and Hands-On Project: Business Application with Microservices
    1. Design and implement a simplified business application using microservices.
    2. Practical project: Build and deploy a small microservices architecture for managing business transactions.
    3. Testing and debugging services for reliability and performance.

Curriculum Delivery Approach

  • Teaching Methods:
    • A mix of instructor-led lectures, in-depth code labs, and team-based problem-solving.
    • Hands-on exercises tailored to simulate real-world business scenarios.
    • Feedback-focused sessions to refine understanding and troubleshoot challenges.
  • Resources:
    • Detailed e-materials, reference excerpts, sample code templates.
    • Access to pre-designed Java modules for algorithmic practices and case study applications.
  • Mentorship and Guidance:
    • Weekly check-ins with the instructor for personalized feedback.
    • Guided mentorship during each project phase, especially for the recommendation engine and microservices components.

Expected Outcomes

Upon completion, participants will:

  • Possess a thorough understanding of Java’s object-oriented principles and how to implement business logic within this framework.
  • Have experience designing data-driven applications and algorithms in Java, including a fully functional recommendation engine.
  • Be able to independently develop modular, microservices-based applications for modern enterprise needs.
  • Be equipped to transition smoothly into Java-focused roles or projects, bringing their years of RPG expertise into the Java development sphere.

This course provides a transformative learning experience, empowering legacy-system experts to apply their skills in a contemporary language and architecture, ready to take on the demands of today’s technology landscape.

Practical, connected learning

My wider training approach brings hands-on implementation and systems thinking together, connecting technology with real operational needs.