Uczysz się programowania? Nauka Pythona na wesoło
by Adrian JaworekJak zainteresować kogoś programowaniem? Może kiedyś stanęliście przed tym wyzwaniem, a może dopiero na Was czeka. Z moich obserwacji wynika, że pokazywanie książek lub materiałów na YouTubie nie daje specjalnie dobrych rezultatów. Szczególnie gdy ktoś obok, ze stoickim spokojem stwierdza, że to proste rzeczy. Nie tędy droga. Uważam, że ciekawą alternatywą są różnego rodzaju gry, w których należy rozwiązywać zagadki. Jednak ważne jest, aby korzystały one z rozpoznawalnego języka programowania, a nie tworzyły własny, skryptowy, na potrzeby wirtualnego świata.
Ostatnio, w trakcie robienia zadań z „Advent of Code”, zauważyłem reklamę darmowej gry „TwilioQuest”. Do przejścia na stronę tego projektu zachęcił mnie krótki opis, w którym podkreślono edukacyjny charakter zabawy. Kliknąłem i moim oczom ukazał się produkt utrzymany w konwencji starych, 16-bitowych, gier RPG. Pobrałem paczkę z instalatorem. Ku mojemu zdziwieniu, okazało się, że nie muszę się nigdzie rejestrować! W przypadku wielu stron oferujących ciekawe zadania związane z programowaniem, założenie konta bywa wymagane. Już mniej drażni mnie konieczność zintegrowania kolejnej usługi z GitHubem niż wpisywanie swoich danych w formularzu.
„TwilioQuest” wymaga tylko pobrania paczki i zainstalowania gry. Na dodatek nie wygląda na specjalnie wymagający sprzętowo produkt, więc można ją spokojnie uruchomić na leciwym komputerze.
Rozwiązałem trochę zagadek w ramach misji „Mysteries of Pythonic Temple”. Jak sama nazwa wskazuje, opierały się one na Pythonie. Spodobało mi się to, że „TwilioQuest” przeprowadziło mnie także przez sam proces podstawowej instalacji i konfiguracji środowiska — to coś, z czym wiele samouczków sobie nie radzi, ponieważ ich twórcy uważają, że jest to banalnie proste i nie ma o czym gadać. Misja jest wyłącznie wprowadzeniem do języka, pozwala na zorientowanie się w jego podstawowych zasadach, logice oraz strukturach danych.
Ciekawa zabawa dla osób zaczynających przygodę z programowanie. Jako wprowadzenie „Mysteries of Pythonic Temple” sprawdzi się doskonale.
A czy mam coś dla zaawansowanych? Dla ludzi, którzy już napisali trochę skryptów w Pythonie? Jak najbardziej! W pierwszym akapicie i w 11 odcinku „WWWłaśnie podcastu” wspomniałem o „Advent of Code”. Od 1 grudnia odblokowywane są nowe zagadki. O różnym stopniu zaawansowania. Lubię brać udział w tej zabawie, ponieważ jest nastawiona na rozwiązywanie określonych problemów w wybranym przeze mnie języku. Mogę zastanowić się nad architekturą prostego programu, który piszę, przemyśleć algorytm, jaki będę stosował, a później do tego wrócić. Coś poprawić, przyspieszyć lub przebudować. Świetna i zmuszająca do myślenia zabawa.
Na dodatek zagadki można rozwiązywać na wiele różnych sposobów. Mnie, w zeszłym roku, wiele razy zdarzyło się sięgnąć po metody, które najlepiej określić angielskim zwrotem „brute force”.
Jeżeli programujecie, to zachęcam do wzięcia udziału w „Advent of Code”. Poszukującym polecam „Mysteries of Pythonic Temple”. W obu przypadkach można się świetnie bawić.