Java In-Depth: Become a Complete Java Engineer!

BY
Udemy

Build an in-depth understanding of Java concepts along with design principles and instructor-led Java EE projects by enrolling in this course by Udemy.

Mode

Online

Fees

₹ 799 4999

Quick Facts

particular details
Medium of instructions English
Mode of learning Self study
Mode of Delivery Video and Text Based

Course overview

Java In-Depth: Become a Complete Java Engineer! the course is an online short programme on Java created by Dheeru Mundluru, the Principal Instructor at Semantic Square. The curriculum will help the learners to gain a deep insight into core and advanced features of Java including JVM internals. The programme equips students with enough knowledge of Java to become professional Java engineers.

Offered by Udemy, Java In-Depth: Become a Complete Java Engineer! the online course discusses all the aspects and features of the Java programming language in detail. Through this programme,  learners will have built the potential to write their own professional code and applications through plenty of coding exercises. The syllabus also provides exposure to real-world experience by developing an instructor-led Java EE-based Web application using technologies like JSP, Servlets, and MySQL. 

Java In-Depth: Become a Complete Java Engineer! certification also provides different kinds of learning materials including articles, video lectures, and training by exercise. The programme also helps the become an Oracle Certified Associate and build a career as a Java programmer

The highlights

  • Online course 
  • 30-Day Money-Back Guarantee
  • Downloadable resources
  • Coding exercises
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of completion
  • English videos with multi-language subtitles

Program offerings

  • 67 hours on-demand video
  • 33 articles
  • 290 downloadable resources
  • 15 coding exercises
  • Full lifetime access
  • Access on mobile and tv
  • Assignments
  • Certificate of completion
  • English videos
  • Multi-language subtitles

Course and certificate fees

Fees information
₹ 799  ₹4,999
certificate availability

Yes

certificate providing authority

Udemy

Who it is for

What you will learn

Java Database knowledge

After the completion of the Java In-Depth: Become a Complete Java Engineer! Online certification, the participants will have the opportunity to master Object-Oriented Programming concepts, to build a detailed understanding of Functional-style Programming using Java 8 constructs like Lambdas & Streams, and to take a deep dive into the design principles, best practices, and coding conventions. All this will enable them to come up with well-designed, professional Java codes.

The syllabus

Course Introduction

  • Why Yet Java Course?
  • Course Structure & Guidance for Doing this Course
  • Terms of Sevice & Copyrights

Java: A High-level Overview

  • Chapter Introduction
  • What is Java & Who is Using It?
  • The story behind Java's Creation ~ A Brief History
  • Compilation
  • Platform Dependency + Demo
  • Interpreter
  • Platform Dependency + Demo
  • Java Virtual Machine
  • An Overview of Java SE
  • Java SE Release Cycles & Release History
  • Installing JDK 17 on Windows
  • Installing Java on Mac
  • Installing Java on Linux
  • Setting Classpath Environment Variable
  • Writing First Java Program + Demo
  • Conclusion
  • Chapter Quiz
  • Important Q&A Discussions!

Classes, Objects and thier Members

  • Chapter Introduction
  • Class & Object
  • Demo: Absolute Java Basics
  • Variables: Introduction
  • Demo: Declaring & Re-initializing Variables
  • Currency Converter - Creating a Class with Variables
  • Variables: Primitive Types
  • Primitive Variables: Integers + Demo
  • Demo: Other Integer Literal Formats
  • Primitive Variables: Floating-point Numbers + Demo
  • Demo: Floating-point Pitfalls
  • Primitive Variables: Character Data Type + Demo
  • Demo: Alternate ways to initialize char variables
  • Demo: Primitive Variable: Boolean Data Type
  • Demo: Variable Kinds
  • Demo: Multi-variable Declaration Statements
  • Quiz: Variables
  • Variables: Type Casting + Demo
  • Variables: Object References + Demo
  • Statements + Demo
  • Arrays + Demo
  • Currency Converter - Array Creation & Accessing it Elements
  • 2D Arrays
  • 3D Arrays + Demo
  • Methods: Introduction + Demo
  • Method Types + Demo
  • Summary on Accessibility of Members from Static & Instance Methods
  • Currency Converter ~ Invoking Methods of an Object
  • How Data is Passed to Methods in Java? + Demo
  • Method Overloading + Demo
  • Methods: varargs + Demo
  • Constructors + Demo
  • Constructor Overloading + Demo
  • Demo: Constructor Overloading ~ Alternate way of delegating
  • Demo: this Reference
  • Demo: Reinitializing Object References ~ More Brainstorming!
  • Minor Note on Executing StudentTest
  • Arrays with Object References
  • Review of Exercise 1 Solution with Best Practices
  • Conclusion
  • Chapter Quiz
  • Important Q&A Discussions!

