Prerequisite: advanced Web-based programming with an emphasis on the Java language and platform. No prior knowledge of Java is required but students are expected to have a good understanding of object-oriented programming concepts such as encapsulation, inheritance, and polymorphism, experience with C++. Basic constructs and syntax and then the core advanced features. Topics include: networking and sockets, remote method invocation (RMI), database connectivity (JDBC), Java Beans, multi-threading and lighweight components (Swing). Common gateway interface (CGI) languages and browser scripting (JavaScript and VBScript) are discussed when used as a complement to the functionality of the Java language. Emphasis is on the latest version of Java, both deprecated methods and newly introduced features are discussed.