Courses Catalogue

Algorithm Analysis And Design

ACADEMIC PROGRAMME: Computer Science, B.Sc
COLLEGE/SCHOOL/FACULTY: School of Mathematics and Computing
PROGRAMME TYPE: Undergraduate

Course Description

Course Description:

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.

Course Objectives.

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.

Course-specific General Education goals and objectives.

Critical thinking, problem solving and information literacy: Students will use critical thinking and problem solving skills in analyzing information gathered through different media and from a variety of sources.

Students will identify a problem and analyze it in terms of its significant parts and the information needed to solve it. Students will use computers to access, analyze or present information, solve problems, and communicate with others. Students will formulate and evaluate possible solutions to problems, and select and defend the chosen solutions. Students will recognize weaknesses in arguments, such as the use of false or disputable premises, suppression of contrary evidence, faulty reasoning, and emotional loading.