Java In-Depth: Become a Complete Java Engineer!
What you will learn
- Get an in-depth understanding of core & advanced Java
- Master design principles, best practices and coding conventions for writing well-designed, professional Java code
- Implement instructor-led, professional-grade Java EE-based Web application using TDD principles and MySQL as database
- Set a firm foundation in Java for the rest of your career
- Gain comprehensive understanding of JVM Internals ~ the incredible platform on which Java programs run
- Set yourself up to become an Oracle Certified Associate, Java SE 8 Programmer (1Z0-808)
- Master Object-Oriented Programming concepts by using a real-world application as a case study
- Get a solid understanding of functional-style programming using Java 8 constructs like lambdas & streams
Section 1: Course Introduction
Section 2: Java: A High-level Overview
Section 3: Classes, Objects and their Members
Section 4: Method Building Blocks: Operators & Control-flow Statements
Section 5: Packages, Strings and Information Hiding
Section 6: static, final, and Coding Conventions
Section 7: Case Study: A Social Bookmarking Application
Section 8: Serious OOP: Inheritance & Polymorphism
Section 9: More Serious OOP: Abstract Classes & Interfaces
Section 10: Programming with Eclipse IDE
Section 11: Project: Implementing a Social Bookmarking App
Section 12: JVM Internals
Section 13: Exceptions with Best Practices
Section 14: Input-Output
Section 15: Collections Framework (aka Data Structures)
Section 16: Generics
Section 17: Nested Classes
Section 18: enums
Section 19: Concurrency (aka Multi-threading)
Section 20: Date & Time API ~ Covers Java 8 & also Legacy API
Section 21: Database Implementation & JDBC API
Section 22: Functional-style Programming ~ Lambdas & Streams (Java 8)
Section 23: Introduction to Java EE & Web-enabling Project
Comprehensive Java programming course integrated with design principles, best practices & instructor-led Java EE project
- The 3 P's: Passion, Patience, and Perseverance. Please note it is not a crash course!!
- Top Concentration. Over 6 months of self-study effort is packed into 62 hours. So, no fluff!!
This Masterclass has been meticulously developed for over 4 years and has students (from 150 countries) ranging from complete beginners to experienced Java professionals. Companies like Intel, PayPal, Pinterest, Wipro are actively using this course to upskill their employees. Here is what some of the students have to say about this course:
"This is by far the best advanced as well as beginner course I have ever read/seen since Andre LaMothe quit writing." ~ Stephen Jonson
"... This one should be the best seller of all the other ... " ~ Brady Adams
"I have bought so many courses but this course has been a game changer to me . It is in depth as the name says. It helped me pass a paid internship interview in a reputable company and now i am getting a job. Thank you so much Dheeru Mundluru for releasing such a great course. You deserve 5+" ~ Stephen
"This is THE best course on Java on Udemy - Period! Dheeru is not only passionate about what he is coaching but also OBSESSIVE and covers every minute detail of the subject ... Most lessons have demos which Dheeru makes sure that they do work without any glitches. He is a genius coder ... Plus, he bases the course on the best practices from the book "Effective Java" which is great. You get to cover most of this book if you study this course! ... Lastly, he uses an accurate and powerful English vocabulary I'm yet to see from other instructors. If you want to learn Java right from installing, configuring and all the way to mastering its advanced topics - look no further - you are at the right place => THIS - IS - IT !!!" ~ Richard Reddy
"This is a wonderful course. The Instructor is highly competent. He is a world-class instructor ... Taking this course will definitely give you a tremendous appreciation for this great language." ~ Carrel d'Haiti
"This is a fantastic course. I am a Java developer with over 10 years experience and soon to be looking for a new role. I wanted to brush up on all core Java concepts and this course goes way beyond what I was expecting. Particularly liked the Generics chapter and Collections though everything is covered in this course. Great course with awesome content and very well delivered and explained. Very happy." ~ Tony Perrin
"The JVM internals section of this course itself is worth buying this course. Excellent teaching style." ~ Ryan Trang
"... I have been a Java developer for 8 years and hold a Masters degree in Computer Science ... This is honestly the very best online Java video course on the market... wish I had have had a course like this when I first started" ~ Clive Stewart
"Clear to understand, even for non-native English speaker ... " ~ Paul Kerkum
Would you like to just acquire core Java skills or would you like to become a complete & professional Java engineer right at the end of this course. If it is the latter, then you should read on ...
This comprehensive project-based course 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 Java 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 course has been designed to equip students with these skills.
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. Many chapters also include challenging coding exercises and student solutions are also auto-evaluated via JUnit scripts, i.e., students would instantly know whether their solution is right or wrong. One of the coding exercises is on Sentiment Analysis, which is a hot area in the industry.
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 professional coding conventions & best practices. It follows good object-oriented design, incorporates MVC architectural pattern and also 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 would 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!
About the Instructor & On His Motivation for Building This Course:
I have around 15 years of experience in Java developing complex data integration & mining software for start-ups in silicon valley and elsewhere. After working for so many years with many excellent engineers, I realized that sometimes we fell short of developing the most effective solutions to some of the problems we were dealing with. This sometimes led to several rounds of refactoring resulting in loss of valuable time. This made me realize that it was a result of not being taught Java programming in the right way. I realized that a more holistic approach to teaching Java is needed where the language features are taught along with best practices & design principles that any serious developer must know. This course is a result of this realization and it has taken me over 4 years of full-time effort (considered equivalent to over a decade if working on a part-time basis) in developing it. Building this course itself has been a wonderful journey for me and I hope you will also find this course to be equally enriching. I will continue to devote myself in building this course towards making it one of the best Java courses out there. Always, feel free to message me if you have any questions and I promise to address them as quickly as I can (almost always well within a day :)).
Who this course is for:
- Complete beginners. We got you covered. We'll start from compilation & interpretation.
- Programmers switching from other languages
- Java programmers who are not feeling confident about their existing Java skills
- Java programmers who want to learn about design principles & best practices. Any serious programmer should know this stuff!