CSC2200: Data Structures and Algorithm Analysis
Design and implementation of fundamental abstract data types of computer science (such as stacks, queues, trees, lists, hashing, and graphs), using an object-oriented language. Programming requirements include the implementation of abstract data types using arrays and dynamic links; recursion; sorting and searching; hashing; and string processing. Introduction to algorithm analysis.
CSC2201: Laboratory for Data Structures and Algorithm Analysis
Design and implementation of fundamental abstract data types of computer science (e.g., stacks, queues, trees, lists, hashing, graphs, etc.) using an object-oriented programming language (C++).
CSC3110: Algorithm Design and Analysis
This is an undergraduate course on the design and analysis of algorithms. In this course, we will evaluate the efficiency of various algorithms via a mathematical analytical framework known as asymptotic analysis. We cover general algorithmic design approaches and their application to various computational problems. We also ex- amine some advanced data structures that facilitate efficient algorithm design. The final portion of the class will explore classifications of computational problems according to their relative difficulty and techniques for dealing with the “hard” class of problems.