Expand your understanding of the Java programming language and standard Java APIs by developing Java solutions for distributed computing, the Web, and database. Students will learn about Java's advanced features, including reflection; network programming with unicast and multicast sockets; advanced multithreaded programming; unicast and activatable RMI client/server programming; parsing, validating, and transforming XML documents; advanced Swing GUI programming; and basic servlet and JSP programming. Hands-on exercises reinforce concepts covered in lectures. Prerequisite: Java I.