Ada Lesson Plan Bcs401
Ada Lesson Plan Bcs401
Sangha’s
PROUDHADEVARAYA INSTITUTE OF TECHNOLOGY
T. B. DAM, HOSAPETE – 583 225
(Affiliated to VTU, Belagavi, Karnataka & Recognized by AICTE, New Delhi)
Department of COMPUTER SCEINCE AND Engineering
Course syllabus
Course objectives:
This course will enable students to
To learn the methods for analyzing algorithms and evaluating their performance.
To demonstrate the efficiency of algorithms using asymptotic notations.
To solve problems using various algorithm design methods, including brute force, greedy, divide and conquer,
decrease and conquer, transform and conquer, dynamic programming, backtracking, and branch and bound.
● To learn the concepts of P and NP complexity classes.
Module # Topics RBT Level
INTRODUCTION: What is an Algorithm?, Fundamentals of Algorithmic
Problem Solving. FUNDAMENTALS OF THE ANALYSIS OF ALGORITHM
EFFICIENCY: Analysis Framework, Asymptotic Notations and Basic
Module-1 Efficiency Classes, Mathematical Analysis of Non recursive Algorithms,
L1,L2
Mathematical Analysis of Recursive Algorithms. BRUTE FORCE
APPROACHES: Selection Sort and Bubble Sort, Sequential Search and
Brute Force String Matching.
BRUTE FORCE APPROACHES (contd..): Exhaustive Search (Travelling
Salesman probem and Knapsack Problem). DECREASE-AND-CONQUER:
Module-2 Insertion Sort, Topological Sorting. DIVIDE AND CONQUER: Merge Sort,
Quick Sort, Binary Tree Traversals, Multiplication of Large Integers and L2, L3, L4, L5,
Strassen’s Matrix Multiplication.
TRANSFORM-AND-CONQUER: Balanced Search Trees, Heaps and
Heapsort. SPACE-TIME TRADEOFFS: Sorting by Counting: Comparison
Module-3
counting sort, Input Enhancement in String Matching: Horspool’s L2, L3, L4, L5,
Algorithm
DYNAMIC PROGRAMMING: Three basic examples, The Knapsack Problem
and Memory Functions, Warshall’s and Floyd’s Algorithms. THE GREEDY
Module-4
METHOD: Prim’s Algorithm, Kruskal’s Algorithm, Dijkstra’s Algorithm, L2, L3, L4, L5,
Huffman Trees and Codes.
LIMITATIONS OF ALGORITHMIC POWER: Decision Trees, P, NP, and NP- L2, L3, L4, L5,
Complete Problems. COPING WITH LIMITATIONS OF ALGORITHMIC
Module-5 POWER: Backtracking (n-Queens problem, Subset-sum problem), Branch-
and-Bound (Knapsack problem), Approximation algorithms for NP-Hard
problems (Knapsack problem).
Course Outcomes:
Bellari, V.V. Sangha’s
PROUDHADEVARAYA INSTITUTE OF TECHNOLOGY
T. B. DAM, HOSAPETE – 583 225
(Affiliated to VTU, Belagavi, Karnataka & Recognized by AICTE, New Delhi)
Department of COMPUTER SCEINCE AND Engineering
22CS201.2 Demonstrate divide & conquer approaches and decrease & conquer approaches to
solve computational problems.
22CS201.3 Make use of transform & conquer and dynamic programming design approaches to
solve the given real world or complex computational problems.
22CS201.4 Apply greedy and input enhancement methods to solve graph & string based
computational problems
.
Text Books:
T1. Introduction to the Design and Analysis of Algorithms, By Anany Levitin, 3rd Edition (Indian), 2017, Pearson
Reference Books:
1. Computer Algorithms/C++, Ellis Horowitz, SatrajSahni and Rajasekaran, 2nd Edition, 2014, Universities Press.
2. Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronal L. Rivest, Clifford Stein, 3rd Edition, PHI.
3. Design and Analysis of Algorithms, S. Sridhar, Oxford (Higher Education)
LESSON PLAN
Department: Computer Science And Engineering
Academic Year: 2023-2024
Semester : IV
Branch : Computer Science And Engineering
Course : Computer science
Course Code : CS
Faculty Name : INDIRA
Designation : Assistant Professor
solving it using
13.
Master’s theorem. ,
Divide and Conquer
14. algorithms and
complexity
Analysis of Finding the
15.
maximum & minimum,
Binary search,
16.
Merge sort,
17.
Quick sort.
18.
Greedy Method: Merge
19.
Sort
Binary Tree
20.
Traversals,
Multiplication of Large
21. Integers and Strassen’s
Matrix Multiplication
TRANSFORM-AND-
22. CONQUER: Balanced
Search Trees,
Heaps and Heapsort
23.
SPACE-TIME
24. TRADEOFFS: Sorting by
Counting
Comparison counting
25.
sort
Input Enhancement in
26. String Matching:
Horspool’s Algorithm.
DYNAMIC
PROGRAMMING:
27.
Three basic
examples,
The Knapsack
28. Problem and
Memory
Bellari, V.V. Sangha’s
PROUDHADEVARAYA INSTITUTE OF TECHNOLOGY
T. B. DAM, HOSAPETE – 583 225
(Affiliated to VTU, Belagavi, Karnataka & Recognized by AICTE, New Delhi)
Department of COMPUTER SCEINCE AND Engineering
Moderately mapped as students learn to demonstrate proficiency in writing simple programs involving branching
and looping structures. This can be used to providesolutions for various engineering problems.PO2
2 Moderately mapped as students learn to analyze and exhibit proficiency in writingsimple programs involving branching
and looping structures.PO3
1Slightly mapped as students use the proficiency in writing simple programs involving branching and looping structures in
designing and development of many software problems.PO4
1Slightly mapped as the students conduct complex analysis in demonstrating proficiency in writing simple programs
involving branching and looping structures.PO5
1Slightly mapped as students use modern tools in demonstrating proficiency in writingsimple programs involving branching
and looping structures.PO12
1Slightly mapped as the student use skills in demonstrating proficiency in writingsimple programs involving branching and
looping structures in lifelong to representtheir work.PSO1
3 Strongly mapped because students will apply Java basics in the field of coding.PSO2 1 Slightly mapped as the students wil
l apply Java basics to build network applications.
CO No. PO/PSO CL Justification
Moderately mapped as students learn to demonstrate proficiency in writing
simple programs involving branching and looping structures. This can be used to
providesolutions for various engineering problems.
https://www.scribd.com/document/721980320/BCS306A-Justification-CSE
Bellari, V.V. Sangha’s
PROUDHADEVARAYA INSTITUTE OF TECHNOLOGY
T. B. DAM, HOSAPETE – 583 225
(Affiliated to VTU, Belagavi, Karnataka & Recognized by AICTE, New Delhi)
Department of COMPUTER SCEINCE AND Engineering
Bellari, V.V. Sangha’s
PROUDHADEVARAYA INSTITUTE OF TECHNOLOGY
T. B. DAM, HOSAPETE – 583 225
(Affiliated to VTU, Belagavi, Karnataka & Recognized by AICTE, New Delhi)
Department of COMPUTER SCEINCE AND Engineering
Moderately mapped as students learn to demonstrate proficiency in writing simple programs involving branching and looping
structures. This can be used to providesolutions for various engineering problems