Full Stack Java Core Development

Full Stack Java Core Development
Duration: 6 months
About Java:
Java is a statically-typed, high-level programming language that revolutionized the way languages were developed post its release. It did this by providing complete support for cross-platform execution through its JVM system. Due to this, it has been widely adopted by almost all companies and institutions in the industry going strong for 20+ years.
Technologies: Java 8, MySQL, JSPs, Spring Data JPA, Junit, Spring Boot, Spring Security, Thyme Leaf, Spring MVC, Tomcat, JVM.
Course Outline for Full Stack Java Core Development
● Explain the structured programming paradigm
● Explain the object-oriented programming paradigm
● Explain the features of Java as a OOP language
● Describe Java platform and its components
● List the different editions of Java
● Explain the evolution of Java Standard Edition (Java SE)
● Describe the steps for downloading and installing Java Development Kit (JDK)
● Explain the structure of a Java class
● List and explain steps to write a Java program
● Explain the various components of JVM
● Explain variables and their purpose
● State the syntax of variable declaration
● Explain data types
● Describe primitive and reference data types
● Describe escape sequence
● Describe format specifiers
● Identify and explain different type of operators
● Explain the concept of casting
● List the different types of decision-making statements
● Explain the if statement
● Explain the switch-case statement
● Compare the if-else and switch-case statement
● List the different types of loops
● Explain the while statement and the associated rules
● Explain the for statement and the associated rules
● Explain the for-each statement and the associated rules
● State the purpose of jump statements
● Explain creation of classes in Java
● Explain the instantiation of objects in Java
● Explain the purpose of instance variables and instance methods
● Explain constructors in Java
● Explain the memory management in Java
● Describe methods and the process of creation and invocation of methods
● Explain passing and returning values from methods, variable argument methods
● Describe access specifiers and the types of access specifiers
● Explain the concept of method overloading
● Explain the use of this keyword
● Describe an array, declaration, initialization, and instantiation of a single-dimensional array
● Explain declaration, initialization, and instantiation of a multi-dimensional array
● Describe ArrayList and accessing values from an ArrayList
● Describe String and StringBuilder classes
● Describe Wrapper classes, autoboxing, and unboxing
● Describe package and its advantages
● Explain the creation of user defined package
● Describe inheritance
● Explain the types of inheritance
● Explain super class and subclass
● Explain the use of super keyword
● Explain method overriding
● Describe Polymorphism
● Differentiate type of reference and type of objects
● Explain static and dynamic binding
● Explain virtual method invocation
● Explain the use of abstract
● Describe Interface, the purpose of interfaces
● Explain implementation of multiple interfaces
● Describe Abstraction
● Explain Nested class, Member class, Explain Local class, Explain Anonymous class
● Describe exceptions, types of errors and exceptions
● Describe the Exception class
● Describe exception handling
● Explain try-catch block, finally block, execution flow ofexceptions
● Explain new classes of the Date and Time API in Java 8
● Explain Enum and Clock types
● Describe the role of time-zones in Java 8
● Explain declaring an annotation type in Java
● Describe predefined annotation types
● Explain Type annotations
● Explain Repeating annotations
● Describe Base64 encoding
● Explain lambda expressions
● Describe method references
● Explain functional interfaces
● Explain default methods
● Describe the Stream API
● Outline the differences between collections and streams
● Explain the classes and interfaces in Stream API
● Describe how to use functional interfaces with Stream API
● Describe the Optional class and Spliterator interface
● Explain stream operations
● Explain the limitations of Stream API