Nauka programowania na telefonie

Cześć! To jest fragment książki JavaScript od podstaw, która ma pomóc w nauce programowania od zera.

Niemal każdy z nas codziennie nosi w kieszeni potężne urządzenie do nauki, zdolne do wyświetlania wciągających filmów, stawiania nam wyzwań programistycznych, czy nawet odpytywania z przerobionego materiału. Tak, mówię o smartfonie.

Oczywiście sam telefon to za mało by nauczyć się programowania. W końcu wymaga ono środowiska programistycznego, klawiatury itp. Jeśli masz wybór – ucz się na komputerze — to środowisko zdecydowanie bliższe temu, na którym się pracuje. Niemniej smartfon potrafi być świetnym wsparciem. Przede wszystkim dlatego, że prawie zawsze mamy go pod ręką. Pozwala więc na naukę, gdy siedzimy w poczekalni, jedziemy autobusem lub podczas krótkiej przerwy w pracy.

Nie zachęcam tutaj do bycia przyklejonym do telefonu. Jeśli nie masz tego nawyku, to nie rekomenduję go sobie wyrabiać. Jeśli natomiast i tak spędzasz długie godziny na Facebooku, Instagramie, czy na konsumowaniu newsów sugeruję, by dla odmiany wykorzystać część z tego czasu na naukę programowania.

Na telefonie można uczyć się na przynajmniej kilka sposobów:

  • możemy wykorzystać jeden z kursów do nauki programowania na telefonie,
  • możemy uczyć się przy pomocy kursów na platformach MOOC,
  • możemy grać w gry programistyczne na telefonie...

Opcji powstało o wiele więcej, ale omówmy te wspomniane powyżej.

Kursy do nauki programowania na telefonie

Niby nie brakuje aplikacji do nauki programowania, zwłaszcza na platformę Android, ale mniej ich zostanie, gdy zostawimy tylko te dobre i darmowe.

Nowe aplikacje pojawiają się regularnie, a pierwotne wersje albo się starzeją, albo ich twórcy każą sobie za nie niemało zapłacić. Gdy więc rozpoczniesz poszukiwania dla siebie, sprawdź co można znaleźć i jakie aplikacje rekomendują inni użytkownicy. Aby jednak dać Ci pogląd na to, czego można się spodziewać, przedstawiam listę moich faworytów (stan na początek 2021 roku).

SoloLearn

Pierwszą aplikacją, którą mogę polecić, jest SoloLearn. Bawiłem się z nią już kilka dobrych lat temu. To aplikacja solidna, z dobrze skonstruowanymi lekcjami. Każda z nich składa się naprzemiennie z teorii oraz wyzwań. Dostarcza także playground, czyli miejsce, gdzie na telefonie możesz edytować i uruchamiać kod. Nie brakuje w niej wsparcia dla wielu języków, w tym JavaScript, HTML, CSS, Java, Python czy Kotlin. Wizualnie nie należy może do najpiękniejszych, ale wygląd przecież nie jest najważniejszy.

Zrzuty ekranu z aplikacji SoloLearn do nauki programowania na telefonie.

W czasie pisania tej książki nauka z SoloLearn jest darmowa. Można zapłacić za konto Pro, ale wszystkie lekcje i tak są dostępne bez niego.

Grasshopper

Kolejna propozycja to Grasshopper, napisana przez programistów Google. Zgodnie ze stroną, współdzieli ona misję z moją książką, czyli została stworzona, by nauka programowania stała się przystępniejsza i bardziej dostępna dla każdego. Wyróżnia ją bardzo przydatna funkcjonalność, czyli środowisko do programowania, gdzie funkcje i wartości, zamiast pisać, przeciąga się jak bloki. Lekcje zostały ciekawie napisane i można się z niej sporo dowiedzieć.

Zrzuty ekranu z aplikacji Grasshopper do nauki programowania na telefonie.

W czasie pisania tej książki aplikacja Grasshopper jest darmowa, podobnie jak wiele innych produktów stworzonych przez Google.

Enki

Kolejną aplikacją, którą mógłbym zarekomendować, jest Enki. Ona również uczy programowania poprzez lekcje i wyzwania. Zarówno jedne, jak i drugie są dobrze przemyślane i zaprojektowane. Spodobały mi się w niej wyzwania typu "uzupełnij lukę", gdyż zmuszają nas do myślenia, a jednocześnie łatwo je rozwiązywać na telefonie.

W czasie pisania tej książki większość lekcji w Enki mamy dostępnych za darmo i tylko niektóre z nich wymagają płatnego konta, więc wykupienie go jest opcjonalne.

Screen z aplikacji Enki do nauki programowania na telefonie.

Płatne aplikacje

Stworzenie dobrej aplikacji niestety kosztuje i niewiele z nich jest dostępnych całkiem za darmo. Jeśli jednak ten typ nauki wydaje Ci się interesujący, możesz również znaleźć wartościowe płatne aplikacje w racjonalnych cenach.

Platformy do kursów dostępne na telefonie

W rozdziale Jak nauczyć się programowania? wspominaliśmy o platformach z kursami o charakterze raczej akademickim. Najpopularniejsze mają swoje aplikacje mobilne, pozwalające na naukę na telefonie. Umożliwiają one często na naukę w trybie offline czy odtwarzanie kursu na słuchawkach przy wyłączonym ekranie. Jest to spora wygoda, na przykład gdy jesteśmy w podróży (wiele kursów ukończyłem w pociągach i samolotach). Ponownie polecę platformy edX i Coursera, gdzie znajdziemy wiele darmowych kursów prowadzonych często przez światowej sławy autorytety1.

Zrzuty ekranu z aplikacji Coursera służące do nauki na telefonie. Większość wykładów ma format akademicki i jest prowadzona przez profesorów z dużych uczelni całego świata.

Gry programistyczne na telefonie

Tak jak mówiliśmy o grach programistycznych na komputer, tak też można znaleźć gry na telefon, które ćwiczą myślenie programistyczne. Warto potraktować je jako dodatek do zgłębiania programowania, tak jak łamigłówki przy nauce matematyki. Poniżej screeny z gier Automaton oraz Cursivity.

Zrzuty ekranu z gier Automaton oraz Cursivity ćwiczących myślenie programistyczne.

Ileż to powstało narzędzi do nauki programowania... od kursów, książek, gier, aż po aplikacje na telefon. To niesamowite jak wiele osób poświęciło się temu, by uczyć i pomagać innym w nauce. Nic, tylko korzystać.

1:

Dla przykładu, na Coursera kurs z języka Scala prowadzony jest przez samego twórcę, Martina Oderskyego. Podobnie kurs z języka Kotlin współtworzony przez Andrey Breslava. Znaleźć tam można także kursy wydane przez czołowe uczelnie techniczne z całego świata.