Method Building Blocks: Operators & Control- flow Statements

  • Chapter
  • Operators
  • Arithmetic Operators + Demo
  • Arithmetic Operation Rules + Demo
  • Quiz: Arithmetic Operators
  • Note on Student Class
  • Demo: Comparison Operators
  • Logical Operators + Demo
  • Car Price Estimator ~ Coding Exercise for Comparison & Logical Operators
  • Car Price Estimator ~ Putting Comparison & Logical Operators into Action
  • Car Price Estimator - Exercise Solution
  • Bitwise Operators + Demo
  • Quick Note on Bitwise Operators with Boolean Operands
  • Bit Shift Operators
  • Quiz: Bitwise & Bit Shift Operators
  • Control-flow: Demo: if-statement
  • Control-flow: switch + Demo
  • When is switch Preferred?
  • Quiz: switch Statement
  • Control-flow: Ternary + Demo
  • Additional Notes on Ternary Operator
  • Control-flow: for Statement + Demo
  • Demo: More for Statement ...
  • Demo: for-each Statement
  • Variable Scope
  • Exercise
  • Computing GPA ~ Putting Operators & Control-flow to Test
  • Control-flow: while Statement
  • Control-flow: break Statement + Demo
  • Control-flow: continue + Demo
  • Recursion + Demo
  • Minor Correction in Binary Search Code
  • Conclusion

Package, Stings and Information Hiding Design Principle

  • Chapter Introduction
  • Java API
  • Accessing Packages + Demo
  • Creating Packages & Classpath Management + Demo
  • Naming Packages
  • Access Levels + Demo
  • More on private Modifier + Demo
  • Quiz: Packages
  • Strings: Introduction
  • String Class + Demo
  • String Pool & Interning + Demo
  • String Immutability
  • String Concatenation + Demo
  • String Concatenation Performance
  • Escape Sequences + Demo
  • Sentiment Analysis: Mining Pros & Cons ~ Putting String Class to Test
  • Information Hiding - Use Accessor Methods
  • Demo: Enhancing Student Example with Information Hiding
  • Minimize Accessibility of Classes & Members
  • Conclusion
  • Chapter Quiz
  • Important Q&A Discussions!

Programming with Eclipse IDE

  • Introduction
  • Installing Eclipse
  • Writing a Java Program in Eclipse
  • Eclipse Build Process
  • Short Note before Importing Demo Code
  • Importing Demo Code
  • Source Code Navigation
  • Automatic Source Code Cleaning & Generation
  • Shortcuts Cheat Sheet

More java.lang & Coding Conventions

  • Chapter Introduction
  • Note on Few Demos
  • Demo: Math Class
  • Initializers: Static & Instance + Demo
  • Note on Instance Initialization Blocks
  • final Variable + Demo
  • Constant Variables + Demo
  • Boxed Primitives & Static Factory Methods+ Demo
  • Demo: Uses of Boxed Primitives
  • Autoboxing + Demo
  • Prefer Primitives over Boxed Primitives
  • Parsing API Response ~ Let's make use of Boxed Primitives & String class
  • Coding Conventions: Naming Classes, Methods and Variables
  • Coding Conventions: Structuring Programs
  • Coding Conventions: Stylistic + Demo
  • Coding Conventions: Comments + Demo
  • Conclusion
  • Chapter Quiz

Case Study: A Social Bookmarking Application

  • trill.io ~ A Social Polymarking App!
  • Case Study

