Full Stack Java Developer Program
Tools for training
• Inhouse tool for content delivery and
program execution
• Inhouse assessment tool for weekly
assignments
Foundation Program Delivery Plan:
• Hybrid model - We conduct 30 minutes
course theory and 45 minutes of application of
theory learnt
• Weekly Assessment of each candidate
Batch size:
• Open to modifications basis of total number
of candidates to be trained
Training Course
Program Details
Course title:
• Full Stack Java Developer
program( Fundamentals course)
Duration
• 5 weeks
Overview of
concepts
covered
• Programming Languages
Object- • Object Oriented Programming
• Classes & Objects
Oriented • Pillars Of Object Oriented Programming
Programming • OOPS concepts and terminology
• Encapsulation & Examples
(OOPS) • Abstraction & Examples
• Inheritance
concepts • Advantages of OOPS
• Fundamentals of OOPS
What is Java?
Execution Model Of Java
Core Java Bytecode
Programming How to Get Java?
Introduction A First Java Program
of Java Compiling and Interpreting Applications
The JDK Directory Structure
Using Eclipse
• What are data types?
Data
• Primitive Datatypes & Declarations
• Variables & Types
• Numeric & Character Literals
types and • String formatting and Parsing
• String Literals
Variables
• Arrays, Non-Primitive Datatypes
• Casting & Type Casting
• Widening & Narrowing Conversions
• The Dot Operator
• What are Methods?
• Method Structure
• Declaration Of Methods
Methods • Calling Of Methods
• Defining Methods
• Method Parameters Scope
• Why static methods?
• Expressions
• Assignment Operator
Operators
• Arithmetic Operators
• Relational Operators
and
• Logical Operators
• Increment and Decrement Operators
Expressions • Operate-Assign Operators (+=, etc.)
• The Conditional Operator
• Operator Precedence
• The Cast Operator
• What are Control Flow Statements?
• Conditional (if) Statements
• Adding an else if
Control • Conditional (switch) Statements
While and do-while Loops:
Flow • for Loops
• A for Loop Diagram
Statements • Enhanced for Loop
• The continue Statement
• The break Statement
• Concept & Syntax Of Class
• Concept & Syntax Of Methods
Object- • Fields and Methods
Oriented
• Constructors & Destructors
• Encapsulation
Programming • Access Specifiers
• Access Control
Using • StringBuilder and StringBuffer
• Methods and Messages
Java • Parameter Passing
• Comparing and Identifying Objects
• Inheritance & Polymorphism:
Objects • Inheritance in Java
Objects • Defining a Class
• Creating an Object
and
• Accessing Class Members
• Instance Data and Class Data
• Defining Methods
Classes
• Constructors
• Access Modifiers
• Types Of Inheritance
• Single Inheritance
• Multi-level Inheritance
• Hierarchical Inheritance
Why use • Hybrid Inheritance
• Method Overloading
Inheritance? • Run-time Polymorphism
• Method Overriding
• Polymorphism in Java
• Types Of Polymorphism
• super keyword
• The Object Class & Methods
Java Files and I/O
• What is a Stream?
• Reading and Writing to Files (only txt
files)
• Input and Output Stream
• Manipulating input data
• Reading Lines
• Opening & Closing Streams
• Predefined Streams
• File handling Classes & Methods
• Using Reader & Writer classes
Interfaces and Abstract
Classes
• What is an Interface
• Defining Interfaces
• Separating Interface and
Implementation
• Implementing and Extending
Interfaces
• Abstract Classes
• What is a Package?
• Advantages of using a Package
• Types Of Packages
• Naming Convention
Packages • Steps For Creating Packages
• The import Statement
• Static Imports
• CLASSPATH and Import
• Defining Packages
• Package Scope
• Lambda Notation
• Lambda Syntax
Lambda Built- • Lambda Expression
• java.util.function package
in Functional • Use primitive versions of functional
interface
Interface • Use binary versions of functional interface
• Use the UnaryOperator interface
• Exceptions Overview
• Exception Keywords
Exception
• Catching Exceptions
• The finally Block
• Exception Methods
Handling • Declaring Exceptions
• Defining and Throwing Exceptions
• Errors and Runtime Exceptions
• Assertions
• The Collections Framework
• The Set Interface
• Set Interface Methods
• Set Implementation Classes
Collection • The List Interface
• List Implementation Classes
Framework • The Map Interfaces
• Map Implementation Classes
• Utility classes
• Generics in Java
• Primitive wrapper classes
Types of Inner classes with Programs
1. Nested Inner Class
2. Method Local Inner Classes
3. Static Nested Classes
4. Anonymous Inner Classes
Inner Inner Class Example
Local Classes
Lambda Expressions
Classes Method References
When to Use Nested Classes, Local Classes,
Anonymous Classes, and Lambda Expressions
• Processes and Threads
• Thread Objects
• Defining and Starting a Thread
Concurrency
• Pausing Execution with Sleep
• Interrupts
• Joins
• The SimpleThreads Example
Synchronization
1. Thread Interference
2. Memory Consistency Errors
3. Synchronized Methods
4. Intrinsic Locks and Synchronization
Concurrency 5. Atomic Access
Liveness
1. Deadlock
2. Starvation and Livelock
Immutable Objects
Concurrency
• A Synchronized Class Example
• A Strategy for Defining Immutable Objects
Lock Objects
Executors
High Level 1.
2.
Executor Interfaces
Thread Pools
Concurrency 3. Fork/Join
Concurrent Collections
Objects Atomic Variables
Concurrent Random Numbers
• Introduction To JDBC
• JDBC Architecture
JDBC
• Types Of JDBC Drivers & Differences
• Common JDBC Components
• Importing Packages
• Registering JDBC Drivers
• Opening Connection
Connecting • Executing Query
• Statement Class & Objects
a Java • Getting Information from Database
• Obtaining Result Set Information
program to • DML Operations through JDBC
• Cleaning up Environment
a Database
Agile • Introduction To Agile Methodology
• Scrum & Its Characteristics
Scrum • Sprints In Scrum
• Overview of Scrum Artifacts & Ceremonies
Overview
• Advanced Java
HTML, CSS • HTML Basics
&
• HTML Elements
• CSS Introduction
• CSS Syntax & Selectors
Javascript • Javascript Overview
• Bootstrap Overview
Overview
• Types of TypeScript
• Installing TypeScript and Configuring a
Project
• Taking Advantage of Built-in Types
• Writing functions in Typescript
• Creating and using custom Types
TypeScript
• Creating and Consuming Modules
• Application of types to more complex data
structures like arrays and objects.
• Installing and Using a Type Declaration File
• Union Types
• Type Narrowing
SQL
• Introduction to RDBMS • Retrieving Records
• Features of RDBMS • Normalization
• Introduction to SQL • Functions in SQL
• Basic Terminologies • Handling Null Values
• PLSQL Data Types • SQL Joins
• Primary Key v/s Foreign Key • Inner joins
• The Unique Constraint • Outer Joins
• DDL Statements • Right Joins
• DML Statements
Testing
• Create a new project for JUnit Tests
• Create and Run JUnit Tests
• Write Good Unit Tests
• Use assert methods
• Use basic JUnit Annotations - @Test, @BeforeEach, @AfterEach,
@AfterAll, @BeforeAll
• Test Performance and Exceptions in Unit Tests
• Write Parameterized Tests
• Adhere to JUnit Best Practices
• Use Eclipse to write and run JUnit Tests
Introduction to JSON
• Introduction
• Syntax
• Data types
• JavaScript Xml HttpRequest & Web APIs
• JSON and Databases
• JSON & Server Side Frameworks
Thank you J