A study on the design and analysis of algorithms which introduces students to the techniques in basic algorithmic analysis, algorithmic strategies, sorting and searching, graph and geometric algorithms.

The course covers the standard data representation and algorithms to solve the computing problems efficiently (with respect to space requirements and time complexity of algorithm). This covers the following: lists, stacks, queues, trees, graphs, and digraphs. Thorough discussion of sorting algorithms, searching algorithms, and hashing is covered.

This course introduces tools and techniques for efficient data modeling, collection, organization, retrieval, and management. Students will be instructed and guided on how to extract information from data to make data meaningful to the organization. Ultimately, the major objective of this course is to design information systems to support an organization.