0% found this document useful (0 votes)
72 views2 pages

SYLLABUS Design Analysis of Algorithms

The course USCS201 focuses on the Design & Analysis of Algorithms, covering algorithm complexity, essential operations, and various algorithmic strategies such as greedy and dynamic programming. It aims to equip students with the ability to evaluate algorithm efficiency and apply appropriate design principles to solve real-world problems. Key topics include data structures, recursion, sorting and searching techniques, and algorithm design paradigms.

Uploaded by

zectx2024
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views2 pages

SYLLABUS Design Analysis of Algorithms

The course USCS201 focuses on the Design & Analysis of Algorithms, covering algorithm complexity, essential operations, and various algorithmic strategies such as greedy and dynamic programming. It aims to equip students with the ability to evaluate algorithm efficiency and apply appropriate design principles to solve real-world problems. Key topics include data structures, recursion, sorting and searching techniques, and algorithm design paradigms.

Uploaded by

zectx2024
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Semester IV

II

Lectures
Course Code Course Title Credits
/Week
USCS201 Design & Analysis of Algorithms 2 3

About the Course:


The course covers the concepts of - (i) calculating complexity of algorithms, (ii) the essential operations
like searching, sorting, selection, pattern matching & recursion, and (iii) various algorithmic strategies like
greedy, divide-n-conquer, dynamic programming, backtracking and implementations of all these on basic
data structures like array, list and stack.

Course Objectives:
The objectives of this course are:
To make students understand the basic principles of algorithm design
To give idea to students about the theoretical background of the basic data structures
To familiarize the students with fundamental problem-solving strategies like searching, sorting,
selection, recursion and help them to evaluate efficiencies of various algorithms.
To teach students the important algorithm design paradigms and how they can be used to solve
various real world problems.

Learning Outcomes:
After successful completion of this course, students would be able to
Students should be able to understand and evaluate efficiency of the programs that they write
based on performance of the algorithms used.
Students should be able to appreciate the use of various data structures as per need
To select, decide and apply appropriate design principle by understanding the requirements of
any real life problems

Topics No of
Unit
Lectures
Introduction to algorithms - What is algorithm, analysis of algorithm, Types
of complexity, Running time analysis, How to Compare Algorithms, Rate of
Growth, Types of Analysis, Asymptotic Notation, Big-O Notation, Omega-Ω
Notation, Theta-Θ Notation, Asymptotic Analysis, Performance
characteristics of algorithms, Estimating running time / number of steps of
executions on paper, Idea of Computability
I 15
Introduction to Data Structures - What is data structure, types, Introduction
to Array(1-d & 2-d), Stack and List data structures, operations on these data
structures, advantages disadvantages and applications of these data structures
like solving linear equations, Polynomial Representation, Infix-to-Postfix
conversion

Recursion - What is recursion, Recursion vs Iteration, recursion


II 15
applications like Factorial of a number, Fibonacci series & their
comparative analysis with respect to iterative version, Tower of hanoi
problem

Basic Sorting Techniques - Bubble, Selection and Insertion Sort & their
comparative analysis

Searching Techniques - Linear Search and its types, Binary Search and their
comparative analysis

Selection Techniques - Selection by Sorting, Partition-based Selection


Algorithm, Finding the Kth Smallest Elements in Sorted Order & their
comparative analysis

String Algorithms - Pattern matching in strings, Brute Force Method &


their comparative analysis

Algorithm Design Techniques - Introduction to various types of


classifications/design criteria and design techniques

Greedy Technique - Concept, Advantages & Disadvantages, Applications,


Implementation using problems like - file merging problem

Divide-n-Conquer - Concept, Advantages & Disadvantages, Applications,


Implementation using problems like - merge sort, Strassen's Matrix
III 15
Multiplication

Dynamic Programming - Concept, Advantages & Disadvantages,


Applications, Implementation using problems like - Fibonacci series,
Factorial of a number, Longest Common subsequence

Backtracking Programming - Concept, Advantages & Disadvantages,


Applications, Implementation using problems like N-Queen Problem

Textbooks:
1. “Data Structure and AlgorithmUsing Python”, Rance D. Necaise, Wiley India Edition, 2016.
2. “Data Structures and Algorithms Made Easy”, NarasimhaKarumanchi, CareerMonk
Publications, 2016.
3. “Introduction to Algorithms”, Thomas H. Cormen, 3rd Edition, PHI.
Additional References:
1. “Introduction to the Design and Analysis of Algorithms”, Anany Levitin, Pearson, 3rd Edition,
2011.
2. “Design and Analysis of Algorithms”, S. Sridhar, Oxford University Press, 2014.

You might also like