Serious OOP: Inheritance & Polymorphism

  • Inheritance
  • Access Modifiers & Inheritance + Demo
  • IS-A Test
  • Hospital Management System (HMS) ~ Let's put Inheritance into practice!
  • Polymorphism + Demo
  • Casting Objects & instanceof Operator + Demo
  • Extending HMS with a Billing Component ~ Putting Polymorphism into Practice!
  • Type Safety
  • Method Overriding + Demo
  • Minor Correction in First Method Overriding Rule
  • Method Binding + Demo
  • What is Not Overridden? (final Method is one of them) + Demo
  • Demo: Fields are Not Overridden
  • Object Class + Demo
  • Constructor Chaining + Demo
  • Preventing Inheritance
  • Conclusion
  • Chapter Quiz

More Serious OOP: Abstract Classes & Interfaces

  • New Requirement: thrill.io for Kids
  • Note on Next Lecture on Abstract Classes
  • Abstract Classes & Methods + Demo
  • Note on Abstract Classes & Constructors
  • Prefer Class Hierarchies over Tagged Classes
  • Computing Health Insurance Premium for Staff ~ Let's put Abstract Classes & Methods into practice!
  • New Requirement: Sharing Bookmarks
  • Multiple Inheritance & Diamond Problem
  • Interfaces
  • More on Interfaces
  • Note on Next Lecture on Interfaces
  • Demo: Interfaces
  • Interfaces: A Conceptual View
  • Prefer Interfaces over Abstract Classes
  • Refer Objects through their Interfaces
  • Computing Health Insurance Premium for Staff (Part 2) ~ Let's put Interfaces into practice!
  • Marker Interfaces
  • Cloneable Interface + Demo
  • default Methods (Java 8) + Demo
  • Recap of default Methods
  • default Methods: Other Benefits + Demo
  • Static Methods in Interfaces + Demo
  • Conclusion
  • Chapter Quiz
  • Important Q&A Discussions!

Debugging Java Programs & Unit Testing with JUint

  • Note on Reorganizing Eclipse Tutorial
  • Using Eclipse Debugger
  • JUnit & Debugging
  • Shortcuts Cheat Sheet

Project: Implementing a Social Bookmarking App

  • Project Introduction
  • MVC Architecture
  • Implementing Entities
  • Implementing Manager Classes - Demonstrates Singleton Pattern!!
  • Implementing Constant Exporting Classes
  • Implementing Data Store
  • Implementing Dao Classes
  • Launching the Application
  • Implementing User Bookmarking Feature
  • Implementing Kid-Friendly Eligibility Criteria Using TDD
  • Marking Bookmarks as Kid-Friendly
  • Minor Coding Correction in Previous Lecture
  • Implementing Sharing Feature: Part 1 (Implementing Shareable Interface)
  • Troubleshooting StringUtils Compilation Issue
  • Implementing Sharing Feature: Part 2 (View, Controller and Manager)

JVM Internals

  • Introduction
  • Lifetime of a Type
  • Lifetime of a Type: Class Loading
  • Lifetime of a Type: Linking
  • Demo: Lifetime of a Type
  • Quiz: Lifetime of a Type
  • Reflection
  • Accessing Class Object
  • Demo: Reflection
  • Simulate a Basic Unit Testing Framework ~ Putting reflection into action!
  • Runtime Data Areas
  • Method Area & Heap
  • Method Table
  • Garbage Collection: Introduction
  • Garbage Collection Algorithms
  • GC: Generational Collections
  • Demo: Tuning Heap & Analyzing GC Cycles
  • Eliminate Obsolete Object References (aka Memory Leaks)
  • Stack
  • Stack Frame
  • Instruction Set: invokespecial & invokevirtual + Demo
  • Conclusion
  • Chapter Quiz

Exceptions with Best Practices

  • Chapter Introduction
  • Demo: Exceptions & Exception Handling
  • Demo: Multiple Exceptions & Polymorphically Referencing Exceptions!!
  • Checked & Unchecked Exceptions + Demo
  • Exceptions & Method Overriding
  • finally Block + Demo
  • try-with-resources Statement + Demo
  • Demo: Suppressed Exceptions
  • Demo - Best Practices: Creating New Exceptions
  • Demo - Best Practices for Capturing Failure Information
  • Demo - Best Practice: Exception Translation & Chaining
  • Extending Compute GPA Exercise with Exceptions
  • Exceptions: More Advice ...
  • Assertions
  • Demo: Assertions
  • Conclusion
  • Chapter Quiz

