Implementing algorithms for practice