An Introduction to Computer Science Using Java