Algorithm Analysis & Design
This course unit provides students with the
knowledge and skills required to analyze and design effective program
A study of advanced programming topics focused
on logical structures of data, their physical representation, design and
analysis of algorithms operating on the structures, and techniques for program
development and debugging. Emphasis is placed on the appropriate use and choice
of standard data structures.
Required texts/other materials: “Data
Structures: Abstraction and Design Using
Java, Elliot Koffman, Wiley, (latest Edition),
1. Familiarize the student with good
programming design methods, particularly TopDown
2. Develop algorithms for manipulating stacks,
queues, linked lists, trees, graphs.
3. Develop the data structures for
implementing the above algorithms.
4. Develop recursive algorithms as they apply
to trees and graphs.
5. Familiarize the student with the issues of
Time complexity and examine various algorithms from this perspective.