Описание
☞ Что это мне дает?
- Большинство IT-компаний, как российских, так и зарубежных, особенно, на профессию разработчика дают на собеседовании задачки аналогичные тем, что решаются на олимпиадах по спортивному программированию. У тех, кто научился решать эти задачки, значительно больше шансов получить хорошую и высокооплачиваемую работу. Также работодатель (рекрутер) смотрит Ваш код помимо непосредственного алгоритмического решения задачи, и то и другое учиться делать участник олимпиад по спортивному программированию.
- Спортивное программирование позволяет держать себя в тонусе. Студенты, которые не участвуют в олимпиадах по спортивному программированию имеют тенденцию утрачивать полученные навыки, после выполнения 7-8 лабораторных работ по программированию согласно учебному плану в течении семестра, студенты больше не занимаются практикой программирования, это слишком мало для того, чтобы считать себя программистом или писать код на уровне профессиональных программистов, которые занимаются этим каждый день по 8 часов в сутки. Занятие спортивным программированием позволяет решать проблему частичной утраты полученных навыков в ходе учебного процесса, благодаря регулярным тренировкам и соревнованиям.
- Спортивное программирование - это весело! Спортивное программирование подразумевает работу в команде, скорее всего именно в таких условиях и придется работать в дальнейшем выпускнику ВУЗа. Обычный учебный план подразумевает индивидуальные задания, но не учитывает проектную коллективную деятельность, из-за чего выпускник может встретиться с серьезными проблемами на рабочем месте. Некоторые компании используют методологию экстремального программирования, которая лежит в основе спортивного программирования, при которой разработкой одного и того же приложения занимаются единовременно 2-3 человека.
При использовании такой методологии:
1) ошибки локализуются еще на стадии написания кода;
2) принцип "одна голова хорошо, - а две лучше", когда необходимо учитывать, что один человек не может знать всё, каждый участник проектной деятельности может привносить частичку своих знаний и навыков в общий проект;
3)процесс разработки кода значительно ускоряется, писать код вместе и решать алгоритмические задачи коллективно менее утомительно, да и когда у кого-то "уже глаз замылился", то другой участник может увидеть ошибку или искусное решение той или иной задачи.
- Отличная строчка в резюме! Если вы напишите в резюме, что вы вышли в финал Чемпионата мира по программированию, это может дать еще более выигрышное положение при трудоустройстве, нежели второй диплом. Чемпионат мира по программированию знают во всём мире)) Все хорошие ИТ-специалисты знают, что такое Чемпионат мира по программированию, либо сами в нем участвовали, либо тренируют сейчас новое подрастающее поколение.
☞ Когда лучше этим заняться?
Безусловно, начинать имеет смысл именно с первого курса, именно тогда, появляется возможность показать серьезный результат к 3-4 курсу. 3-х кратный Чемпиона мира по программированию Яков Длугач, ныне разработчика Google в Цюрихе на вопрос: "Как вы стали чемпионами?" сказал, что надо просто много тренироваться: «5-часовые регулярные тренировки». На тренировках проводится, как разбор наиболее необходимых алгоритмов, так и эмуляция реальных контестов, участие в онлайн контестах, разбор задач и анализ кода.
☞ Я хочу заняться этим, но знаю только Pascal (Basic).
В школах в основном, изучают Basic, или в лучшем случае Pascal. Реальные промышленные задачи с помощью этих языков не решаются. Специально для тех, кто имеет большое желание и понимание принципов программирования (ветвления, циклы, массивы), и хочет заниматься спортивным программированием, проводятся тренировки по C/C++.
☞ Олимпиадное программирование не имеет ничего общего с реальными промышленными задачами.
Конечно же, это утверждение не верно, или точнее не совсем верно. Участ