Адвент коду — це набір задачок з програмування для різдвяного календаря, тобто щодня з 1-го до 25-го грудня публікується нове завдання. Вперше змагання проводилися у 2015 році.

Задачі розраховані як на новачків, так і на досвідчених програмістів. Задачі можна розв'язувати за допомогою будь-якої мови програмування. Рейтинг переможців визначається за швидкістю розв'язку завдань.

Змагання заснував і підтримує інженер-програміст Ерік Уосл.

Історія Ерік Уосл створив Адвент коду і досі залишається єдиним розробником проєкту. Окрім нього над проєктом працюють бета-тестери і менеджери спільноти.

Перше змагання розпочалося 1 грудня 2015 року. Ерік розраховував, що вирішувати його задачі будуть не більше як 70 людей. В перший день у змаганні взяла участь 81 особа. Протягом 12 годин система налічувала вже 4 000 зареєстрованих користувачів, що майже призвело до збою системи. За перші дві доби до змагання приєдналося 15 000 людей, а загалом у першому році кількість учасників становила 52 000 осіб.

У 2020 році, ймовірно, через пандемію COVID-19, популярність події зросла на 50%, участь в ній взяли понад 180 000 людей з усього світу.

4 грудня 2022 року Ерік Уосл оголосив, що кількість учасників проєкту досягла 1 000 000.

Дизайн завдань Завдання складаються з двох частин, які потрібно розв’язувати по порядку. Друга частина задачі відкривається тільки після того, як користувач вирішив першу частину. Користувач отримує срібну зірку за вирішення першої частини задачі, і золоту зірку за вирішення другої частини. Таким чином, щороку користувач може отримати до 50 зірок. Окрім цього, імена перших 100 користувачів, які вирішили кожну задачу, публікуються на дошці пошани проєкту.

Головоломки містять однакову для всіх вигадану історію на різдвяну тему, але кожний учасник отримує різні вхідні дані для алгоритму. Система перевіряє лише результат розв'язку, зазвичай це одне число або рядок.

Задачі публікються щодня з 1 по 25 грудня опівночі за північноамериканським східним часом. Час на рішення завдань не обмежений, задачі з минулих років залишаються доступними для вирішення.

Деякі учасники почали використовувати такі інструменти, як GitHub Copilot і ChatGPT, щоб пришвидшити вирішення завдань. У 2023 році Уосл попросив користувачів утримуватися від використання цих інструментів, доки таблиця лідерів за день не буде заповнена, заявивши, що «таблиця лідерів призначена для людей».

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

Щороку Уосл заздалегідь створює та перевіряє 25 завдань. Він витрачає на це 4–5 місяців роботи.

Примітки