Algorithms

I’ve been experimenting with Python recently, and I wanted to know more about theoretical Computer Science, specially algorithms.
I wrote a function that finds duplicates in a list of numbers, two that find the largest and smallest number in a list of numbers, among others.
I’d like to start by a definition of algorithms.
An algorithm is a step by step procedure for calculating a certain thing.
For example, an algorithm that finds the square root of a number.