# Basic algorithms

With the basic algorithm course, you will learn how to solve the basic programming problems that a programmer needs.

Time
33 hours

Number of tasks
56

Reward
Certificate

### What is algorithm?

Algorithms is a finite set of instructions to be executed in a certain order to get the desired result. In general, the algorithm is independent of programming languages, ie an algorithm can be deployed in many different programming languages.

### Characteristics of the algorithm

Not all procedures can be called an algorithm. An algorithm should have the following characteristics:

- Determination: Algorithms should be clear and not ambiguous. Each stage (or step) should be clear and carry only a certain purpose.
- Defined input data: An algorithm should have 0 or more specified input data.
- Output: An algorithm should have one or more defined output data, and should connect to the type of result you want.
- Stop: Algorithms must end after a finite number of steps.
- Efficiency: An algorithm should be enforceable with available sources, ie being able to effectively solve the problem in terms of time and resources allowed.
- Popularity: An algorithm is popular if this algorithm can solve a class of similar problems.
- Independence: An algorithm should have directives independent of any programming code.

### Conclusion

This course is a series of algorithmic exercises, divided into different groups. Our task is to solve those exercises, apply the basic knowledge of different programming languages (C ++, JAVA, C #, ...)