This course continues the development of object-oriented approaches to the design and implementation of software systems. It covers the application of commonly used data structures and related algorithms for maintaining the data structures. Students will learn to analyze problems, develop algorithms, and implement object-oriented solutions to the problems. Data structures covered include contiguous and linked lists, stacks, queues, and general lists, search and sort techniques, binary trees, tables, hashing, recursion, and graphs. Additionally, students will learn algorithms used for list manipulation, graph searches, sorting, searching, and tree traversals. Students will learn to implement data structures and algorithms in one or more programming languages, such as C++, Java, or Python.
Prerequisite: CIS 3100 & [((ZICK or ZKTP Student Group) & (have ZK4L or ZK4P student group: BBA majors must have completed courses listed here, https://zicklin.baruch.cuny.edu/4000-and-above-bus-course-enroll-criteria)) or (STA-BA Plan and 45 credits)].