You are on page 1of 3

Undergraduate Course Description Document

Semester: ODD Semester Year: 2022

Course Coordinator(s): Dr. Anurag Aeron (Associate Professor-CSE)

Course Instructor(s): Dr. Anurag Aeron (VE210, anurag.aeron@dituniversity.edu.in)


Dr. Ajay N Shukla (ajay.narayan.shukla@dituniversity.edu.in)
Ms. Pooja Gupta (pooja.gupta@dituniversity.edu.in)
Ms. Preeti Gupta (preeti.gupta@dituniversity.edu.in)
Mr. Aditya Dev Mishra (adityadev.mishra@dituniversity.edu.in)
Mr. Tarun Kumar (tarun.kumar@dituniversity.edu.in)

1. Department offering the course Computer Science and Engineering


2. Course Code CSF302
3. Course Title Design and Analysis of Algorithms
4. Credits (L:T:P:C) 3:0:1:4
5. Contact Hours (L:T:P) 3:0:2
6. Prerequisites (if any) Data Structures
7. Course Basket Discipline Core

8. Course Summary
Comprehensive introduction to the study of computer algorithms with its analysis (time and
space complexity). Study of various techniques (Divide & Conquer, Greedy, Dynamic
Programming, Backtracking, and Branch & Bound) to design an algorithm. Introduction of the
problems that comes under category of P and NP.

9. Course Objectives
This course aims to provide the knowledge and understanding the complexity issues of
algorithms
1. To introduce algorithms analysis and design techniques
2. To understand and design of algorithms used for searching, sorting, indexing operation.

10. Course Outcomes: Upon completion of the course, students will be able to:
CO1. Analyzing complexity issues of algorithms
CO2. Ability in using the appropriate algorithm for searching, sorting, indexing operations
CO3. Designing of new algorithms
CO4. Student will be able to learn NP Class problems.

11. Curriculum Content

Unit 1: (6L)
Introduction: Algorithms, Performance Analysis: Space and Time Complexity, Asymptotic Notations-
Big Oh, Omega, theta notations, finding complexity of the algorithm, Sorting: Insertion sort, Bubble
sort, selection sort, count sort.

CSF302, Design and Analysis of Algorithms, V Semester, 3rd year


Unit 2. (8L)
Recurrence relation and its solution (substitution, recurrence tree and master method).Divide and
Conquer: General method, binary search, quick sort, merge sort, heap sort.
Unit 3. (8L)
Greedy Method: General method, Activity Selection, job scheduling with deadlines, fractional
knapsack problem, Minimum cost spanning tree: Kruskal’s and Prim’s, Single source shortest path,
Huffman tree.
Unit 4. (9L)
Dynamic Programming: General Method, 0-1 Knapsack, Matrix chain multiplication, longest
subsequence, all pair shortest paths, Backtracking- Travelling Salesman Problem, Graph Coloring,
n-Queen Problem, Hamiltonian Cyclesand Sum of subsets.
Unit 5. (8L)
Branch and Bound: Travelling Salesman Problem NP-Hard and NP-Complete problems: Basic
Concepts, non-deterministic algorithms, NP-Hard and NP-Complete classes.

12. Evaluation Scheme

Evaluation Instrument Weightage


Quizzes 15%
Graded Lab 25%
Project 10%
Mid Term 20%
End Term Exam 30%

TEXT BOOKS:
1. Ellis Horowitz, SatrajSahni and Rajasekharam, Fundamentals of Computer Algorithms,
UniversitiesPress; Second edition (2008).
2.
3rd edition ( 2009).
3.
2nd edition (2008).
4. M.T.Goodrich and R.Tomassia, Algorithm Design: Foundations, Analysis and Internet
examples,John Wiley & Sons; 1st edition (2001)

REFERENCE BOOKS:
1. R.C.T.Lee, S.S.Tseng, R.C.Chang and T.Tsai, Introduction to Design and Analysis of Algorithms
Astrategic approach, McGraw-Hill Education (Asia) ,2005
2. Aho, Ullman and Hopcroft, Design and Analysis of algorithms, Pearson Education India; 1st
edition2002

TEACHING AND LEARNING STRATEGY


All materials (ppts, assignments, labs, etc.) will be uploaded in Moodle. Refer to your course in
Moodle for details.

CSF302, Design and Analysis of Algorithms, V Semester, 3rd year


Grading policy is as follows: -

 Quiz-15 %
o There will be four quizzes.
 Graded Lab - 25%
o Five Graded lab will be there.
 Project-10 %
 Midterm Exam - 20%
 End Term – 30 %

List of Experiments
S.NO. EXPERIMENT NAME
1 Program in C to Implement Insertion sort, selection sort
2 Program in C to Implement Quick Sort
3 Program in C to Implement Merge Sort
4 Program in C to Implement Binary Searching, Heap sort
5 Program in C to Implement Activity Selection problem
6 Program in C to Implement job scheduling with deadlines
7 Program in C to Implement fractional knapsack problem
8 Program in C to Implement single source shortest path (Dijkstra Algorithm)
9 Program in C to Implement 0-1 Knapsack problem using Dynamic Programming
10 Program in C to Implement all pair shortest path

CSF302, Design and Analysis of Algorithms, V Semester, 3rd year

You might also like