what does it mean to be OCP Java 8 Programmer II certified?

There are now three paths for one to become OCP 8 (Java Programmer II certified.) So what does it mean someone certified had to know to pass the exam. Well, that varies too.

The three paths

  1. Starting out with Java 8 – take the OCP 8 (IZ0-809)
    Pre-req: OCA 8 (1Z0-808)
  2. Holding a Java 7 Professional cert – take the Java 7 to 8 upgrade exam (IZo-810)
    Pre-req: OCP 7 (IZ0-804) or Java 7 upgrade exam (IZo-805)
  3. Holding any Java 6 or older Professional cert – take the Java 6 or earlier to 8 upgrade exam (IZo-813)
    Pre-req: SCJP/OCJP 6 (IZO-851) or Java 6 upgrade (IZ0-852) or SCJP/OCJP 5 (IZo-853) or Java 5 upgrade (1Zo-854) or Java 4 or lower Professional cert

What one would expect

It seems reasonable to assume some things here.

  1. People taking the OCP 8 directly should be tested on the topics that entail being Java 8 certified.
  2. vennPeople taking the upgrade from Java 7 should be tested on just the topics that were added in Java 8. This is the purple in the Venn diagram. There’s no reason to retest on the topics that the were already on the Java 7 exam. That’s the overlap in the Venn diagram. (This is a bit simplified. It’s really that the topics should be those on the OCA 8 or OCP 8, but not on the OCA 7 or OCP 7. Luckily the topics added on the OCA 8 are also on the OCP 8.)
  3.  venn2People taking the upgrade from older versions of Java have a more interesting situation. When taking a very old exam, lots of topics are different. For example, new topics include generics and the enhanced for loop for those upgrading from Java 5. These topics are so old that it is reasonable to assume the candidate knows this as these syntax changes are covered as part of questions on all sorts of topics. Since the exam changed a lot between Java 6 and 7, let’s just imagine all upgrade candidates in this group took the Java 6 exam. Which would imply the topics covered should be the purple OCP 8 circle except for the overlap with the OCP 6 circle. It doesn’t imply the topics covered in OCP 7 but not OCP 6 or 8 should be covered. After all, those topics were removed from the OCP 8 exam so shouldn’t be needed to get a Java 8 certification.

These assumptions turn out to not match what Oracle actually did. The rest of this blog post describes the surprises.

What people starting out with Java 8 were tested on, but those upgrading from Java 7 were not

Topics:

  1. The concept of immutability
  2. The concepts of deadlock, starvation, livelock, and race conditions. They are tested when upgrading indirectly but with less emphasis.

My thoughts: No big deal here

What people starting out with Java 8 were tested on, but those upgrading from Java 6 were not

  1. The concept of immutability
  2. The singleton pattern
  3. The concepts of deadlock, starvation, livelock, and race conditions. They are tested when upgrading indirectly but with less emphasis.
  4. The entire topic of JDBC

My thoughts: Leaving out the first three isn’t a big deal. Leaving out JDBC is bizarre. That’s a whole topic that is part of core Java. It started being needed for Java 7 (or 8) certification. Upgrading from an older version seems like it should require it. But nope.

What people upgrading from Java 7 were tested on, but those starting out with Java 8 were not

  1. The computeIfAbsent() and computeIfPresent() methods on Map
  2. Also merge()  [removed from main exam in October 2015 and removed from upgrade exam in November 2015]

My thoughts: Odd to add topics on an upgrade exam. These are so similar, I’d almost think they were implied on the Java 8 exam.

What people upgrading from Java 6 were tested on, but those starting out with Java 8 were not

  1. The computeIfAbsent() and computeIfPresent() methods on Map
  2. Also merge()  [removed from main exam in October 2015]
  3. IO.2 – DirectoryWatcher, FileVisitor and WatchService
  4. Locks package in concurrency API
  5. DecimalFormat and SimpleDateFormat

My thoughts: This is bizarre. These three NIO.2 classes, the locks package and the two format classes were on the OCP 7 exam, but not on the OCP 8 exam. Oracle changing their mind and taking something off the exam for a later version is perfectly reasonable. However, I would think that would mean you don’t put it on the upgrade exam! Why should the upgrade exam cover something that isn’t on the target exam.

Summary

If I was writing the objectives for the upgrade exam from Java 6,  I’d have dropped some topics and added JDBC. But I’m not writing the exam objectives so will remain puzzled.

chromebook and att wifi

I had upgraded my mother’s Chromebook to a 4g model late last year. I had known that operating system updates didn’t occur over 3g. Unsurprisingly, they don’t occur over 4g either. She’s been taking her laptop to wifi to patch and enjoying the 4g speeds for normal home internet use. Everyone happy. Until now. Her source of convenient wifi has vanished. Now, she could go to Starbucks or the library o use wifi. But that’s not convenient. I decided to look at replacing the monthly 4g bill with a monthly wifi hotspot bill.

The difference

On a prepaid low bandwidth plan, the two are pretty comparable.

Category Verizon 4g ATT wifi hotspot (over 4g)
Where to find the price list Verizon page GoPhone page
Minimum plan per 30 days $20 $25
Amount of bandwidth included 1GB 2GB
Ability to buy more if go over $5 for 300MB $10 for 500MB
Next level plan if not enough bandwidth $30 for 2GB plan $50 for 5GB

In other words $5 more per month for double the bandwidth. And the Chromebook can see it as wifi so patches work.

Trying to buy the hotspot online

