Advent of Code

Advent of Code

Advent of Code to coroczny zestaw wyzwań programistycznych o tematyce bożonarodzeniowej, które odpowiadają kalendarzowi adwentowemu. Pierwsza edycja tego wydarzenia miała miejsce w 2015 roku.

Zagadki programistyczne wymagają szerokiego zakresu umiejętności, a ich trudność wzrasta każdego dnia. Można je rozwiązywać w dowolnym języku programowania. Uczestnicy mają także możliwość rywalizacji w globalnych i prywatnych rankingach.

Inicjatorem wydarzenia jest programista Eric Wastl.

Historia

Advent of Code został zapoczątkowany przez Erica Wastla, który jest jedynym opiekunem tego projektu.

Wydarzenie rozpoczęło się 1 grudnia 2015 roku. Do północy czasu EST (UTC-05:00, w Polsce 6:00 rano czasu zimowego) zarejestrowało się 81 osób, przekraczając pierwotnie zakładaną przez autora liczbę 70 uczestników. W ciągu 12 godzin liczba ta wzrosła do około 4000 osób, co niemal doprowadziło do awarii systemu. Po 48 godzinach uczestników było już około 15000, a na koniec wydarzenia w 2015 roku liczba ta wzrosła do 52000.

W 2020 roku, prawdopodobnie w wyniku pandemii COVID-19, wydarzenie odnotowało 50% wzrost liczby uczestników, osiągając ponad 180000 osób na całym świecie.

4 grudnia 2022 roku Wastl ogłosił, że projekt osiągnął milion zarejestrowanych użytkowników.

Zagadki

Łamigłówki składają się z dwóch części. Poprawne rozwiązanie pierwszej części odsłania drugą. Uczestnicy zdobywają jedną złotą gwiazdkę za każdą ukończoną część, co daje łącznie dwie gwiazdki dziennie i pięćdziesiąt gwiazdek rocznie.

Każda łamigłówka związana jest z fragmentem fikcyjnej opowieści, która jest taka sama dla wszystkich uczestników, jednak każdy z nich otrzymuje różne dane wejściowe, co powoduje, że rozwiązanie powinno generować inny poprawny wynik.

Nowe łamigłówki są publikowane codziennie od 1 do 25 grudnia o północy czasu EST. Nie istnieje limit czasowy na ukończenie zagadek, a zadania z lat ubiegłych pozostają dostępne do rozwiązania także po zakończeniu wydarzenia.

Niektórzy uczestnicy korzystają z narzędzi, takich jak GitHub Copilot i ChatGPT, aby wspierać się w rozwiązywaniu zagadek.

Przygotowania

Zgodnie z komentarzem w kodzie HTML projektu, Advent of Code wykorzystuje silnik napisany w Perlu. Autor twierdzi, że samodzielnie stworzył niemal całą stronę, w tym projekt, animacje, opowieści i łamigłówki (z wyjątkiem zewnętrznych usług, które są używane do uwierzytelniania, analizy i integracji z mediami społecznościowymi).

Każdego roku Eric Wastl z wyprzedzeniem tworzy i testuje 25 zagadek, co zajmuje mu od 4 do 5 miesięcy pracy.

Bibliografia

Linki zewnętrzne

Oficjalna strona projektu