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 |