CodeGym - przyjazny kurs języka Java

Programowanie nie musi być trudne, a jego nauka może być przyjemna i przypominać... grę. Autorzy CodeGym - platformy edukacyjnej języka Java - przekonują, że każdy może posiąść jedną z kluczowych umiejętności naszych czasów w sposób bliższy zabawie niż smutnej, szkolnej klasie. Sprawdziliśmy jak działa CodeGym i co oferuje.


Zawód programisty jest obecnie jedną z najlepiej płatnych i najbardziej poszukiwanych profesji na rynku pracy. Nic dziwnego, w końcu znaczna część otaczającej nas rzeczywistości musiała zostać zaprogramowana: nie rozstajemy się z naszymi smartfonami, opaski typu SmartBand towarzyszą nam podczas treningu ale i w trakcie snu. Przed ekranem komputera spędzamy znaczną część doby. To wszystko sprawia że zapotrzebowanie na oprogramowanie stale rośnie. W rezultacie potrzeba też coraz więcej programistów. Może by tak zostać jednym z nich? Pozostaje tylko pytanie: jak zacząć?

Odpowiedzią na popyt zawsze jest podaż. W tym przypadku - cała mnogość różnych kursów uczących programowania. Jak wybrać ten najlepszy, dający największą pewność, że rzeczywiście przyswoimy sobie z jego pomocą wiedzę potrzebną, by zacząć pracę jako junior developer? Jeśli interesuje nas nauka programowania w Java, to warto zainteresować się kursami online od CodeGym.

Pierwsze kroki z Java

Przyznaję, że z nauką programowania sam jestem trochę na bakier. Mam ogólne pojęcie na temat tego jak powstaje oprogramowanie, pewne niewielkie doświadczenie w pracy z kodem, ale z pewnością nie nazwałbym siebie programistą. Od tego jestem bardzo daleki. Czy zatem ktoś bez programistycznego backgroundu zdoła nauczyć się języka Java z pomocą kursu CodeGym? Postanowiłem to sprawdzić na sobie. W tym celu uruchomiłem aplikację w przeglądarce internetowej i rozpocząłem naukę.

Kreskówkowa grafika - tego się nie spodziewamy siadając do nauki. Treść jednak jest daleka od infantylnej.

Kreskówkowa grafika - tego się nie spodziewamy siadając do nauki. Treść jednak jest daleka od infantylnej.

I tu pierwsze zaskoczenie - nie otrzymujemy suchego kursu z zadaniami. Zamiast tego wita nas… rysunkowa historia o statku kosmicznym, który rozbił się na tajemniczej planecie zamieszkałej przez, nieco zagubione w otaczającej je rzeczywistości, roboty. Brzmi bardziej jak początek opisu gry, a nie kursu edukacyjnego? Całkiem słuszne skojarzenie - CodeGym czerpie pełnymi garściami ze świata gier. Wcielamy się tu w robota imieniem Amigo, którego załoga pechowego statku uczy programowania w Javie, aby ten przekazał wiedzę swoim pobratymcom i pomógł w przywróceniu pojazdu do pełnej sprawności. Naszymi nauczycielami w poznawaniu języka Java są różni członkowie załogi, każdy z nieco inną specjalizacją, chociaż mam wrażenie, że z czasem tj. kolejnymi misjami i zadaniami różnice te zdają się lekko zacierać.

Same lekcje są przygotowane w bardzo dobrze usystematyzowany sposób, przy tym nawet i tutaj mamy do czynienia z elementami gamifikacji. W CodeGym pojawiają się znane z gier osiągnięcia, oznaczające np. ukończenie 10 zadań określonego typu lub rozwiązanie kilku misji bez pomyłki. Wraz z wykonywaniem kolejnych zadań zbieramy punkty (zwane punktami ciemnej materii), które wydajemy na odblokowywanie następnych lekcji. Jak wyglądają lekcje w CodeGym?

Uczenie poprzez grę

