Abstract
Algorithms are playing an increasingly important role in society, both for computer applications and for social use (social networks, search engines, post-bac assignments, electoral boundaries). When theory lags behind practice, there is a risk that methods will be applied before their fundamental aspects have been understood, with the consequent risk of manipulation. The algorithmic perspective combines considerations of efficiency with a systematic approach to problems passing through different phases (modeling, formalization, resolution, application) in which randomness plays an important role. When well conceived, algorithms can be a tool for transforming society and contributing to social good.