*1K*

Algorithmic Paradigms in short define how you can go about solving a problem. If you are starting to solve problems in computer science, this course is designed for you. However, this course is also recommended for you if you are revising all the basics and want a quick recap of some famous techniques.

##### What are Algorithmic Paradigms?

Whenever you try to build something, or develop something, an initial research and foundation is very essential. Think about it, a skyscraper will only be as stable as its base. In the world of programming, when you are about to solve more and more problems, you need to understand there can be several different ways to solve a problem. These techniques help you to lay that foundation.

You don’t have a “*one size fits all*” in computer applications. To be a better programmer, you need to learn about different algorithmic paradigms. These paradigms define the general structure of how the solution would look like. Once, you get the idea, you can start thinking in a particular direction.

##### What Algorithmic Paradigms do we cover?

The word paradigm means “*pattern of thought*“. Hence you can think about a solution in several ways. The course covers the following different techniques:

- Brute Force: The most commonly used approach which is very essential to determine if a solution to a problem exists or not.
- Divide and Conquer: Break down the problem into smaller parts and start solving them one by one to reach the optimal solution.
- Greedy: Solve the problem by choosing the most optimal solution at every step and hope to reach a global optimal solution.
- Dynamic Programming: Look for an optimal sub-structure in the problem and keep on finding the optimal solution to each sub-problem.
- Recursion: Identify a repeating pattern in a problem and take advantage of a terminal condition to work your way up to the top.

##### What knowledge do you need?

The course does not require any sort of programming knowledge to start. You will find very easy to follow examples with objects that you use in day to day lives. This helps to understand these algorithmic paradigms in a very quick and easy way. We do not do any kind of coding in these tutorials.

Feel free to mention any doubts in the comments below. Good Luck!!