Update on June 15th, 2017: Two new coding exercises related to interfaces and abstract classes & abstract methods have been added.
What Students are Saying 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
“Got a job thanks to this course!” ~ Connor Lee
“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. I highly recommend this course to anyone who seriously wants to learn Java the right way or who desires to refurbish his or her Java skillset. Taking this course will definitely give you a tremendous appreciation for this great language.” ~ Carrel d’Haiti
“… the most in depth Java course I’ve seen offered anywhere. I would suggest that this course is not only for the beginner but for the intermediate Java developer that wants to ensure their knowledge…” ~ Zenko Machina
“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 best java course ever!” ~ Hamid Seleman, Senior Developer
“This course has so much depth and the Instructor is passionate, even weekly adding content to the course. 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. In depth explanation. I’d recommend not to skip familiar things, as you may learn some new insights.” ~ Paul Kerkum
“I love this course for how comprehensive it is, how sincere and to the point the presenter is. For a newbie to Java, this should be the go to course….” ~ JSusan Koinonia
Would you like to just acquire core Java skills or would you like to become a complete and a professional Java engineer right at the end of the course. If it is the latter, then you should read on …
This comprehensive project-based course has been designed with following objectives:
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 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, nested classes, enums and lambdas.
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 simulates a real-world product that is based on bookmarking concept. The project is instructor-led and is implemented using professional coding conventions & best practices. It follows good object-oriented design, incorporates MVC design pattern and also uses Test-Driven Development (TDD) methodology. Parts of the project use advanced multi-threading capabilities. 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 around 3 years of full-time effort (considered equivalent to 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 :)).