You are on page 1of 4

# Course Breakdown

## Course Name: Analysis of Algorithm

Credit Hours: 3(3-0)
Course Code: CS 542

## Department of Computer Science

Barani Institute of Management
Sciences (BIMS)

## Lecture wise plan Design & Analysis of Algorithms (D&AA)

Instructor: Farhan Ullah
Email: farhanmscs@ciitsahiwal.edu.pk
Cell # 0300 9165664
Course Objectives:
The main objectives of the course are
To highlight the significance of performance of an algorithm and thus its complexity
To understand the importance of the choice of an appropriate data structure for an optimized
overall performance
To learn various algorithm design techniques and their applications on different problems in
various domains
To learn to solve new problems using the design and analysis procedures
Description of Course:
The Analysis of Algorithms is one of the most important courses in Computer Science, targeted
towards teaching efficient problem solving, to the students. It majorly focuses on two vital activities
in computing i.e. the design and then analysis of algorithms with the intent of producing the most
optimized solutions for problems. It mainly includes discussion of various solutions to the basic
computing problems such as sorting, searching, and selection. Students explore algorithm analysis worst and average case analysis - recurrences and asymptotic on different data structures such as
basic linear structures, balanced trees, heaps, and hash tables. They learn algorithm design techniques
- divide-and-conquer, dynamic programming, greedy algorithms, and amortized analysis. Discuss of
algorithms for fundamental graph problems such as depth-first search, connected components,
topological sort, shortest paths is also included in the course. Moreover students are also introduced
to the string match NP-Completeness and Approximation Algorithms
Text Books:
Textbook:
Introduction to Algorithms, 2nd Edition by Thomas H. Cormen
Reference
1. Algorithm Design, by Jon Kleinberg and Eva Tardos, 2013 (Pearson)
2. Introduction to the Design & Analysis of Algorithms, by Anany Levitin, Second Edition,
2012 (Pearson)
Pre-requisite:

Course Breakdown

## Course Name: Analysis of Algorithm

Credit Hours: 3(3-0)
Course Code: CS 542

## Department of Computer Science

Barani Institute of Management
Sciences (BIMS)

Assignments and Quizzes: Approximately 4 assignments and minimum 4 quizzes shall be given
during the semester. The quizzes shall preferably be unannounced
Attendance Policy: 80% attendance is mandatory; deficient students will not be allowed to appear in
the examination.
Lecture Breakdown
Lecture #

Topics
Introduction to the Course

## Quick Review of Necessary Data Structure Concepts

Multiple Solutions for one problem

## Introduction to the Course

Significance of Algorithm Performance and Complexity
Some Simple Examples
Algorithm Analysis Framework
Asymptotic Order of Growth

## Algorithm Analysis Framework

Standard Notations and Common Functions

## Mathematical Analysis of Non- recursive Algorithms

Mathematical Analysis of Recursive Algorithms

Introduction to Tree
Binary tree
Tree Travesing (PreOrder, InOrder, PostOrder)

Tree Part
AVL Tree, Binary Search Tree

Tree Part
B Tree, Heap Data Structure
Min Heap & Max Heap

9
10

Tree Part
Min Heap & Max Heap
Heap Sort
Brute Force Algorithms
Selection Sort

Course Breakdown

11

## Course Name: Analysis of Algorithm

Credit Hours: 3(3-0)
Course Code: CS 542

Exhaustive Search

12

Sorting
Quick Sort
Merge Sort

11

Sorting
Heap Sort

12

## Medians and Order Statistics

Minimum and maximum
Selection in expected linear time

13

14

15

16

17

18

## Medians and Order Statistics

Selection in worst-case linear time
Graph details (definition, types)
Graph Algorithms
Depth First Search (DFS)
Graph Algorithms
Topological Sort
Greedy Algorithms
Element of greedy strategy
Dijkstra
Minimum Spanning Tree (MST)
Prims
Kruskul
Single Source Shortest Paths
Bellman-Ford Algorithm

19

## Single Source Shortest Paths

Bellman-Ford Algorithm

20

Greedy Algorithms

21

Dynamic Programming
Elements of dynamic programming

## Department of Computer Science

Barani Institute of Management
Sciences (BIMS)

Course Breakdown

## Course Name: Analysis of Algorithm

Credit Hours: 3(3-0)
Course Code: CS 542

22

Dynamic Programming
All Pair shortest distance( Floyed Warshal)

23

Dynamic Programming
Matrix-chain multiplication

24

Dynamic Programming
Longest Common Subsequence

25

String Matching
The nave string-matching algorithm

26

String Matching
The Rabin-Karp algorithm

27

Hash Tables

28

29

Hash Tables
Hash tables
Hash functions
Hash Tables

30

Hash Tables

31

Course Revision

32

Course Revision

## Department of Computer Science

Barani Institute of Management
Sciences (BIMS)