In-depth Java Course: The Ultimate Java Engineering Class

By Tarun Telang





Help make this class happen

Get $25 Off

The creator will reward everyone who signs up with a $25 coupon plus you’ll get a chance to say exactly what kind of class you want in a user survey. All you need is an email!
Class kits delivered to your doorsteps
Click to learn more about CLASS101

Recorded class

Class kit available

Creator Feedback


What is this class about?

In this course, we'll look into some fundamental constructs of Java programming language and basics of object-oriented programming. The topics are all up to date according on the most recent version of Java, and we'll also examine utilizing an IDE or integrated development environment.

This is a comprehensive course for beginners or anyone looking to refresh their programming skills using Java language. This is a great course to familiarize yourself with Java language syntax and core concepts

Who is this class for?

This course is aimed to developer of every level, from beginner to advanced, who want to improve their Java skills and get up to date with most of the addition to the language specification in Java 17. This course is for:
  • Programmers, Developers or Software Engineers
  • Managers,
  • Software Leads / Architects looking to get their hands dirty with Java.
  • Or anyone who is looking to learn Java

What will the students achieve?

At the end of the course, students will be able to understand and use most of the Java syntax including the latest additions to Java language in version 17. This course is aimed to keep students update to date with the latest Java language features that has come out recently and will enable you practice them.

After going through this course, in addition to fluency with the Java programming language, students would also be able to answers common Java interview questions like - What are various editions of Java?, What makes it Platform independent.


  1. Meet Your Instructor

  2. Introduction to the course

  3. Course Objectives
  4. Why You Should Learn Java?
  5. Prerequisite

  6. About the Author

Chapter 1: Introduction to Java

  1. What is Java?

  2. History of Java

  3. Why Java

  4. Benefits of Java

  5. Key Features of Java

Chapter 2: Java Architecture

  1. Java as a Platform

  2. Java Editions

  3. Java Development Kit (JDK)

  4. Open JDK
  5. Java Runtime Environment (JRE)

  6. Java Virtual Machine (JVM)

  7. HotspotVM
  8. Anatomy of Java Program

  9. Java Compiler

  10. Writing a Java program using text editor

  11. Compiling and Executing Java code

  12. Memory Management

  13. Garbage Collection

  14. Demo

Chapter 3: Language Fundamentals

  1. Keywords


  3. Constants

  4. Variables

  5. Literals

  6. Primitive Data types

  7. Arithmetic Expressions

  8. Operators

  9. Precedence Order

  10. Type Conversion

  11. Incompatible Types

  12. Wrapper Classes

  13. Autoboxing and Unboxing

  14. Non-Primitive Data Types

  15. Type Inference

  16. Demo

Chapter 4: Working with Strings

  1. The String class

  2. String concatenation

  3. Useful String methods

  4. Escape Sequence

  5. Formatting Strings

  6. Text Blocks
  7. Demo

Chapter 5: Working with Math & DateTime Class

  1. The Math class

  2. Useful Math method

  3. Formatting Numbers

  4. The DateTime class

  5. Forematting DateTime
  6. Demo

Chapter 6: Variables

  1. Value Types

  2. Reference Types

  3. Classes

  4. The new Operator

  5. Methods

  6. Enum

  7. Scope

    • Method Scope
    • Block Scope
  8. Visibility
  9. Access Modifiers
  10. Demo

Chapter 7: Modular Programming

  1. Defining functions

  2. Calling functions

  3. Return Types

  4. Methods

  5. Parameters

    • Value
    • Reference
  6. Methods with Variable Arguments

  7. Recursion
  8. Package

  9. Demo

Chapter 8: Console I/0

  1. Writing to Console

  2. System.out.println()

  3. Reading Input from User

  4. The Scanner class
  5. Passing Arguments to Console

  6. Demo

Chapter 9: Control Flow

  1. Comparision Operators

  2. Logical Operator

  3. Conditional Statements

  4. if

  5. if .. else

  6. else if

  7. Ternary operator

  8. switch-case statement

    • Using Strings in switch-case statements
    • Using Enums in switch-case statement
  9. switch expressions and yield statemenets
  10. Loops or Iterations

    • for
    • while
    • do while
    • for each
    • continue and break
  11. Demo

Chapter 10: Arrays

  1. Defining an Array
  2. Declaring an Array
  3. Accessing elements of an Array
  4. iterating over an Array
  5. Multi-dimensional Array
  6. The Array class
  7. The System.arraycopy() method
  8. Demo