The AT&T Velocity hotspot is $149 if you want to use a prepaid plan. (Free with a contract.) I hit two problems trying to buyt it online:

  1. AT&T’s product page either doesn’t work in Safari or is relying on a third party site to render the ability to order the device. Or it’s just broken. I tried reloading the page four times to write this post and it showed up the fourth time. In any case, I switched to Chrome.
  2. When you choose the $149 version, AT&T asks if you are a new or existing customer. I clicked new customer. It then took me to a page to buy a “choice” of plan. The only “choice” was the $50/month plan.

I was able to find out online that while my local AT&T store didn’t have the device in stock, the one at the mall did.

Buying the hotspot in person

This went better. They didn’t try to trick me into buying the $50 plan. They warned me that I had to pay for the first month ($25) while still in the store. No problem. I had planned to buy the first month right away to test anyway.

The receipt was a bit odd. It said the $25 plan was for 1.5GB. Online it shows at 2GB when I check my use so this is just wrong. It also directs to att.com/wireless which isn’t the site to go to for prepaid.

Trying out the hotspot

When I got home, I gave it a shot. It was easy to use. The battery/case comes separated so I put that together. The hotspot is like a cell phone that doesn’t make calls.

The device tells you the charge, connection strength and whether you have any new messages. I had a few from AT&T about the product. It has a touch screen to get messages. Or you can use the website paygonline.com or att.com/mygophone to check them through a computer. You know you have a text because the device blinks with a green light.

The device also tells you how many connections are in use. I went into settings and lowered the max from 10 to 2 by going to http://attwifimanager once connected to the hotspot from the Chromebook. (One for my mother’s Chromebook and one for my iPad when I visit. Being able to use my iPad when I visit is a nice side effect of using a hotspot.) I got a message “The LCD display is in operation, use power button to turn LCD display off and try again” which was easy enough to move past.

I also changed the wifi name from ATT-WIFI-1234 to something more readable and changed the  password to a different set of numbers than the default. It suggests using numbers and letters but then wouldn’t let me choose letters. Once I changed this, my browser hung on saving because it was no longer connected to the new wifi network. Not a big deal, but they could have given a prompt. Once I reconnected, I also disabled broadcasting the SSID.

Note: I had to turn broadcasting the SSID back on to avoid having to enter the password on each connect. Chrome feels it is bad that I’m not broadcasting the network name. I’m annoyed ChromeOS doesn’t work well with hidden SSIDs. I understand that hiding the SSID doesn’t protect it from the bad guys. But it does prevent random people from trying different passwords. But at the same time, I’m worried this isn’t a well supported configuration and my mom will have other troubles later.

Anyway, then I went to settings > advanced to change the admin login so it isn’t attadmin.

I also learned the bandwidth reporting is realtime which is an improvement over Verizon. And that if you don’t use it for hours, you have to press the power button on the hotspot so the wifi network resumes broadcasting. Which is reasonable.

Connecting from the Chromebook

Connecting to the new wifi name is easy. Note that the network name is case sensitive
  1. Join other…
  2. my network with “X wifi” SSID
  3. Security: PSK (WPA or RSN)
  4. Enter password
  5. Don’t click share network

To remember the connection

  1. Click the wifi icon and click “Connected to X”
  2. Click network name
  3. Click “Prefer this network”
  4. Ensure “Automatically connect to this network is checked”
  5. Click “close”

The first Chromebook patch

I did a Chromebook patch over wifi. It took 7 minutes and was approximately 400MB. (GoPhone reports bandwidth use to the nearest 50MB). While that is 25% of the wifi allocation, there is no need to patch the Chromebook every month. Plus my mom has double the bandwidth she used to so it is still an increase.

How fast is the connection?

I ran a speedtest both to see how fast the connection was and to use a chunk of bandwidth to see how reporting worked. The answer was:

  • ping 33ms
  • download 19.94 Mbps
  • upload 11.76 Mbps

Problems

Every once in a while, I have to push the power button on the wifi device for the ChromeBook to connect. I haven’t seen a pattern on this, but it only happens on trying to connect.

why posting errata matters

We’ve been posting every errata we receive about our a href=”/oca”>OCA 8 book. There’s something about cert books that attracts errata. I think it is because readers have to be so attentive.

Error count

We have slightly more errata reported than K&B 7 (which has 89 at the moment; we have 117). That book covers more (both OCA and OCP) so it isn’t a fair comparison. However, it has more versions published (starting with Java 4 I think) which means there were more opportunities to catch and correct theirs. It’s kind of interesting how certain errors can pass by so many people.

Anyway, my point is that while I’d love for our book to be perfect, I think our errata rate is acceptable for a cert book. Plus it gives us something to try to beat for our a href=”/ocp”>OCP 8 book. I am glad that most of the errata in the “stupid typo” department and not the “understanding” department.

Why reporting each and every errata matters

Ok. So if most of them are typos, why bother making a list? There’s three big reasons I think about:

  1. If we write that Java 9 version of the book, I don’t want these errors in it. I want there to be different errors for crying out loud! It’s like experience; you don’t want to keep making the same mistakes.
  2. If another reader isn’t sure if something is wrong, he/she can look at the thorough errata list.
  3. Finally, when I read a book and see something technical wrong, (even if it is a typo in a code snippet), I start to wonder “if I can’t trust this which I caught without knowing the topic, how can I trust the rest.” An exhaustive errata list provides transparency. You know if something was wrong it would be listed. That’s why I “categorized” the errata so you can see what is a typo and what is significant.

For the readers, it’s also helpful to have that engagement. By knowing that every question about the book posted in the forum, will get a reply, readers have confidence they wouldn’t be confused.

Which brings us to a big thank you

Interestingly, three people reported over half of the errors. So a big thank you to Mushfiq Mammadov, Elena Felder and Cedric Georges. I’d also like to thank Roel De Nijs. He didn’t report many errors, but he *confirmed* a whole boatload of them. Which saved me a lot of time and I really appreciate.