Тех, кто видит словосочетание "алгоритмическое (олимпиадное, спортивное) программирование" впервые, отсылаю в википедию.
P.S. Если есть интерес, после защиты могу написать несколько статей о спортивном программировании, алгоритмах, структурах данных.