3.00 Credits
Prerequisite(s): CS 2420, matriculation to computer science or software engineering if computer science or software engineering major, and University Advanced Standing. Covers object-oriented, functional programming and event-driven features of the Java Programming Language using common libraries, idioms, and software design patterns and principles. Includes abstract classes, interfaces, inner classes, lambda expressions, collections, streams, modern GUIs, I/O, serialization, socket programming, concurrency and parallel multicore programming.. Lab access fee of $45 for computers applies.