January 2025 University Catalog

CSC4020 Algorithms and Data Structures

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

Credits

6

Prerequisite

IT2249, IT2230; MAT1200 or MAT2200