**Advent of Code** — штогадовае мерапрыемства па камп’ютарным праграмаванні, набор задач на калядную тэматыку, якія прапануюцца ў фармаце Адвент-календара. Праводзіцца з 2015 года.

Задачы разлічаны на розны ўзровень кваліфікацыі ўдзельнікаў, правяраюць розныя навыкі, рашаць іх можна на любой мове праграмавання. Каб удзельнікі маглі спаборнічаць у хуткасці рашэння, ёсць глабальная табліца лідараў, і прадугледжана магчымасць ствараць прыватныя (закрытыя) табліцы.

Заснаваў мерапрыемства і дагэтуль яго праводзіць інжынер-праграміст Эрык Уостл (*Eric Wastl*).

Гісторыя
--------

Advent of Code быў створаны Уостлам, які па-ранейшаму адзін займаецца падтрымкай праекта і цяпер.

Мерапрыемства было ўпершыню запушчана 1 снежня 2015 года. Да поўначы па часе ўсходняга ўзбярэжжа ЗША (UTC −05:00) на ўдзел у мерапрыемстве зарэгістраваўся 81 чалавек — крыху больш за запланаваную Уостлам колькасць у 70 удзельнікаў. На працягу наступных 12 гадзін далучыліся яшчэ каля 4000 чалавек, што ледзь не прывяло да збою сістэмы. Праз два дні было ўжо каля 15 тысяч удзельнікаў, а да канца мерапрыемства ў 2015 годзе агульная колькасць удзельнікаў вырасла да 52 тысяч.

У 2020 годзе, магчыма, з-за пандэміі COVID-19, наведвальнасць мерапрыемства вырасла на 50 % — больш за 180 тысяч чалавек па ўсім свеце ўзялі ўдзел у Advent of Code.

4 снежня 2022 года Уостл абвясціў, што праект дасягнуў аднаго мільёна зарэгістраваных карыстальнікаў.

Структура задач
---------------

Кожная задача складаецца з дзвюх частак, якія трэба рашаць па парадку. Другая частка не паказваецца ўдзельніку, пакуль той не дасць правільны адказ на першую частку. За кожную выкананую частку задачы ўдзельніку налічваецца адна залатая зорка, такім чынам, максімальна можна набраць дзве зоркі за дзень і пяцьдзясят зорак на ўсім працягу мерапрыемства.

У задачах ёсць выдуманая перадгісторыя, аднолькавая для ўсіх удзельнікаў, але ўваходныя даныя для разлікаў у кожнага ўдзельніка свае, так што правільныя адказы будуць рознымі.

Задачы публікуюцца штодня з 1 па 25 снежня апоўначы па часе ўсходняга ўзбярэжжа ЗША. Час на іх рашэнне не абмежаваны, і задачы мінулых гадоў застаюцца даступнымі для рашэння.

Некаторыя ўдзельнікі спрабавалі выкарыстоўваць такія інструменты, як GitHub Copilot  (англ.) (бел. і ChatGPT, для дапамогі ў рашэнні задач. У 2023 годзе Уостл запатрабаваў, каб удзельнікі ўстрымліваліся ад выкарыстання гэтых інструментаў да таго часу, пакуль не запоўніцца табліца лідараў за дзень; па яго словах, «табліцы лідараў прызначаны для спаборніцтва людзей».

Падрыхтоўка
-----------

Згодна з каментаром у HTML-кодзе на кожнай старонцы вэб-сайта мерапрыемства, платформа для правядзення Advent of Code напісана на мове Perl. Уостл сцвярджае, што самастойна распрацаваў амаль увесь вэб-сайт, у тым ліку яго дызайн, анімацыю, тэксты і задачы. Староннія сэрвісы ўжываюцца для аўтарызацыі карыстальнікаў, аналітыкі і інтэграцыі з сацыяльнымі сеткамі.

Кожны год Уостл загадзя стварае і тэсціруе 25 задач. Гэта займае 4—5 месяцаў працы штогод.

Крыніцы
-------

1. 1 2 3 4 5  *Wastl, Eric*. About (англ.). *Advent of Code* (1 студзеня 2022). Праверана 10 снежня 2022.
2. ↑  *Joyce, Kara E*. Brain teasers and other fun tips for learning Python (англ.). *SearchBusinessAnalytics*.  TechTarget (11 лістапада 2020). Архівавана з першакрыніцы 12 лістапада 2020. Праверана 12 мая 2021.
3. ↑  *Speed, Richard*. On the first day of Christmas, my true love gave to me... a coding puzzle and it's a doozy (англ.). *The Register* (1 снежня 2021). Архівавана з першакрыніцы 1 снежня 2021. Праверана 5 снежня 2021.
4. ↑  *Warren, Christina*. The Download: Clippy Sweaters, ChatGPT Mania, Advent of Code and more (англ.).  GitHub via YouTube (9 снежня 2022). Праверана 11 снежня 2022.
5. 1 2  *Roberts, Siobhan*. This puzzle challenge brings joy to the world of code (англ.). *MIT Technology Review* (17 снежня 2021). Праверана 20 лютага 2022.
6. ↑  *ericwastl*. #AdventOfCode just hit 🌟1,000,000🌟 registered users!!! **(нявызн.)**. *Твітэр*. Праверана 10 снежня 2022.
7. ↑  *Gee, Sue*. Advent Of Code For Programmers (англ.). *I Programmer* (6 снежня 2020). Архівавана з першакрыніцы 6 снежня 2020. Праверана 12 мая 2021.
8. ↑  *Fisher, Kenneth*. SQL Homework – December 2020 – Participate in the Advent of Code. from Blog Posts – SQLServerCentral (англ.). *Packt Hub* (3 снежня 2020). Архівавана з першакрыніцы 26 студзеня 2021. Праверана 12 мая 2021.
9. 1 2 3  *Hjelle, Geir Arne*. Advent of Code: Solving Your Puzzles With Python (англ.). *Real Python* (1 снежня 2021). Праверана 20 лютага 2022.
10. ↑  About - Advent of Code 2023 (англ.). *adventofcode.com*. Праверана 22 кастрычніка 2023.

Спасылкі
--------

* adventofcode.com — афіцыйны сайт