Zwykle najpierw otrzymujemy krótkie, fabularne wprowadzenie, po czym mamy przedstawione zadania “zlecanych” przez kogoś z załogi. Najczęściej mamy do napisania kod lub uzupełnienie czy też poprawienie istniejącego kodu, który ma wykonywać wskazane przez “nauczyciela” działanie. I tu należą się brawa autorom kursu - ani razu nie trafiłem na sytuację, w której wykonanie zadania wymagałoby choćby cienia wiedzy, która nie pojawiła się we wcześniejszych lekcjach.

Twórcy CodeGym nie unikają humorystycznych elementów, nawiązań popkulturowych czy... muzycznych.

Twórcy CodeGym nie unikają humorystycznych elementów, nawiązań popkulturowych czy... muzycznych.

Wszystko zostało bardzo dobrze zaplanowane i nie powinno wprawić żadnego użytkownika w zagubienie. Gdyby jednak jakieś zadanie okazało się być zbyt trudne, zawsze można poprosić o pomoc społeczność - jest to zresztą bardzo zbliżone do tego, co czeka nas jeśli zaczniemy karierę jako programista - wówczas też będziemy czasem musieli sięgnąć po zbiorową wiedzę. Poza tym w części zadań możemy poprosić o ich automatyczne wykonanie. Następuje to powoli, tak byśmy mogli aktywnie śledzić zmiany w kodzie. Dotyczy to głównie zadań z podstawowych dwóch pierwszych poziomów. Dzięki temu osoby, które próbowały już wcześniej programowania w Javie, mogą szybciej przeskoczyć do bardziej zaawansowanych zadań. Przechodząc dalej odblokowujemy kolejne poziomy, co umożliwia nam dostęp do innych, bardziej zaawansowanych funkcjonalności platformy CodeGym. Tych jest wcale niemało: od możliwości udzielania się na forum, udział w grupach czy też wyzwania w postaci gier. To wszystko razem sprawia, że chcemy brnąć dalej. Można wręcz doszukać się znanego z niektórych gier “syndromu jeszcze jednej tury”. Gdyby jednak komuś zabrakło motywacji, to pozostaje kliknąć w zakładkę “Historie sukcesu”. Znajdują się tam liczne, napisane przez samych użytkowników przykłady: od wymarzonej pracy w branży software IT, po stworzenie gry, która znalazła uznanie użytkowników.

Gamifikacja to stały element towarzyszący nam w CodeGym. Zdobywanie poziomów odblokowuje kolejne możliwości niczym w grach RPG i MMO. Rzecz w tym, że tutaj tzw. endgame może być po prostu karierą w IT.

Gamifikacja to stały element towarzyszący nam w CodeGym. Zdobywanie poziomów odblokowuje kolejne możliwości niczym w grach RPG i MMO. Rzecz w tym, że tutaj tzw. endgame może być po prostu karierą w IT.

Dlaczego CodeGym to dobry początek nauki programowania?

Przyznaję, że siadając po raz pierwszy do CodeGym byłem przekonany, że zobaczę ścianę kodu, z którego zrozumiem jedynie drobną część, że czeka mnie karkołomne doczytywanie, szukanie źródeł i możliwości uzupełnienia tego, co z jakiegoś powodu nie znalazło się w kursie. Rzeczywistość okazała się jednak inna, dużo bardziej łaskawa. Po pewnym czasie polubiłem sposób nauki oferowany przez tę platformę. Gdybym miał wskazać to, co najbardziej spodobało mi się w CodeGym to padłoby na kilka kluczowych elementów.

Pierwszym byłaby lekka, przyjemna forma. Wiele osób może czuć się przerażonych tradycyjnymi kursami, w których już na starcie dostajemy trudne pojęcia, definicje i ścianę kodu, który, chociaż prosty, dla laika może wydać się równie tajemniczy, co zapiski na sumeryjskich glinianych tabliczkach. W CodeGym zamiast tego mamy prostą, ale niepozbawioną humoru historię, bardzo dobrze zaprojektowaną ścieżkę nauki oraz przyjazny interfejs.

Typowe zadanie na wczesnych etapach nauki - nadal są to przykłady praktyczne, uczące często stosowanych funkcji.

