Learn the fundamentals of programming and object oriented developement with the core JAVA.
4 Months Duration
What is HTML
HTML and the World Wide Web
Role of HTML in Web Development
HTML Editors and Development Environment Setup
Basic HTML Document Structure (DOCTYPE, ,
, )HTML Elements and Tags
Block-level vs Inline Elements
HTML Attributes (Global and Element-specific Attributes)
Void Elements (e.g., img, br, input)
Paragraphs, Headings, and Divisions
Semantic HTML: header, footer, article, section
Text-level elements: strong, em, span, etc.
Lists: Ordered (ol) , Unordered (ul) Lists and Definition List (dl)
Quotes: Blockquote and Inline Quotes
Creating Hyperlinks with 'a'
Linking to External and Internal Resources
Email Links, Telephone Links and Image Links
Navigation Bars and Menus (with 'nav')
Inserting Images with 'img'
Alt Attribute and Image Descriptions
Responsive Images (picture, srcset)
Embedding Audio (audio)
Embedding Video (video)
Using 'iframe' for External Content (e.g., YouTube)
Creating Tables: table, tr, td, th
Table Headers, Footers, and Captions
Colspan and Rowspan Attributes
Table Accessibility Considerations
Form Structure: form, action, method
Common Input Types: Text, Password, Email, Number, Date, etc.
Checkboxes, Radio Buttons, and Select Dropdowns
Textarea and Submit Buttons
Form Validation (Required Fields, Pattern Matching)
Labeling Forms and Improving Accessibility
The Role of Semantic HTML in Modern Development
New Structural Elements in HTML5 (header, footer, main, aside)
Using section and article for Content Segmentation
Benefits for SEO and Accessibility
Embedding External Resources with iframe
Inline SVG Graphics
Embedding External Stylesheets and JavaScript Files
The embed and object Elements for External Applications (PDF, Flash)
What is CSS
History and Evolution of CSS
Advantages of CSS in web development
Types of CSS: Inline, Internal, External
Basic CSS Syntax and Structure
CSS Selectors: Element, ID, Class, Universal, Grouping
Understanding the Box Model
Margins, Borders, Padding, and Content
Box-sizing property
Attribute Selectors
Pseudo-Classes and Pseudo-Elements
Combinators: Descendant, Child, Adjacent, General Sibling
Positioning: Static, Relative, Absolute, Fixed, Sticky
Display Property: Block, Inline, Inline-Block, None
Float and Clear
CSS Flexbox: Introduction and Key Properties
CSS Grid: Introduction and Key Properties
Font Properties: Font-Family, Font-Size, Font-Weight, Font-Style
Text Properties: Text-Align, Text-Transform, Text-Decoration, Line-Height
Using Web Fonts
Styling Hyperlinks: Link States
Styling Ordered, Unordered, and Definition Lists
Color Models: RGB, RGBA, HEX, HSL, HSLA
Background Properties: Background-Color, Background-Image, Background Position, Background-Repeat, Background-Attachment
Border Properties: Border-Width, Border-Style, Border-Color, Border-Radius
Gradients: Linear, Radial
CSS Units and Values
Absolute Units: px, pt, cm, mm
Relative Units: em, rem, vw, vh, %, fr
Calculations using the calc() function
CSS Transitions: Transition Properties, Timing Functions
CSS Animations: Keyframes, Animation Properties
Media Queries: Breakpoints and Usag
Viewport Meta Tag
Responsive Units: %, vw, vh, rem, em
Mobile-First Approach
Flexbox and Grid for Responsive Layouts
Handling Cross-browser Compatibility
Vendor Prefixes for Different Browsers: -webkit-, -moz-, -ms-, -o-
Tools for Compatibility Testing
CSS Grid Advanced Techniques: Grid Areas, Template Layouts
Advanced Flexbox Layout Patterns
CSS Shapes and Masks
CSS Clip-Path Property
CSS Filters: Blur, Grayscale, Drop Shadows, etc.
Advanced Selectors (Nth-child, Nth-of-type)
Ensuring Text Readability and Color Contrast
Focus and Active States for Keyboard Navigatio
CSS Guidelines for Accessible Web Design
When to Use Grid vs. Flexbox
Differences and Use Cases
Brief history of JavaScript
ECMAScript and standardization
Setting Up the Development Environment
Basic Syntax - Comments, variables, keywords
Data types and type conversion
Expressions and operators
Variables and Scope
Data Types
Type Conversion
Conditionals Statements
switch statement
Loops
Defining Functions - Function declarations and expressions
Arrow functions
Parameters and Arguments - Default parameters
Parameters and Arguments - Rest parameters and spread syntax
Scope and Closures
Callback Functions - Synchronous vs asynchronous callbacks
Objects - Creating objects (object literals, new Object())
Accessing and modifying object properties
Prototypes - Prototype chain
Prototypal inheritance
Classes and Inheritance - Defining classes (class keyword)
Class inheritance (extends, super)
Static methods and properties
Creating arrays, accessing elements
Array length, adding/removing elements
Iterating Over Arrays - forEach(), map(), filter(), reduce(), some(), every(), sort()
Array Mutability - Array methods that modify vs return new arrays
Multi-dimensional Arrays - Working with nested arrays
Types of Errors
Error Handling - try...catch block, finally statement, Throwing custom errors
Debugging Tools
Callbacks - Defining and using callbacks
Promises - Creating and consuming promises
Promises - then(), catch(), and finally()
Promises - Promise chaining
Promises - Async/Await
Promises - Event Loop
DOM tree and nodes
Selecting Elements - getElementById(), getElementsByTagName(), getElemensByClassName(), querySelector(), etc.
Manipulating Elements - Changing content (innerHTML, textContent), Changing attributes, classes, styles
Event Handling - Adding event listeners (click, keydown, mouseover, mouseleave), Event delegation, Preventing default behavior
setTimeout(), setInterval()
Local Storage and Session Storage
Fetch API - Making HTTP requests, Handling responses, JSON parsing
Geolocation API
Web Workers - Multithreading with web workers
Modules - ES6 modules (export, import), Default and named exports
CommonJS and AMD - require() and module.exports
Bundlers - Using tools like Webpack or Parcel
Basics of Regular Expressions - Syntax and pattern matching
Common Methods - test(), exec()
String methods using regex (match(), replace())
Flags and Modifiers
What is jQuery
jQuery vs. JavaScript
Advantages of using jQuery
How to include jQuery in a project
Overview of jQuery selectors
Basic selectors (ID, class, element)
Attribute selectors
Hierarchical selectors
Pseudo-selectors (e.g., :first, :last, :nth-child)
Traversing the DOM (parent, child, sibling methods)
Adding/removing elements
Modifying element content
Modifying element attributes
Event binding methods
Event delegation
Event propagation (bubbling and capturing)
Preventing default behavior
Stopping event propagation
Showing and hiding elements
Fading elements
Sliding elements
Chaining animations
Selecting form elements
Handling form events
Serializing form data
JQuery Utilities
Using $.extend()
Utility functions ($.trim(), $.isArray(), etc.)
Working with browser storage using localStorage and sessionStorage
Overview of Bootstra
History and evolution of Bootstrap
Importance of responsive design in web development
Installation and setup of Bootstrap (via CDN, npm, or manual download)
File structure of Bootstrap
Understanding the Bootstrap grid system
Grid layout and breakpoints
Building responsive layouts with the grid system
Understanding container, row, and column classes
Nesting grids and offsetting columns
Bootstrap’s typography system
Headings, paragraphs, and text utilities
Lists, blockquotes, and code elements
Inline elements and contextual text classes
Bootstrap’s typography system
Headings, paragraphs, and text utilities
Lists, blockquotes, and code elements
Inline elements and contextual text classes
Overview of Bootstrap components
Buttons and button groups
Forms: Form controls, input groups, layout options, and validation
Navigation: Navbar, navs, and tabs
Dropdowns and modals
Alerts, badges, and breadcrumbs
Cards and media objects
Utility classes in Bootstrap
Margin, padding, and spacing utilities
Display and visibility classes
Sizing utilities for width, height, and viewport settings
Flexbox utilities for alignment, distribution, and order
Text alignment and font utilities
Background and color utilities
Carousel and image sliders
Collapse and accordions
Tooltips and popovers
Pagination and progress bars
Scrollspy and sticky navigation
Introduction to Bootstrap Icons
Adding and customizing Bootstrap Icons
Customizing Bootstrap with Sass variables
Overriding Bootstrap styles
Creating custom themes with Bootstrap
What is React
History and evolution of React
Key features of React
Understanding Single Page Applications (SPAs)
React vs Other Frontend Frameworks (Vue, Angular)
Node.js and npm installation
Installing React using Create React App (CRA)
Project folder structure in React
Overview of development tools (VS Code, React Developer Tools)
Introduction to JSX
JSX vs HTML
Embedding JavaScript expressions in JSX
JSX attributes and children
Types of Components: Functional and Class-based
Component lifecycle (Introduction)
Creating and exporting components
Component reusability
Passing data with props
Default props
Prop types (validating props)
Passing data with props
Default props
Prop types (validating props)
What is state in React
Managing local state in functional components
The useState hook
Updating and manipulating state
Handling events in React
Passing arguments to event handlers
Synthetic events
Using if-else for conditional rendering
Ternary operators and logical && for rendering
Rendering lists in React
Using keys in lists
Handling dynamic data in lists
Controlled vs Uncontrolled components
Handling form inputs
Form submission and validation
Lifting state to a common ancestor
Sharing state between components
Introduction to React Router
Setting up routing in a React application
Route parameters and navigation
Nested routes and redirection
Introduction to Hooks in React
useState, useEffect, useContext hooks
Rules of Hooks
Custom hooks and when to use them
Introduction to side effects
Fetching data with useEffect
Cleaning up effects
Dependency arrays in useEffect
Introduction to React Context
Creating a Context
Providing and consuming context
When to use Context vs props
Introduction to React performance optimizations
Memoization with React.memo and useMemo
Reducing unnecessary re-renders
Reducing unnecessary re-renders
Introduction to HOCs
Creating and using HOCs
Use cases for HOCs
Setting up Redux in a React application
Actions, Reducers, and Store
Connecting Redux to React components with react-redux
Understanding the Redux flow
Building a React application for production
Hosting React apps on platforms like Netlify, Vercel, or GitHub Pages
Optimizing bundle size and performance for deployment
Overview of Material Design principles
What is Material UI
Comparison of MUI with other UI libraries (Bootstrap, Ant Design, etc.)
Installation & setup of Material UI in React applications
Default theme vs. custom themes
Working with createTheme API
Theme customization (colors, typography, spacing)
Palette customization
Dark mode integration
Core Components
Form Components
Feedback Components
Navigation Components
Grid layout system and its breakpoints
Box and Container components
Flexbox utilities in Material UI
Styling components with the sx prop
Using makeStyles and styled API for custom styles
Using Material UI Icons
Customizing Icon appearance
Using third-party icons with MUI
Controlled vs. uncontrolled form components
Validation using yup and formik
Managing form states with Material UI
Breakpoints and media queries
Responsive typography
Responsive grids and containers
Hidden components
Tables
Cards
Lists and ListItem components
Chips, Avatars, and Badges
Overriding component styles
Global style overrides
Advanced theme options
Integrating React Router with Material UI components
Drawer, AppBar, and responsive layouts for navigation
Breadcrumbs for hierarchical navigation
Implementing transitions using MUI’s Grow, Fade, and Slide
Advanced animations using react-spring or framer-motion with MUI
Optimizing Material UI for performance
Using MUI’s CssBaseline for consistent styling across browsers
Reducing bundle size by importing components efficiently
Overview of Java Programming Language
Features of Java (Object-Oriented, Platform-Independent, etc.)
Java Development Kit (JDK) and Java Runtime Environment (JRE)
Java Virtual Machine (JVM)
Installing Java and Setting up Environment (PATH, CLASSPATH)
Structure of a Java Program
Compilation and Execution Process
Data Types, Variables, and Constants
Operators in Java
Conditional Statements
Control Flow Statements
iClasses and Objects
Static Members
Constructors
This Keyword
Inheritance (Single, Multilevel, Hierarchical, Multiple, Hybrid )
super Keyword
Polymorphism (Method Overloading and Method Overriding)
Defining and Importing Packages
Access Modifiers (private, public, protected, default)
Encapsulation
Interface Introduction
Abstraction
Nested and Inner Classes
Final Classes
Introduction to Exception Handling
Try, Catch, Finally Block
Throw and Throws
Built-in Exceptions (Checked and Unchecked)
Custom Exceptions
Creating Threads using Thread Class and Runnable Interface
Thread Lifecycle and States
Synchronization
Inter-thread Communication (wait, notify, notifyAll)
Deadlock
Thread Pooling
Introduction to Collection API
Interfaces (List, Set, Map, Queue)
Classes (ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap, LinkhashMap)
Types of Linked Lists
Iterators (Iterator, ListIterator)
Comparable and Comparator Interfaces
Collection Utility Methods
Immutable Strings and String Pool
String Class and Methods
StringBuffer and StringBuilder
StringTokenizer
Java I/O Streams (Byte Streams and Character Streams)
Reading and Writing to Files
File Input Stream
Buffered Streams
Serialization and Deserialization
File Handling (File, FileWriter, FileReader)
Introduction to Annotations
Built-in Annotations (@Override, @Deprecated, etc.)
Custom Annotations
Meta-Annotations
Use of Annotations in Frameworks
Lambda Expressions
Functional Interfaces
Stream API
Method References
Optional Class
Default and Static Methods in Interfaces
Stack vs Heap Memory
Garbage Collection in Java
Types of Garbage Collectors
Finalize Method
JVM Memory Architecture
Singleton
Factory design pattern
DAO Pattern
MVC Pattern
Java Reflection API
Dynamic Class Loading
Java Concurrency Utilities (java.util.concurrent Package)
Generics in Java
Java Native Interface (JNI)
History and evolution of SQL
SQL vs NoSQL
Types of databases (RDBMS, column-based, key-value, etc.)
Database concepts: Tables, Rows, Columns, Relationships
Numeric types (INT, FLOAT, DECIMAL)
Character types (CHAR, VARCHAR, TEXT)
Date and time types (DATE, TIME, TIMESTAMP)
Boolean types
BLOB (Binary Large Object)
PRIMARY KEY constraint
FOREIGN KEY constraint
UNIQUE constraint
CHECK constraint
DEFAULT constraint
NOT NULL constraint
Normalization (1NF, 2NF, 3NF, BCNF)
Denormalization
Primary keys, foreign keys, and unique keys
Indexing
DDL Commands
DML Commands
DQL Commands
TCL Commands
DCL Commands
SELECT statement
FROM and WHERE clause and logical operators (AND, OR, NOT)
ORDER BY clause
LIMIT and OFFSET clauses
GROUP BY Clause
HAVING Clause
DISTINCT keyword
Aggregate functions (COUNT, SUM, AVG, MIN, MAX)
Scalar functions (UPPER, LOWER, LENGTH, ROUND)
Date functions (NOW, CURDATE, DATE_ADD, DATE_SUB)
String Functions
Control Functions
Conversion Functions
INNER JOIN
LEFT JOIN (or LEFT OUTER JOIN)
RIGHT JOIN (or RIGHT OUTER JOIN)
FULL OUTER JOIN
CROSS JOIN
Self joins
Single-row subqueries
Multi-row subqueries
Correlated subqueries
EXISTS and NOT EXISTS clauses
UNION and UNION ALL
INTERSECT
EXCEPT (or MINUS)
ACID properties (Atomicity, Consistency, Isolation, Durability)
COMMIT and ROLLBACK
SAVEPOINT
Transaction isolation levels (READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, SERIALIZABLE)
Purpose of indexes
Types of indexes (single-column, multi-column)
Unique and non-unique indexes
Full-text index
Index performance considerations
Creating views
Updating views
Dropping views
Advantages and limitations of views
Creating stored procedures
IN, OUT, and INOUT parameters
Creating user-defined functions
Differences between stored procedures and functions
Introduction to JDBC
JDBC Architecture and Driver Types
Connecting to Database
Executing SQL Queries (Create, Read, Update, Delete)
PreparedStatement, CallableStatement
ResultSet and ResultSetMetaData
Handling Transactions
Definition and purpose of servlets
Role of servlets in web applications
Servlet vs CGI
Java EE architecture overview
javax.servlet and javax.servlet.http packages
Annotations for servlet deployment (@WebServlet)
Servlet context and servlet config
Directory structure of a servlet-based web application
HTTP request-response model
HTTP methods: GET, POST, PUT, DELETE
Reading data from HttpServletRequest (headers, parameters)
Writing response using HttpServletResponse (content type, status codes)
Importance of session management in web applications
Techniques for session management
Handling session timeout and lifecycle
RequestDispatcher interface
Forwarding requests to other resources (servlets, JSP, static files)
Including response from other resources
Definition and use of filters
Filter lifecycle
Applying filters to requests (doFilter())
Chaining filters
Filter configuration (using web.xml or annotations)
Handling file upload in servlets (MultipartConfig annotation, Part interface)
Processing large file uploadse
Sending files for download (setting content type, handling large files)
Configuring error pages using web.xml
Handling errors programmatically (error codes, exceptions)
Custom error handling based on exceptions and HTTP status codes
Establishing a database connection in servlets
Performing CRUD operations with JDBC in servlets
Best practices for handling database resources (connection pooling)
Introduction to JSP
Uses of JSP
Java Server package Vs Jakarta Server Page
Role of JSP in MVC architecture
Forwarding and including JSPs in servlets
Sharing data between servlets and JSP (request, session, application scopes)
Tomcat Server
Eclipse
GIT/GITHUB
Maven/Gradle
Junit
What is SDLC
Maven/Gradle
Types of phases in SDLC
Overview of Spring Framework
Core features of Spring (Inversion of Control, Dependency Injection)
Introduction to Spring Modules (Spring Core, Spring Data, Spring MVC, SpringBoot, etc.)
What is Spring Boot?
Spring Boot vs Spring Framework
Advantages of using Spring Boot
Spring Boot architecture and components
Spring Boot CLI and IDE setup
Understanding Spring Boot project structure
Spring Boot starter templates
Dependency management using Maven/Gradle
Application properties and YAML configurations
Auto-configuration mechanism in Spring Boot
Using annotations (@SpringBootApplication, @Component, @Bean)
Customizing Spring Boot auto-configuration
Auto wiring
Overview of Spring Data JPA
Entity relationships (One-to-One, One-to-Many, Many-to-Many)
CRUD operations with Spring Data repositories
Query methods and JPQL (Java Persistence Query Language)
Pagination and sorting
Transaction management with @Transactional
Introduction to Postman Too
Building RESTful web services using Spring Boot
Handling HTTP requests and responses (GET, POST, PUT, DELETE)
RequestBody, ResponseEntity, and PathVariable
Exception handling in Spring Boot (ControllerAdvice, ExceptionHandler)
Validating REST API inputs using annotations
Introduction to Spring Security
Configuring authentication and authorization
Role-based access control (RBAC)
JWT (JSON Web Token) integration with Spring Security
OAuth2 for securing Spring Boot applications
Unit testing with JUnit
Testing Spring Boot applications using Spring Test
Integration testing with Spring Boot
Mocking dependencies with Mockito
Writing test cases for REST controllers and services
Configuring Spring Boot with relational databases (MySQL, PostgreSQL, etc.)
Database initialization and migrations using Flyway/Liquibase
Connecting to NoSQL databases (MongoDB, Cassandra)
Spring Boot with Redis for caching
Introduction to messaging in Spring
Integrating Spring Boot with messaging platforms (RabbitMQ, Kafka)
Asynchronous messaging with Spring Boot
Message converters and listeners
What are microservices?
Monolithic vs Microservices architecture
Benefits and challenges of microservices
Key concepts: API Gateway, Service Discovery, Circuit Breaker, Distributed Configuration
Building microservices using Spring Boot
Communication between microservices (REST, messaging, gRPC)
Service Registration and Discovery with Eureka
Load balancing with Spring Cloud Ribbon
API Gateway with Spring Cloud Gateway or Zuul
Configuring externalized properties with Spring Cloud Config
Synchronous communication with REST
Asynchronous communication with Kafka, RabbitMQ
Circuit Breaker with Spring Cloud Netflix Hystrix/Resilience4j
Distributed tracing with Sleuth and Zipkin
Securing microservices with Spring Security
OAuth2 and JWT-based authentication
Securing API Gateway
Implementing SSO (Single Sign-On) with Spring Boot
Handling databases in microservices (Database per service pattern)
Transaction management in distributed systems
Saga Pattern and Event-Driven Architecture
Data consistency in microservices
Centralized logging using ELK (Elasticsearch, Logstash, Kibana)
Distributed tracing with Spring Cloud Sleuth and Zipkin
Application metrics with Micrometer
Integrating Prometheus and Grafana for monitoring
Introduction to Docker
Introduction to Kubernetes
Containerization with Docker
Orchestrating containers with Kubernetes
Using Helm for managing Kubernetes applications
Cloud deployment with AWS/GCP/Azure
CI/CD pipelines for Spring Boot microservices (Jenkins, GitLab CI, etc.)
Spring Tool Suit (STS)
Intelllj
Eclipse
Tomcat, Jetty, Undertow
H2, HSQL, Derby
POST MAN
4 Months Duration
