Topcoder - змагання з програмування

TopCoder - це компанія, яка організуетсоревнованія з програмування. Під керівництвом TopCoder проходять регулярниекак алгоритмічні онлайн-змагання (прості матчі або марафони), так ісоревнованія по дизайну і розробки програмного забезпечення. У результатепоследніх створюється високоякісне програмне забезпечення, котороеліцензіровано для продажу компанією TopCoder. Учасники ж соревнованійполучают зарплату згідно з досягнутими результатами. Алгорітміческіесоревнованія, як правило, не приносять прибутку компанії, але вони могутспонсоруватіся зацікавленими компаніями. Статистика учасника ведеться покаждому типу змагань і включає в себе рейтинг і інші показники.

типи змагань

Алгоритми (англ. Algorithm): учаснику пропонується решітьтрі алгоритмічні завдання за 75 хвилин. Алгоритмічний матч ділиться на 4 фази.Протяженіі кодинг (англ. Coding Phase) учасники пишуть розв`язки на одній ізразрешенних мов програмування. Ці рішення можна перевірити на несколькіхдоступних прикладах тестів. Якщо учасник вважає, що його рішення правильне, то він може здати задачу і отримати за це певну кількість баллов.Балли за завдання залежать від її складності і часу, учасник витратив нарешеніе. Після цієї фази настає перерва. За ці кілька хвилин участнікімогут обговорити завдання або просто відпочити і підготуватися до останньої фазесоревнованія, де від них ще щось залежить. У сленгу кодеров ця фаза носітімя «челендж-фаза» (англ. Challenge Phase). Оскільки рішення, отправленипротяженіі кодинг, що не перевіряються на повному наборі тестів, то серед них могутбить неправильні. Основне завдання «челендж» - пошук таких рішень. Участнікамстановятся доступними для перегляду рішення інших. Якщо хтось вважає, чтоувідел помилку в певному рішення, то він може його «челенджіти» - перевірити напевні тесті. Якщо рішення дасть на тесті правильний результат - 25 балловпотеряет той, хто «Челендж», в іншому випадку він отримає додаткові 50баллов, а автор рішення втратить всі бали за завдання. Рішення, не проходить «челендж», перестає бути доступним для повторних «челендж». Остання фаза Системні тести (англ. System Test).

Протягом системних тестів всі рішення, помилки в яких не були виявлені на попередній фазі, перевіряються намаксімально повному наборі тестів. Якщо рішення дає результат, який не збігається справільним, хоча на одному тесті - його автор втрачає всі бали за це завдання.



Марафон (англ. Marathon Matches): на відміну від предидущеготіпа змагань, учаснику пропонується вирішити одну, значно болеесложную завдання. Тривалість змагання суттєво довші - какправіло 1-2 тижні. У більшості випадків, завдання передбачає еврістіческоерешеніе, яке не може бути єдино.

Концептуалізація (англ. Conceptualization): участнікработает з замовниками програмного забезпечення з метою созданіябізнес-вимог (англ. Business Requirements Document) для аплікації.

Специфікація (англ. Specification): учасник іздокументов, отриманих від клієнта і змагань з концептуалізації, создаетформальную TopCoder Requirements Specifications документацію.

Архітектура (англ. Architecture): учасник, отримавши всюнеобходімую документацію з ранніх змагань, створює архітектуру пріложенія.Во час цього виду змагань йде виділення функціональних блоків (компонент) додатки, що дає можливість проводити паралельні состязаніяпо кожної з компонент.

Дизайн (англ. Component Design): учасники створюють дізайнкомпоненти, продюсуючи потрібні UML -діаграмми і специфікацію компоненти.Победітель змагань, як правило, надає інформаційну поддержкуучастнікам наступного етапу - девелопменту.

Відео: Відкритий чемпіонат з програмування VK Cup



Девелопмент (англ. Component Development): участнікразрабативает компонента згідно з отриманою документації від дизайнера.

Відомості (англ. Assembly): на даному етапі проісходітсведеніе аплікації учасниками згідно архітектурою, використовуючи вже готовиекомпоненти з проведених змагань.

Відео: Університет ИТМО

Тестування (англ. Testing): учасникам ставиться завдання, яке полягає в тестуванні розробленого додатка.

Вилов помилок (англ. Bug Races): Швидкі змагання дляісправленія помилок, знайдених в готових продуктах. На відміну від інших тіповсоревнованій, виграє той, хто зробить швидше за інших і вірно.


Поділися в соц. мережах:

Увага, тільки СЬОГОДНІ!
По темі: