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 meant for beginner who are new to algorithms. Some experience with a programming language is sufficient to start learning algorithms, but here are some more information about prerequisites to learn algorithms.

- 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.

You can visit our programming tutorials to learn programming concepts to get comfortable with algorithms.

## Algorithm Tutorial Topics

Here is a list of topics for algorithms. Read from top (easy) to bottom (difficult).

### Algorithms Fundamentals

- Algorithm Introduction
- Algorithm Pseudo Code
- Algorithm Performance Analysis
- Algorithm Order Of Growth
- Algorithm Time Complexity
- Selection Sort Algorithm