learning to be come proficient Java programmer