Java FSD Program

Topic Week(s) Content
Foundation
Java and Programming Fundamentals 3 Basic Java Fundamentals (Syntax, Data types, Variables, Operators, Control Structures, Arrays, Methods etc.,)

Introduction to IDEs, Plug-ins, Setup, Tools, Enablers to standardize/speed up development

Documentation and Communication - UML, Mental Maps, PowerPoint etc.,

Basics of working with Source Control systems like Git

Exercises

Core Language:

OO Programming in Java, Code Quality, QE Concepts, DB concepts

1 OO Programming (Classes, Objects, Interfaces, Packages, Access modifiers, Encapsulation, Abstraction, Inheritance, Polymorphism etc.,), Generics, Collections, Strings, Multithreading etc.,)

Entity classes, Serialization/De-Serialization

Error/ Exceptions Handling, Custom Exceptions

Reading and writing data from files, JSON, and XML

Unit testing with Junit, Mockito & Basic Debugging skills. Introduction to BDD approach

Importance of Code Quality, Coding Standards, Standard Solution/Project Structures. Ensuring Code Quality, Code Coverage using tools like SonarQube

Introduction to Quality Engineering, various phases of Testing along with gist of tools (Selenium, TestNG etc.,) in the Market. Introduction to Headless Testing. Aspects around Shift Left approach

Introduction to Database, SQL concepts (Working with MySQL/PostgreSQL) Tables, Columns, Querying – simple joins, inner/outer joins, “where” clauses, aggregation functions, subquery, stored procedures, index; query tuning basics

Exercises

Advanced Language: Programming Paradigms and Coding in Modern Java 1 Java Versions, LTS, Release Cycles

Java (8 to n) Features Understanding

Interface Enhancements, Functional / Reactive / Modular / Fluent / Stream Based Programming.

Functional Interfaces, Lambda Expression / Functions.

ForEach Iterable, Method References, Streams API etc.,

Introduction to SOLID Principles, Design Patterns

Exercises

Foundation: UI/Web 2

Introduction to HTML 5/CSS 3

Bootstrap / Similar framework

Working with Modern Javascript

Introduction to Angular

Thinking in Angular Lifecycle

Developer, Debugging Tools

Exercises

Enterprise Application Development
Spring Framework Springboot 2

Introduction to Spring Framework (Dependency Injection, IOC, MVC etc.,)

Spring Boot Basics, Creating a Spring Boot application

Introduction to REST and Microservices. Building REST and Microservices using Spring Boot

Connecting to Databases : SQL (MySQL/PostgreSQL) & No-SQL (MongoDB), Transactions

Frameworks for Persistence : H0ibernate / ORM / JPA

Introduction to Application Security with OAuth / Auth 2.0, Spring Security / JWT

Swagger Specification and Documentation

Introduction to Docker, Microservices Containerization using Docker

API Testing with Postman

Exercises

Cloud Basics & App Deployment:

Build AWS Pipeline

1

Introduction to Cloud computing

Cloud concepts, SaaS / PaaS / IaaS, Private / Public / Hybrid Clouds

Cloud Native Development

AWS Compute, Storage, Network concepts & Services (S3, EC2, VPC, EBS, Files etc.,)

DB Concepts (RDS, DynamoDB overview etc.,)

Security Concepts & Services (IAM, Security Group, Policies etc.,)

Build and deploy the full stack application to AWS, Elastic Beanstalk

Exercises

Capstone Project:

Skill Evaluation

(*Project will start from earlier stages)

1

Complete predefined project in small teams

Web application that includes UI, RESTful API, Database (Postgres)

Build, Test and Deploy on Cloud (Based on which cloud they learn)

Project Documentation

Project Presentation/Review

Cloud Native Approach: Advanced Concepts 1 Introduction to Cloud Native concepts and principles

Introduction to Spring Cloud and Microservices Operations (Registry, Inter-Service communication, Load balancing, Circuit breaker, Monitoring etc.,), Spring Batch

Introduction to API Gateway. Patterns like Messaging, Event Driven Architecture, CQRS

Application Security with OAuth / Auth 2.0, Spring Security / JWT

Spring Boot App for Production (Spring Actuator, KPI to measure in Production)

Docker Containerization

Introduction to Kubernetes Contrainer Deployment, Pods, Services and Cluster Architecture

Implement CI/CD with Jenkins. Toll gate strategy, overview of Telemetry, ELK, JMeter

Cloud Services - Organization, Cost, SNS, SQS, Lambda, Cloud Formation, CLI etc.,

Exercises

UI/UX:

Build and Test Single Page Applications with Angular

2 Working with Typescript

Building client-side applications with Angular

Introduction to component programming

Using routing, Directives, Build single page applications.

Working with server-side APIs, invoke APIs from SPA and packaging apps.

TDD: Basic use of testing tools (Mocha, Chai, Jasmine).

Use test automation tools

Exercises

Review/Re-Architect Capstone Project

Based on learnings from Advanced concepts

2

Design based on Cloud native best practices

Introduce API Gateway. Apply Spring Cloud features, Operations

Develop one of the service as a Serverless function

Develop with compliance to standards, integrated code quality checks

Define/Implement NFR (E.g.: Performance:2 seconds, ADA Compliance – Level A)

Project Presentation Review