Java In-Depth: Become a Complete Java Engineer!


Check out our World-Class Java In-Depth course on Udemy, which currently has over 18366 students from 144 countries. It has been ranked as one of the top 3 Java courses on and has a average rating of 4.4 from over 4017 ratings. Large corporations like Intel, PayPal, Apple, eBay, and Wipro are using this course to upskill their employees. Even students from prestigious schools like IIT, Princeton University, Cornell are using this course for learning Java well.

Java In-Depth is a comprehensive project-based Java course that has been designed with following objectives:

  • To help you get an in-depth understanding of both core & advanced concepts in Java
  • To teach best practices & key design principles for writing effective Java programs
  • To help you gain truly practical experience in writing professional-level code via instructor-led implementation of a project, which is Java EE-based Web application that uses technologies like Servlets, JSP, and JSTL. Project is implemented in Eclipse using MVC pattern, TDD  (Test-Driven Development) principles and other best practices. Project also incorporates few advanced multi-threading concepts and utilizes MySQL database as the back-end and Apache Tomcat as the Web server
  • Master Object-Oriented Programming concepts like Inheritance, Polymorphism, Interfaces & Abstract Classes via a real-world case-study
  • Learn about database designing, implementation (SQL), and how to interact interact with them from Java programs (via JDBC)
  • To help you understand the inner workings of Java platform (aka JVM)
  • Learn Functional-style programming via Java 8 features like lambda expressions & streams
  • Learn how to build Web applications using core Java EE technologies like Servlets, JSP, and JSTL
  • To teach how to effectively use Eclipse IDE to write, debug, and test Java programs

The motivation behind these objectives is to help you in becoming a complete & industry-ready engineer. Most Java courses focus only on teaching core fundamentals, which at the very best equip students with good basic skills to work on small-to-medium sized projects. Most of these students fall short when it comes to implementing more complex projects. To design elegant solutions for large, complex projects one needs to have a much deeper understanding of language features along with knowledge of the recommended best practices & design principles. More importantly one needs to know how to put all of these into practice. This comprehensive one-stop project-based training series has been designed to equip students with these skills. Although this course has not been developed with any certification in mind, the course does cover all the topics needed for OCA, Java SE 8 programmer certification (1Z0-808) and few students have actually used this course as a reference material for this particular test.

Course Structure:

This course begins by giving a birds-eye view of Java covering everything from origin of Java to installing Java and writing your first Java program. Even the most fundamental concepts like compilation & interpretation are explained. All other topics are covered in-depth starting from language basics, object-oriented concepts & design (including Java 8 features like default & static methods in interfaces), JVM, exceptions, IO, data structures, generics, multi-threading, databases, nested classes, enums, functional-style programming via Java 8 constructs like lambda expressions & streams, and also gives a very good basic introduction to Java EE technologies like Servlets, JSP, and JSTL. 

Each lecture has been very carefully crafted. Motivation behind every concept is clearly explained with well thought out examples and nice animations. Object-oriented concepts like inheritance & polymorphism are explained through a real-world case-study, which is also implemented as part of the course project. Every concept has been well-tested through ready-to-run, downloadable demo programs, which are implemented and executed in the course. Every chapter ends with a carefully crafted quiz to test what was learnt.

The course project involves building a bookmarking Web application that helps users bookmark items like Books, Movies, and Web pages. The project is instructor-led and is implemented using proper coding conventions & best practices. The project incorporates MVC design pattern and uses Test-Driven Development (TDD) methodology. Java EE stack comprising technologies like Servlets, JSP, and JSTL are used for building the application. Parts of the project use advanced multi-threading capabilities. MySQL is used as the database and database designing is also explained in detail. Eclipse IDE is used for developing the entire project. There is also a separate dedicated chapter just for learning Eclipse IDE, which will give you a solid foundation in using Eclipse to effectively write, debug, and test Java programs. The chapter includes lessons to use Eclipse's debugger & JUnit unit testing framework.

Finally, the course also discusses over half of the best practices/design rules outlined in the popular Effective Java book. Many rules are actually demonstrated in code. This is one of the highlights of the course and will make you truly complete!

Few Course Preview Videos

Chapter 1 Introduction

What is Java?

An Overview of
Java SE

Class & Objects