Typowe zadanie na wczesnych etapach nauki - nadal są to przykłady praktyczne, uczące często stosowanych funkcji.

Mniej teorii więcej praktyki. Tak można w wielkim skrócie podsumować to, co dostajemy w przypadku omawianej platformy edukacyjnej. Większość z nas nie przywykła do takiego sposobu modelu edukacji, ale to właśnie stawianie na praktyczne zastosowania daje najlepsze efekty. Dobra wiadomość: aż 80% kursu CodeGym to właśnie zadania praktyczne. Jest ich 1200, zgromadzonych w 600 lekcjach, więc trudno się nudzić. Zwłaszcza że możemy szybko i łatwo przejść do zadań odpowiednich dla naszego poziomu zaawansowania. To zresztą nie przypadek - kurs stworzony jest przez programistów-praktyków dla początkujących adeptów Javy. Stąd teoria jest ograniczona do niezbędnego minimum i podawana jest lekkostrawnej formie.

Kolejną zaletą CodeGym jest wysoka dostępność tego rozwiązania. Przede wszystkim wynika ona z faktu iż jest to kurs online. O ile zajęcia przeprowadzane na żywo mają też swoje niezaprzeczalne zalety, to w przypadku kursów realizowanych poprzez platformę edukacyjną online mamy do czynienia z dużo większą elastycznością organizacyjną. Nie ma co się oszukiwać: większość ludzi żyje w ciągłym biegu, z olbrzymią liczbą obowiązków na głowie. Nie zawsze i nie każdy jest w stanie znaleźć czas o określonej godzinie w jednym, konkretnym momencie tygodnia lub miesiąca. Kurs online daje w tym względzie zupełnie inne możliwości. Przede wszystkim czas, który poświęcamy na naukę określamy sami. Nie musimy też dopasowywać się do innych kursantów - zawsze możemy się cofnąć, przejrzeć wcześniejsze zadania, uzupełnić wiedzę teoretyczną. Wszystko w swoim własnym, indywidualnym tempie, bez konieczności dostosowywania się do grupy.

Niektóre zadania mogą wydać się powtarzalne, ale jest w tym metoda (pun intended): wykonując jeden rodzaj czynności kilka razy szybciej uczymy się nowych umiejętności.

Niektóre zadania mogą wydać się powtarzalne, ale jest w tym metoda (pun intended): wykonując jeden rodzaj czynności kilka razy szybciej uczymy się nowych umiejętności.

Kolejna zaleta tej formy nauki to możliwość jej rozpoczęcia właściwie w każdym momencie. Nie ma bowiem konieczności zebrania się odpowiednio licznej grupy ludzi by uruchomić kurs, co jest naturalną wadą edukacji na żywo. W przypadku CodeGym wystarczy tak naprawdę sięgnąć po komputer, telefon lub tablet. Aplikacja dostępna jest na urządzenia z Androidem, a korzystając z komputera lub laptopa uruchomimy ją poprzez przeglądarkę internetową. Kurs dostępny jest po polsku (obok angielskiego, chińskiego, hindi, niemieckiego, hiszpańskiego, portugalskiego oraz francuskiego).

Jeśli więc planujesz, drogi czytelniku, naukę programowania, to naprawdę warto zacząć od CodeGym. Możesz rozpocząć od zupełnego zera, bez cienia wiedzy na temat programowania. Kurs przygotuje nas do podjęcia pracy z językiem Java, a ten jest szczególnie ważny ze względu na zastosowania w technologiach mobilnych. Oprogramowanie, które powstaje chociażby na Androida, jest pisane właśnie w Javie, stąd tak duże zapotrzebowanie na programistów znających ów język. Dlatego też, jeśli marzysz o podjęciu w przyszłości pracy w jednej z najbardziej atrakcyjnych branż, to naprawdę warto zainteresować się historią robota Amigo i załogi feralnego statku kosmicznego. Ja sam zamierzam pozostać przy CodeGym (https://codegym.cc/pl) nieco dłużej.