In this course, we will build families of invariants (homotopy groups and homology groups) which can be used to separate topological spaces. These groups represent the result of applying functors to (pointed) topological spaces in order to move to algebraic frameworks where calculations become feasible and informative.