Professional Documents
Culture Documents
ADA Syllabus New
ADA Syllabus New
1. Course Description
This course is designed to provide the students with the knowledge of how the algorithms are designed
and how their performances are analyzed. This course focuses on the analysis of algorithms using
asymptotic analysis techniques for performance analysis and various algorithm design techniques such
as divide and conquer, dynamic programming, greedy approaches and backtracking techniques.
2. General Objectives
● To acquaint the student with the knowledge of the basic concept of algorithmic design
techniques that are used to solve real world problems.
● To familiarize the students with the concept of computational complexity and algorithm analysis
techniques.
● To develop the skill in students to design new algorithms and to analyze them to choose a more
efficient algorithm.
3. Methods of Instruction
4. Contents in Detail.
● Review the basic data structures. Unit 2: Basic Data Structures (2 hours)
1. Stacks and Queues
2. Trees- Binary Trees
3. Dictionaries - Binary Search Tree
4. Priority Queues- Heap and Heapsort
5. Sets and Disjoint Set Union
6. Graphs and Graphs Representation
● Solve problems using divide and Unit 3: Divide and Conquer Method (5 hours)
conquer strategy 1. Introduction
2. Binary Search
3. Finding the Minimum and Maximum
4. Merge sort and Quicksort
5. Selection
6. Strassen’s Matrix Multiplication
● Solve problems using greedy Unit 4: The Greedy Method (7 hours)
problem 1. Introduction
2. Knapsack Problem- Fractional Knapsack Problem
3. Tree Vertex Splitting
4. Job Sequencing with Deadlines
5. Minimum Cost Spanning Trees
● Prim’s Algorithm
● Kruskal’s Algorithm
6. Optimal Storages on Tapes
7. Optimal Merge Patterns
● Use traversal and search Unit 6: Basic Traversal and Search Techniques (7
techniques in Tree and Graphs hours)
1. Techniques for Binary Trees
2. Techniques for Graphs
● Breadth First Search and Traversal
● Depth First Search and Traversal
3. Connected Components and Spanning Trees
4. Biconnected Component and DFS
5. Practical Works
Laboratory works of 45 hours per group of maximum 24 students should cover all the lab works:.
SN Lab Works
6. List of Tutorials:
The various tutorial activities that suit this course should cover all the content of this course to give
students a space to engage more actively with the course content in the presence of the instructor.
Students should submit tutorials as assignments or class-works to the instructor for evaluation. The
following tutorial activities of 15 hours per group of maximum 24 students should be conducted to
cover the content of this course:
Internal Evaluation
The internal evaluation of a student may consist of assignments, attendance, internal assessment, lab
reports and project works etc. The internal evaluation scheme for this course is as follows:
Theory 30
Attendance & Class Participation 10%
Assignments 20%
Presentations/Quizzes 10%
Internal Assessment 60% Semester-End 50
examination
Practical 20
Total Internal 50
Full Marks: 50 + 50 = 100
Student Responsibilities:
Each student must secure at least 45% marks separately in internal assessment and practical evaluation
with 80% attendance in the class in order to appear in the Semester End Examination. Failing to get such
a score will be given NOT QUALIFIED (NQ) to appear for the Semester-End Examinations. Students
are advised to attend all the classes, formal exam, test, etc. and complete all the assignments within the
specified time period. Students are required to complete all the requirements defined for the completion
of the course.
1. Horowitz E., Sahni S. & Rajasekaran, S. (1999). Computer Algorithms C++. Galgotia
Publications.
References:
1. Baase S., and Gelder, A. V. (2012). Computer Algorithms: Introduction to Design and Analysis.
Addison-Wesley.