Prerequisites: Grade of “C” or better in COMP 110/L; Grade of “C” or better in MATH 103, MATH 104, MATH 105, MATH 150A or MATH 255A, or a passing score on the Mathematics Placement Test (MPT) that satisfies prerequisites for MATH 150A or 255A; Lower division writing requirement. Corequisite: COMP 182L. Introduction to data structures and the algorithms that use them. Review of composite data types, such as arrays, records, strings and sets. Role of the abstract data type in program design. Definition, implementation and application of data structures, such as stacks, queues, linked lists, trees and graphs. Recursion. Use of time complexity expressions in evaluating algorithms. Comparative study of sorting and searching algorithms. Lab: 3 hours per week.