Java Programming: Guided Learning with Early Objects