A continuation of MAT 1520. Covers such topics as arrays, recursion, applets, and threads, while expanding students' working knowledge of object-oriented programming in Java and event-driven programming using Swing. The course also introduces other concepts central to the field, including data representation, algorithms, complexity, computer architecture, Boolean logic and data structures, and some of the social, legal, and ethical issues related to computers.