Introduction to Computing and Programming with Java: A Multimedia Approach