Algorithmic patterns