[vc_row el_class=”inner-body-content” css=”.vc_custom_1666777942952{padding-top: 30px !important;padding-bottom: 20px !important;}”][vc_column][vc_custom_heading text=”Pre-requisite(s)” font_container=”tag:h2|font_size:20px|text_align:left” use_theme_fonts=”yes” css=”.vc_custom_1666777931204{margin-top: 0px !important;}”][vc_column_text]Data Structures (CS-2143)
Discrete Mathematics (MTC-2053)
Computer Programming (CS-1123)[/vc_column_text][vc_custom_heading text=”Recommended Book(s)” font_container=”tag:h2|font_size:20px|text_align:left” use_theme_fonts=”yes”][vc_column_text]Introduction To Design & Analysis Of Algorithms By Anany Levitin 3rd Edition
Foundations Of Algorithms By Richard E. Neapolitan, Kumarss Naimipour, Northeastern Illinois University D. C. Heath And Company Lexington, Massachusetts Toronto[/vc_column_text][vc_custom_heading text=”Reference Book(s)” font_container=”tag:h2|font_size:20px|text_align:left” use_theme_fonts=”yes”][vc_column_text]Data Structures And Algorithm Analysis In C++ By Mark Allen Weiss Benjamin/Cummings Publishing Company, Inc.[/vc_column_text][vc_custom_heading text=”COURSE OBJECTIVES” use_theme_fonts=”yes”][vc_column_text]
Design algorithms using different algorithms design techniques i.e. Divide and Conquer, Dynamic Programming, Greedy Algorithms & Backtracking. Analyze Algorithms (estimate upper & lower bounds without coding and running the algorithms) and compare the efficiency of different algorithms for a problem. Implement and test algorithms. Logically think and develop problem solving skills.
[/vc_column_text][vc_custom_heading text=”COURSE LEARNING OUTCOMES (CLO)” font_container=”tag:h3|text_align:left” use_theme_fonts=”yes”][vc_column_text]Course Objectives[/vc_column_text][vc_custom_heading text=”COURSE CONTENTS” use_theme_fonts=”yes”][vc_custom_heading text=”Introduction to the course and course objectives” font_container=”tag:h3|text_align:left” use_theme_fonts=”yes”][vc_column_text]What is an algorithm?
Fundamental of the Algorithmic Problem Solving
Important Problem Types
Fundamental Data structures[/vc_column_text][vc_custom_heading text=”Fundamentals of the Analysis of Algorithm Efficiency” font_container=”tag:h3|text_align:left” use_theme_fonts=”yes”][vc_column_text]The analysis framework
Asymptotic Notations and Basic Efficiency Classes
Mathematical Analysis of Nonrecursive Algorithms
Mathematical Analysis of Recursive Algorithms
Substitution method
Iteration method[/vc_column_text][vc_custom_heading text=”Brute Force / Exhaustive Search / Decrease-and-Conquer” font_container=”tag:h3|text_align:left” use_theme_fonts=”yes”][vc_column_text]Selection Sort and Bubble Sort
Sequential Search and Brute-Force String Matching
Exhaustive Search
Depth first search
Breadth first search
Insertion Sort[/vc_column_text][vc_custom_heading text=”Design and Optimization Example” font_container=”tag:h3|text_align:left” use_theme_fonts=”yes”][vc_column_text]Maximum Subsequence Sum Problem[/vc_column_text][vc_custom_heading text=”Divide and Conquer algorithm design strategy” font_container=”tag:h3|text_align:left” use_theme_fonts=”yes”][vc_column_text]Recursive Algorithm Analysis
Merge Sort
Quick Sort
Multiplication of Matrices / Strassen’s Algorithm[/vc_column_text][vc_custom_heading text=”Dynamic Programming” font_container=”tag:h3|text_align:left” use_theme_fonts=”yes”][vc_column_text]Introduction to the DP Paradigm
Development of a Recursive Algorithm
Elimination of Redundant Work from a Recursive Algorithm
Transform into a memoized recursive algorithm
Transform into an iterative algorithm
Optimized Algorithm
Development of a recursive definition to solve a problem with examples
Coin row problem
Coin collection problem
Knapsack problem
Optimal Binary Search Tree
Warshall Algorithm
Flyod Algorithm[/vc_column_text][vc_custom_heading text=”Greedy Technique” font_container=”tag:h3|text_align:left” use_theme_fonts=”yes”][vc_column_text]Prim’s Algorithm
Kruskal’s Algorithm
Dijkstra’s Algorithm
Huffman Trees and Codes[/vc_column_text][vc_custom_heading text=”Limitations of Algorithm Power” font_container=”tag:h3|text_align:left” use_theme_fonts=”yes”][vc_custom_heading text=”Coping with the Limitations of Algorithm Power” font_container=”tag:h3|text_align:left” use_theme_fonts=”yes”][vc_column_text]Backtracking (n-Queen Problem, Hamiltonian Circuit Problem, Subset-Sum Problem)
Branch & Bound (Assignment Problem, knapsack Problem)[/vc_column_text][vc_custom_heading text=”MAPPING OF CLOs TO ASSESSMENT MODULES” font_container=”tag:h2|font_size:20px|text_align:left” use_theme_fonts=”yes”][vc_column_text css=”.vc_custom_1666777916864{margin-bottom: 0px !important;}”]
Final Exam |
Assignments |
Surprise Tests/Quizzes |
Project |
Midterm Exam |
[/vc_column_text][/vc_column][/vc_row]