A *computer program* is clear instructions in a programming language that solve some problem. You can write this program in different programming languages, but the solution to the problem irrespective of programming language remain the same.

Therefore, an algorithm is **an independent solution** to a computer-based problem.

**About Algorithms Tutorial**

This tutorial is written for anyone who wants to learn algorithms. There are few prerequisites to this tutorial and they are

- You must be familiar with basic mathematical concepts such as
*exponents, set theory, mathematical induction, trees, graphs, relations, limits and so on.* - Some knowledge of programming is recommended such as C/C++ or Java Programming.

### Introduction

- Algorithms Introduction
- Algorithms Pseudo Code
- Algorithms Performance Analysis
- Algorithms Order of Growth
- Algorithms Determining Complexities
- Algorithm Analysis of SelectionSort