The book contains: Concept of Notion of an Algorithm - Fundamentals of Algorithmic Problem Solving - Important Problem Types - Fundamentals of the Analysis of Algorithmic Efficiency - Asymptotic Notations and their properties. Analysis Framework - Empirical analysis - Mathematical analysis for Recursive and Non-recursive algorithms - Visualization. Dynamic programming - Principle of optimality - Coin changing problem, Computing a Binomial Coefficient - Floyd's algorithm - Multi stage graph - Optimal Binary Search Trees - Knapsack Problem and Memory functions.Greedy Technique - Container loading problem - Prim's algorithm and Kruskal's Algorithm - 0/1 Knapsack problem, Optimal Merge pattern - Huffman Trees.