A Laboratory Course for Programming with Java