Indian Engineering Education to be FREE from March 15, 2019
Includes:
ABOUT THE COURSE
This course provides a solid foundation in algorithm analysis and design. Specifically, the learning outcomes of this course include, basic knowledge of computational complexity, ability to analyze asymptotic runtime complexity of algorithms and ability to understand and design algorithms using Divide and Conquer Strategy, Greedy Strategy, Dynamic Programming, Backtracking and Branch and Bound Design Strategy.COURSE OBJECTIVES
Upon successful completion of the course, the learner will be able to :An algorithm is a well-defined procedure that allows a computer to solve a problem. Another way to describe an algorithm is a sequence of unambiguous instructions. The use of the term 'unambiguous' indicates that there is no room for subjective interpretation. In this module you will get an introduction about the different design strategies in programming.
The complexity of the algorithm is analysed with respect to time and space. In this module, you will learn about analysing the complexity of a given problem with respect to time and space.
This is the continuation of the previous module. In this module you will see some more examples on analysing the time and space complexity.
A search algorithm is any algorithm which solves the search problem, namely, to retrieve information stored within some data structure, or calculated in the search space of a problem domain. In this module, you will learn the working of the searching algorithms like, linear search and binary search. You will also analyse the complexities of the algorithm.
A sorting algorithm is an algorithm that puts elements of a list in a certain order. The most frequently used orders are numerical order and lexicographical order. In this module, you will learn how the given data is sorted using the various sorting algorithms. You will also analyse the complexities of the algorithm.
Following a strategy to solve a problem will make the problem simple as well as reduce the complexity of the solution. In this module, you will learn the introduction to the five different design strategies.
Divide and conquer is an algorithm design paradigm based on multi-branched recursion. A divide and conquer algorithm works by recursively breaking down a data-set into two or more sub-data-sets, until these become simple enough to be solved directly . In this module you will learn how to solve problems using this strategy.
This module the continuation of the previous module. In this module, you will learn and solve few more example problems about this strategy.
A greedy algorithm is an algorithmic paradigm that follows the problem solving heuristic of making the locally optimal choice at each stage with the intent of finding a global optimum. In many problems, a greedy strategy does not usually produce an optimal solution, but nonetheless a greedy heuristic may yield locally optimal solutions that approximate a globally optimal solution in a reasonable amount of time. In this module you will learn how to solve problems using this strategy.
This module the continuation of the previous module. In this module, you will learn and solve few more example problems about this strategy.
Dynamic programming refers to simplifying a complicated problem by breaking it down into simpler sub-problems in a recursive manner. In this module you will learn how to solve problems using this strategy.
This module the continuation of the previous module. In this module, you will learn and solve few more example problems about this strategy.
Backtracking strategy is defined as a general algorithmic technique that considers searching every possible combination in order to solve an optimization problem. In this module you will learn how to solve problems using this strategy.
This module the continuation of the previous module. In this module, you will learn and solve few more example problems about this strategy.
Branch and bound is an algorithm paradigm that basically relies on a combinatorial approach and is hence used for combinatorial optimization problems. For example, the knapsack problem. In this module you will learn how to solve problems using this strategy.
In this module, you will learn about solving various string based problems that are used to try out different methods to reduce the complexity with respect to time and space.
You can opt for the following courses once you complete your ongoing course
E-Box is a Technology Enabled Active Learning and
Assessment platform for technology and engineering
domains apart from the basic LMS components like
quizzes, assignments, lesson components.