Input-Output

  • Chapter Introduction
  • Character Encoding + Demo (Prerequisite)
  • Stream IO
  • Byte Streams
  • Reading Byte-Oriented Files Efficiently + Decorator Pattern + Demo
  • Character Streams
  • Reading & Writing Text Efficiently
  • Project Extension: Reading User & Bookmark Data from Text Files (Demo)
  • Project Extension: Downloading WebLinks & Writing to Disk (Demo)
  • Demo: Reading User Input from Console using BufferedReader & Scanner
  • The File Class + Demo
  • Serializing Java Objects + Demo
  • Deserialization & Versioning + Demo
  • Demo: Decoding with Compatible Encoding Scheme
  • Conclusion
  • Chapter Quiz
  • Input-Output ~ Important Q&A Discussions!

Collections Framework (aka Data Structures)

  • Chapter Introduction
  • Collection Interface
  • List Interface
  • ArrayList - Introduction
  • Demo: ArrayList
  • Iterator + Demo
  • List Iterator + Demo
  • LinkedList
  • Queue & Deque Interfaces
  • ArrayDeque + Demo
  • Flight Reservation System ~ Putting Lists & Queues into Action!
  • Hash Table
  • Set Interface & HashSet + Demo + (Overriding hashCode & Equals)
  • LinkedHashSet + Demo
  • SortedSet & NavigableSet
  • TreeSet (Comparable & Comparator) + Demo
  • Demo: More TreeSet ~ Exploring NavigableSet Methods
  • TreeSet & Comparator Exercise
  • Map Interface
  • Demo: HashMap + Excercise
  • Demo: Beware of Creating Mutable Keys
  • LinkedHashMap + Demo
  • SortedMap, NavigableMap and TreeMap + Demo
  • Demo: Arrays Class
  • Demo: Arrays Class (Part 2) ~ Parallelized Operations from Java 8
  • Demo: Collections Class
  • Best Practice: Return Empty Arrays or Collections
  • Conclusion - A Quick Summary
  • Chapter Quiz
  • Collections ~ Important Q&A Discussions!

Generics

  • Chapter Introduction ~ Motivation & Agenda
  • Generic & Parameterized Types
  • Demo: Creating Generic Types
  • Project Extension: Replacing Arrays with ArrayLists (Part 1)
  • Project Extension: Replacing Arrays with ArrayLists (Part 2)
  • Bounded Type Parameter + Demo
  • Avoid Raw Types in New Code
  • Unbounded Wildcard + Demo
  • Invariance + Demo + Prefer Lists to Arrays
  • Generic Methods
  • Demo: Generic Methods & Generic Constructors
  • Bounded Wildcards: Motivation + Demo
  • Bounded Wildcards & More Expressive APIs
  • Demo: Bounded Wildcards
  • Generics Restrictions
  • Conclusion - A Quick Summary
  • Chapter Quiz
  • Important Q&A Discussions!

Nested Classes

  • Chapter Introduction
  • Nonstatic Member Classes + Demo
  • Anonymous Classes + Demo & Function Objects
  • Local Classes + Demo
  • Fix in Previous Demo on Local Classes for Java 9 and above
  • Static Member Classes (Favor them!) + Demo
  • Variable Scope with Nested Classes
  • Conclusion - A Quick Summary
  • Anonymous Class & Static Member Class Exercise

enums

  • enums: Motivation & Introduction (Avoid int Constants)
  • Enum Class + Demo
  • enums with State & Behavior + Demo
  • Nested enums + Demo
  • Project Extension: Converting Constant Exporting Classes to Enums
  • enums with Constant-specific Behavior + Demo
  • Chapter Quiz

