Back close

Course Detail

Course Name Modern Algorithms: From Theory To Practice
Course Code 25WN611
Program M.Tech. Wireless Networks & Applications (Specialising in IoT, AI, 5G, Blockchain) (For Working Professionals & Regular Students)
Semester 2
Credits 4
Campus Amritapuri

Syllabus

Syllabus

Algorithm Analysis: Methodologies for Analyzing Algorithms, Asymptotic Notation, Recurrence Relations. Data Structures: Linear Data Structures (Stacks, Queues, Linked-Lists, Vectors), Trees (Binary Search Trees, AVL trees, Red-Black trees, B-trees), Hash-Tables (Dictionaries, Associative Arrays, Database Indexing, Caches, Sets) and Union-Find Structures. Searching and Sorting(Insertion and Selction Sort, Quick Sort, Merge Sort, Heap Sort, Bucket Sort and Radix Sort), Comparison of sorting algorithms and lower bounds on sorting. Fundamental techniques: The Greedy Method, Divide and Conquer, Dynamic Programming. Graph Algorithms: Elementary Algorithms, ie Breadth-first search, Depth-first search, Topological sort, Strongly connected components. Minimum Spanning Trees, Single-Source Shortest Paths, All-Pairs Shortest Paths, Maximum Flow, Network Flow and Matching, Flows and Cuts. Nondeterministic Polynomial Time Problems: P and NP, NP-Complete, NP-Hard, Important NP-Complete/Hard Problems. 

Significant labs: Implementation of algorithms using a structured or object-oriented programming language. 

Objectives and Outcomes

Course Outcome Statement (CO)

CO1 

Ability to Understand, Analyze the performance of recursive and non-recursive algorithms and to measure the performance of algorithms. 

CO2 

Able to apply the knowledge gained to determine the efficiency of algorithms, considering time and space tradeoffs by using asymptotic notations.

CO3 

Able to understand the concept of graph traversal and search algorithms. 

CO4 

Solve problems by applying appropriate algorithm design techniques and analyze the efficiency of various algorithms 

CO5 

Able to apply divide and conquer strategy for the design of various algorithms 

CO6 

Able to develop algorithms for well-known problems using greedy methods. 

CO7 

Able to describe and apply dynamic-programming approach for designing graph and matrix based algorithms 

CO8 

Synthesize efficient algorithms in common real life situations 

CO9 

Ability and improve the programming skills by implementing the algorithms in optimal line of codes. 

CO10 

Ability to analyze and solve common logic and analytical puzzles and provide optimized solutions for the same.

 

CO – PO Affinity Map

PO 

PO1 

PO2 

PO3 

PO4 

PO5 

PO6 

PO7 

PO8 

PO9 

PO10 

PO11 

PO12 

PS01 

PSO2 

PSO3 

CO 

CO1 

– 

– 

– 

– 

– 

 

 

 

CO2 

– 

– 

– 

– 

– 

 

 

 

CO3 

– 

– 

– 

– 

 

 

 

CO4 

– 

– 

– 

– 

– 

 

 

 

CO5 

– 

– 

– 

– 

– 

 

 

 

CO6 

– 

– 

– 

– 

– 

 

 

 

CO7 

– 

– 

– 

– 

– 

 

 

 

CO8 

– 

– 

– 

– 

– 

– 

– 

– 

CO9 

– 

– 

– 

– 

– 

– 

– 

– 

CO10 

– 

– 

– 

– 

– 

– 

– 

Text Books / References

  1. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, “Introduction to Algorithms”, Third Edition, MIT Press, 2009.  
  2. SanjoyDasgupta, Christos Papadimitriou and UmeshVazirani, “Algorithms”, McGraw-Hill, 2006.  
  3. Jon Kleinberg and EvaTardos, “Algorithm Design”, Addison Wesley, 2005.  
  4. RobertSedgewick and Kevin Wayne, “Algorithms”, Fourth Edition, Addison Wesley, 2011.  
  5. Kurt Mehlhorn and Peter Sanders, “Data Structures and Algorithms: The Basic Toolbox”, Springer, 2008.  

DISCLAIMER: The appearance of external links on this web site does not constitute endorsement by the School of Biotechnology/Amrita Vishwa Vidyapeetham or the information, products or services contained therein. For other than authorized activities, the Amrita Vishwa Vidyapeetham does not exercise any editorial control over the information you may find at these locations. These links are provided consistent with the stated purpose of this web site.

Admissions Apply Now