What a time to be alive! The word “classroom” no longer refers only to a four-walled room with a group of students paying attention to an instructor of some sort. It could equally refer to a website or podcast, accessible from almost any electronic device and on which you can listen to, see and interact with virtually anything you are curious about.
The debate grows hotter every day whether ‘classroom babies' make for more reliable employees than self-taught individuals who have to ‘tune in' to class. The insurgence of online learning giants like Khan Academy and Udemy doesn't make the issue any lighter. Today, we consider one of these online learning platforms, Udemy, specifically in light of how effectively it can groom you to be a Java Developer.
Udemy boasts of hundreds of online courses in programming from multiple well-credentialed uploaders. While the vast majority of these courses can be accessed for a price, a good many of them are offered free of charge. The course that pops up first after a quick ‘Java” search under the free courses is a 74 lecture course by John Purcell named “Java Tutorial for Complete Beginners”. Feedback on this course suggests it has been a go-to course for many aspiring Java Developers who have fallen victim to assumed knowledge in the classroom. Further up the ladder, one would have to pay small fees for Java Masterclasses and in-depth courses meant to fully orient one with Java for the job market. It's evident that there is no shortage of material to widen one's knowledge base if they want to learn Java but the question remains, is it a good idea to learn Java from Udemy?
Java: What You Need to Learn
Java, like any programming language, features compiler-specific syntax that any beginner has to familiarise themselves with before progressing onto more complex facets of the Object-Oriented programming paradigm, program testing, and maintenance. Beyond the keyboard, Java has vast online documentation and a strong global community that supports each other in problem-solving. That is the main goal, in the end, using the language to solve problems. Syntax and semantics make up only part of the education though. In practice, one would also have to learn principles of programming that apply to team projects, a sort of ‘best practices' education if you will. It is one thing to write lines of code, it is another thing to present those lines in a fashion accessible to other developers.
As you can probably see already, this divides knowledge of Java into its two main pillars: the theoretical and practical backbones of the language. Again, we ask, can a massive open online course (MOOC) found on Udemy equip an aspiring Java Developer with the tools necessary to be a well rounded Java Developer?
What Udemy Offers
As suggested above, Udemy has an array of material relevant to people in various stages of their coding education. What that means is that there is a course for you if you've only just begun to code and have no knowledge of Java and how it works. These courses will make you orient with variable types in Java (int, String, char, boolean, etc), progress you onto performing basic operations on these variables and then usher you onto principles of creating classes, objects, interfaces and so on. Essentially, there is no assumption that you have ever seen any of the material you are presented with. Every lecture builds on the previous one to paint a holistic view of the nooks and crannies of Java as a new language. This is a highly commendable way of meeting the language as the strongest developers tend to credit their skills to have laid a strong foundation early on in their programming career, with no assumptions and in a ‘brick by brick' fashion. A resounding number of students report using Udemy in collaboration with other MOOC lectures to bridge gaps in their lecture material from Universities and other educational institutions
On the other end of the spectrum, practiced programmers who wish to present a refined understanding of design principles and best practices also have courses dedicated to them on Udemy. These courses go into, among other things, understanding core and advanced Java features, multithreading, databases, the functional programming paradigm, and application case studies. These courses are demonstrably more thorough, preparing students for job interviews and carrying associations with Oracle certifications. Put simply, the advanced learner who is looking to go beyond printing a cheesy sentence to the console can find material specific to their needs and skill-set in the vast MOOC.
The fact of the matter in Science, especially Computer Science, is that theoretical supporting material is objective and experimentally proven. This objective information is what students will find on Udemy. The supporting material for each lecture, including lines of code and documentation, is often provided by the uploader and the best courses will also offer coding exercises and assignments in addition to the on-demand video. Upon completing the course, students get certificates of completion that attest to their commitment to sit through the course acquiring knowledge. By now, Udemy shapes up to be like any classroom, balancing the giving of information with the requirement to apply it. How, though, does it compare to other MOOCs found on the internet and, most importantly, to face-to-face learning?
Is Udemy Good for Learning Java
Overall, Udemy is effective when it comes to equipping one with the knowledge necessary to use Java or at least to tackle questions surrounding Java in a classroom or job interview. This suggests that of the two pillars highlighted above, Udemy can more thoroughly bolster the theoretical side than it can the practical side, mirroring a lecture more than laboratory exercises. While the uploaders are seasoned programmers with years of projects under their belts, it is important to remember that the core components of Udemy material are its videos which are honestly named ‘lectures'. Therefore it can most definitely help you to know the language far better than it can help you to be a hands-on user of the language. A few courses like the “Java Tutorial for Complete Beginners” insist on the student typing along with the lecturer but this does not equal the creative process of writing one's code. So comparing Udemy to other MOOCs, it appears that very few can rival Udemy on the front of knowledge dispersal but a good many other candidates focus on telling you less and asking you to do more.
Furthermore, the success of any MOOC depends greatly on the student's drive, discipline and commitment to learning. That goes without saying. MOOCs afford one the luxury of learning at their own pace and on their terms and schedule. This can be both good and bad! The certificates of completion highlighted earlier may seem trivial but, honestly speaking, far fewer have seen those certificates than those that have taken the Java programming courses on Udemy and that makes a huge difference. Programming is not easy, with experts suggesting that truly committed learners would need to consistently dedicate 4 – 5 hours of each day to programming to progress further enough to be considered competitive in the job market. Java is no exception and even with a world-class developer in one's corner, they would still need to put in the effort that matches their desire to grow. That puts Udemy at par with most any other MOOC or lecture because how effective it is will ultimately revolve around the learner.
Another thing influencing how good Udemy is as a place to learn Java is the frequency with which uploaders update their material. Java, despite having seen many a day, is still growing thanks largely to the large global community highlighted above. New updates and features seem to roll out every year, putting the burden on the uploaders to ensure their material is current. Thankfully, most Java updates are backward compatible meaning that even if an uploader does not put fresh information for a while, the old videos seldom become obsolete. The only possible long-term hindrance to consistent updates could be that uploaders wish to promote their websites outside of Udemy but, again, this could only in extremely rare cases sacrifice the education of the students especially for the paid courses. The best part of the online courses is that after purchasing them, one has lifetime access to all the videos, resource materials and exercises found within the Udemy course. Udemy essentially gives you a small library that you can carry around in almost any electronic device and refer to even while on the job.
Indeed, you need not sit in a classroom to learn Java. If your dream is to one day become a Java Developer, definitely you will find a course for you on Udemy. These courses will see you through your first programs with Java as well as your first job interviews above and beyond. Available information suggests that Udemy will embed practical aspects in the theoretical aspects of the language such that with due diligence from the student and a current pool of information, one could readily approach the Java Development job market.