Reflecting the ideals of its founders in 1945, Roosevelt University is a private, nonsectarian community of educators, scholars and learners committed to academic, creative and service excellence, who value differences in personal experiences and perspectives; ask difficult questions; and promote mutual understanding, inclusion, social consciousness and action toward social justice. This course is a continuation of CST 150, covering problem solving using a high-level language, including abstract data types, inheritance, recursion, generics, lists, sets, maps, stacks, queues, trees and file I/O, multiple sorting and searching algorithms, and an introduction to concepts of program complexity.