Prerequisites: CS 113 or CS 115. Problem solving techniques and program design knowledge are expanded with an eye toward IT-related applications. Various kinds of data structures are introduced, including classic containers such as lists, stacks, queues, and trees. Sorting and searching techniques are examined. The fundamentals of client/server programming and the use of sockets are covered. Recursion and its various applications are studied. The built-in class library features of an object-oriented programming language are exploited throughout.