Concurrency (aka Multi-threading)

  • Chapter Introduction ~ Motivation & Agenda 
  • Threads: Introduction
  • Demo: Launching Threads and Making them to Sleep!
  • Demo: Thread Naming, Prioritization, and Joining (Avoid Thread Groups)
  • Race Condition + Demo
  • Synchronization + Demo
  • Java Memory Model (JMM)
  • Volatile Variables + Demo
  • Atomic Variables + Demo
  • Synchronization Best Practices
  • Thread Cooperation & Management + Demo
  • Demo: wait & notify
  • Thread Interruption + Demo
  • Explicit Locks (Reentrant Lock) + Demo
  • Quiz: Concurrency Part 1
  • Prefer Concurrency Utilities over wait & notify
  • Executor Framework + Demo
  • Executor Service & Future
  • Demo: ExecutorService & Future
  • Tasks with Time Limits + Demo
  • Project Extension: Downloading Web Links Concurrently
  • Project Extension: Implementing Background Job to Download Web Links
  • Quiz: Concurrency Part 2

Date & Time API ~ Java 8 & also Legacy API

  • Agenda
  • Background ~ epoch, UTC, Timezone ...
  • Legacy API ~ Date & Calendar Classes + Demo
  • New Date & Time API ~ Introduction
  • Demo: New Date & Time API
  • Implementing Flight Booking Feature ~ Putting new Date & Time API into practice!

Database Implementaion & JDBC API

  • Database Introduction & Chapter Agenda
  • Installing MySQL Database & MySQL Workbench
  • Database Design & Normalization
  • Database Design using MySQL Workbench
  • Project Ext.: Creating Database via CREATE & INSERT Queries + Storage Engines
  • Installing JDBC Driver
  • Writing SELECT Queries with Multiple Tables, GROUP BY, ORDER BY, etc.
  • Project Extension: Loading Data from Database via JDBC API
  • Project Extension: Saving Bookmarking Data via INSERT Queries
  • Project Extension: ALTER Query & Saving Kid-Friendly Details via UPDATE Queries
  • Useful Links to Some Tutorials

Functional-style Programming ~ Lambdas & Streams

  • Functional-style Programming: Motivation & Chapter Agenda
  • Lambdas ~ Introduction
  • Demo: Lambdas
  • Demo: Capturing Variables from Lambdas ~ Closures!
  • Quiz: Lambdas
  • Predicate, (Bi) Function, and Unary Operator Interfaces + Demo
  • Demo: Consumer, Supplier, and Primitive Functional Interfaces
  • Quiz: Functional Interfaces
  • Demo: Method References
  • Demo: Constructor References
  • Streams + Demo
  • Stream Operations: An Overview
  • Demo: Slicing a Stream
  • Demo: Stream Matching Operations
  • Demo: Stream Finding Operations & Optional Class
  • Stream Reduction Operations + Demo
  • Let's test our skills on reduce() operation
  • Mutable Reduction with Collection Operations + Demo
  • collect() with Collector
  • Demo: Collecting Stream into List & Set
  • Demo: Grouping Stream Elements
  • Demo: Summarizing Groups & Generating Multi-level Groups
  • Important Q&A Discussions!

Introduction to Java EE & Web-ending Project

  • Motivation & Agenda
  • Web Basics
  • Java EE & Servlet Containers
  • Installing Tomcat
  • BooksAloha! ~ Creating & Deploying a Web Application using Servlets
  • Servlet Life Cycle
  • Implementing BooksAloha! as MVC using JSP
  • Using JSTL to Improve Presentation Layer
  • Project Extension: Web-enabling thrill.io Project
  • Project Extension: Implementing Browse Functionality
  • Project Extension: Implementing Bookmarking & MyBooks Functionality
  • Project Extension: Implementing Login Functionality with Session
  • JAR Files - Introduction
  • Demo: Creating & Manipulating JAR Files

The End!

  • Closing Comments
  • Big O Notation
  • Java on Web: Websites & Social Media Groups to Follow
  • Bonus: Follow-up Steps Towards Becoming a Full-Stack Java Developer!

Instructors

Mr Dheeru Mundluru
Instructor
Freelancer

Ph.D

Articles

Popular Articles

Latest Articles

Trending Courses

Popular Courses

Popular Platforms

Learn more about the Courses

Download the Careers360 App on your Android phone

Regular exam updates, QnA, Predictors, College Applications & E-books now on your Mobile

Careers360 App
150M+ Students
30,000+ Colleges
500+ Exams
1500+ E-books