Chapter 11: Introduction to Programming Paradigms

  1. Functional Programming
  2. Procedural Programming
  3. Object Oriented Programming
  4. Event-driven
  5. Imperative programming
  6. Declarative programming

Chapter 12: Object Oriented Concepts

  1. Abstraction
  2. Encapsulation
  3. Inheritance
  4. Multiple Inheritance
  5. Overloading
  6. Polymorphism
  7. Cohesion
  8. Coupling
  9. Dependency Injection

Chapter 13: Object Oriented Programming

  1. Classes
  2. Defining Classes
  3. Objects
  4. Constructors
  5. Creating an Object
  6. Static Class
  7. this
  8. Anonymous Class
  9. Inner Class
  10. Nested Class
  11. Abstract Class
  12. Final Class
  13. Interface
    • static methods in interface
    • default methods in interface
    • private methods in interface
  14. Functional Interfaces
  15. Lambda Expressions
  16. Record Classes
  17. Sealed and Hidden Classes
  18. Access Modifiers
  19. Demo

Chapter 14: Inheritance

  1. Extending a class
  2. Annotation
  3. Overriding
  4. Upcasting
  5. Downcasting
  6. super
  7. instanceof
    • pattern matching
  8. Demo

Chapter 15: Threads

  1. What are Threads
  2. Thread Prioritization
  3. Thread Scheduling
  4. Types of Threads
  5. Lifecycle of a Thread
  6. Creating Threads
  7. The Thread class
  8. The Runnable interface

Chapter 16: Exception Handling

  1. What are Exceptions?

  2. Types of Exceptions

  3. Exception Hierarchy

  4. try-catch

  5. Catching Multiple Types of Exception

  6. The finally block

  7. The try with resource

  8. Throwing Exceptions

  9. Re-throwing Exceptions

  10. Custom Exceptions

  11. Chaining Exceptions

  12. Demo


  1. Congratulations on Completing the Course
  2. Glossary
  3. Important JDK commands
  4. Coding Best Practices
  5. Exercise
  6. References
About Tarun Telang

Tarun Telang is a hands-on technologist with extensive experience in the design and implementation of multi-tiered, highly scalable software applications. He has been part of several well-known companies such as Microsoft, Oracle, and SAP. He has over 16 years of expertise in architecting and developing business applications.

He began his career as an enterprise Java developer at SAP, where he has developed distributed application software for big firms. He got his start with Enterprise Session Beans and Message Driven Beans, as well as instrumenting enterprise applications' configuration and management using the Java Management Extensions (JMX) technology.

He quickly mastered various enterprise technologies like Enterprise Beans, Java Management Extensions, Servlets, and Server Pages technologies, and in his first year as a developer, he became Sun Certified Programmer for the Java Platform, Standard Edition 6; and SAP Certified Development Consultant for the SAP NetWeaver Java Web Application Server (which was a Java EE 5 compliant application server).

He also gained expertise in XML technologies like XSLT and XSD, using which he developed several solutions using Session Beans and Message Driven Beans to handle message-oriented communications across numerous systems. In 2007, Tarun was named SAP Mentor and Community Influencer for his articles and blog posts on emerging technologies and promoting innovative solutions in the SAP Developer Community. He frequently writes articles on Java and related technologies. Tarun has also authored multiple online courses including a best-selling course on YAML data serialization language.

He has presented technical lectures at several developer conferences, including SAP TechEd and the Great Indian Developer Summit. It has been more than 15 years since he has been presenting at conferences about software technology, actively publishing technical papers and blogs to assist everyone in better grasping the fundamentals of software technology. Tarun has also developed cloud-based video conferencing applications using a microservices architecture with the Spring framework and has experience working with Persistence APIs and Hazelcast framework for building REST-based services.

How it works

1. Campaign

Help the creator reach 300 supporters to make the class a reality

2. Supporter Input

Share what you are most excited to learn about

3. Early Bird Sale

Get the class at the lowest rate with extra 12 weeks of class access

4. Class opens

Share your progress, and get direct feedback from the creator

Receive a special supporter reward for helping to launch this course

Get this course up and running faster by showing your support. All you have to do is to click 'I want this class!' to receive updates! To bring this class into a reality, you can also help the creator to collect 300 supporters by sharing this page.

Reward 1

Enjoy a special early supporter $25 OFF coupon

Reward 2

Have your opinions reflected in the curriculum

You're all set! Don't feel like waiting? Here are classes you can start today
Live what you love with CLASS101

You may also like

Recently viewed