The analysis and design of computer algorithms and their underlying data structures. Analysis of the timing and efficiency of algorithms. Study of lists, stacks, queues, trees, backtracking, searching, sorting and recursion. Introduction to graphs, hash tables, heaps, priority queues and direct access files. Further study of abstract data types and object-oriented programming.
This is an asynchronous online section. There are NO in-person meetings and NO virtual meetings. For more information, please visit the .
This section runs for the whole semester. It is NOT self-paced. It requires the use of Canvas and an internet-enabled device.
This section is part of CityOnline. For more information about CityOnline, please visit the CityOnline website.
This course covers programming fundamentals using the C++ language, using procedural and object-oriented approaches to problem solving. Topics include structured elements, classes, objects, references, dynamic memory allocation, inheritance, polymorphism, arrays, pointers, files, design and implementation of abstract data types, in numerical and non-numerical applications.
Recommended Preparation: CS 10, CS 110A, or MATH 108
TRANSFERRABLE TO UC/CSU
PREREQ: CS 110B