Hello dear un-reader. I don’t know why but I keep on seeing this un prefix everywhere online recently. Unconference, unlearn, un-whatever. Could you tell me what is going un ? Anyways..
I spend last couple of days on finishing learning all the basic knowledge about Java programming language and had an exam on 4th of October which I failed. I really do like to measure and find out the science and stats behind things so in this case I have obviously measured my effective learning time. I invested 74 hours and 21 minutes to learn ( I specifically use this word instead of practice) Java. My target was to pass the exam and receive 1Z0-808 Certificate from Oracle. If you’re not familiar with it, it’s one of the basic ones. It certifies that you know the foundation of how to code in Java.
I went through an online uCertify based Oracle course. It was very funny online course because authors were using phrases like this: “.. in the following chapters of this book you will learn.. “. My intelligent guess based on this example and typos in the source code like “System.out.print1n” instead of “System.out.println”, is that someone used OCR technology to “digitalize” a book and while using the tool, made lots of simple but profound mistakes along the way. Later, he added some questions and tests and labelled it “online course”. It was poorly written and I (Java beginner) was struggling to decipher what they wanted me to learn. If I was to judge I would say it was 85% theory based, where this theory was backed up by code examples, that were explained in the text. I think it made me good at reading Java. I understand the concepts. I learned the theories about it.
So what went wrong?
I believe it was a mix of my too steep learning expectations and misinformation of how the actual test will look like. My tutor said that going through the uCertify course will be enough to pass the test and I believed him. The reality is that I was sent to kill the Grizzly bear with a short blunt knife (and tha’s exactly what I told him in my e-mail after reading my test results). The test was comprised of 70 questions and I had 150 minutes to answer them. That gives about 2 minutes and 10 seconds per question. If you think it’s a lot of time, think twice. If you think you’ll be answering your 50th question with the same speed as the 10th? Again, think twice.
I thought it will be roughly 50/50 split between some theory questions and more practical, code based type of questions. I could not be more wrong. As far as I recall it was roughly 80-90% practical, code based questions and 10-20% theory questions. If you’re trying to answer code based questions in such a short time, you need to know what you are doing!:) Your knowledge of Java needs to be solid. There’s no time for figuring stuff out. Answers are deceiving and if you’re not ready to find the catch in the question fast, it will be a struggle for you.
After an hour of answering, I was on 17th question and I should be closing in on 30th. I obviously panicked and had to speed up, that lead to shooting those questions out as there was not enough time to understand fully what was being asked. As you already know I failed. I ended up with 38% score, where passing score is 65% and my internal passing score is 80%.
What could teach me Java to become better prepared to this exam?
I believe that real world practice would be a good helper. I did not have enough of coding experience and therefore code snippets with lots of differently named variables, methods, constructors and classes created a havoc in my brain. It was all black and white, no colour coded and no IDE syntax helper. Questioners were using low hits like missing brackets, commas, methods from String class attached to StringBuilder objects and wrongly inserted casts to create bugs minefield to test your ability to find them. Multi choice answers were tricky and deceptive.
What am I going to do now?
Well, I have already did. I started using my learned theory, to actually code. I believe practical knowledge will make me more flexible and agile with syntax to be better prepared for my second exam attempt. It is a little bit sad that practical tasks nearly do not exist in the course that I bought and paid quite a sum for. I hope to find tasks in books and other online resources. Life is not fair I know, but what can you do apart from trying, failing and doing it until you succeed? Philosophically answering this question, you can’t do more than that in life.
If you’re going through similar course or struggling with learning Java, I would be more than happy to chat about it. Meanwhile I am back to coding!