Prerequisites: CSC-151 and, MAT-151 or MAT 252, or equivalent. The prerequisite courses must be passed with a minimum grade of C.
A study of fundamental algorithms, data structures, and their effective use in a variety of applications. The importance of data structure choice and implementation for obtaining the most efficient algorithm for solving a given problem will be studied. A key component of this course is the worst-case asymptotic analysis, which provides a quick and simple method for determining the scalability and effectiveness of an algorithm. Other topics covered generally include: divide-and-conquer algorithms, sorting algorithms, hashing, stacks, queues binary heaps, skip lists, trees, basic graph algorithms. Concepts and skills are mastered through programming projects. Offered Spring terms of even numbered years.