January 2026 University Catalog

CSC4020 Algorithms and Data Structures

Students explore the design, implementation, and application of data structures and computing algorithms. Students gain an understanding of data encapsulation constructs, including linked lists, stacks, queues, hashes, trees, and graphs. Students apply techniques for sorting and searching; recursive, divide-and-conquer, greedy, and heuristic solving; graph traversal; memorization; and dynamic programming algorithms. Students practice approaches for performing analysis of run-time complexity and NP-completeness.

Credits

6

Prerequisite

IT2249, IT2230; MAT1200 or MAT2200