Jak nauczyć się programować?

27 września 2016

W dzisiejszych czasach każdy korzysta z urządzeń elektronicznych takich jak laptopy, smartfony czy tablety. Regularnie projektowane i pobierane są nowe aplikacje, które w znacznym stopniu ułatwiają nasze życie. Pomagają nam na przykład zrobić zakupy, zwiększają efektywność nauki i oczywiście umożliwiają kontakt ze znajomymi z nawet najdalszych zakątków na Ziemi. Cały świat dąży w stronę automatyzacji, a co za tym idzie – rośnie zapotrzebowanie na programistów, twórców aplikacji. 

W związku z tym, nie powinien dziwić fakt zajmowania czołowych miejsc w rankingach płac przez zawody z branży IT. Gdyby słów zachęty dla kogoś było mało, to dodam jeszcze jeden argument: programowanie jest dużo ciekawsze niż mogłoby się wydawać! Może więc warto zacząć się go uczyć?

Na czym polega programowanie?

Programowanie jest podobne do rozwiązywania zagadek logicznych. Informatyk zazwyczaj musi wymyślić, jak rozwiązać dany problem za pomocą komputera, a następnie „nauczyć” komputer rozwiązywać samodzielnie poprzez stworzenie kodu. Praca z ludźmi – rozmawianie z klientami na temat ich wymagań i oczekiwań – również jest istotną częścią pracy programisty. Ponadto informatycy często uczą się wiele z innych dziedzin nauki od grup badawczych, dla których przetwarzają duże ilości danych pochodzące z eksperymentów.

Kiedy najlepiej zacząć?

Obecnie coraz więcej osób posiadających już kierunkowe wykształcenie, przekwalifikowuje się na programistów. Nawet Ci z wieloletnim doświadczeniem! Naukę programowania można rozpocząć na wiele sposobów, nawet będąc jeszcze w szkole podstawowej. Najprostszym pierwszym krokiem jest udział w zajęciach z informatyki w szkole (np. na kółku pozalekcyjnym) lub na uczelni, które oferują studentom, a czasem i licealistom, możliwość uczęszczania na zajęcia z programowania od podstaw. Na terenie Polski warsztaty organizują tzw. „karotki”, czyli Geek Girl Carrots. Warto sprawdzić na stronie internetowej, czy nie planowane są one w Twoim mieście.

Scratch

Naukę programowania można też rozpocząć zupełnie samodzielnie, wystarczy do tego własny komputer. Naukowcy z prestiżowego Massachusetts Institute of Technology przygotowali bezpłatną aplikację Scratch, dzięki której dzieci już od ósmego roku życia mogą zapoznać się podstawowymi terminami oraz rozwinąć kreatywne myślenie i umiejętność wyciągania wniosków. Scratch jest dostępny w polskiej wersji językowej i pozwala wykorzystać prosty, wizualny język do zaprogramowania własnych interaktywnych historii, gier i animacji oraz umożliwia także podzielenie się swoimi pracami ze społecznością online. Ta ostatnia cecha była inspiracją do stworzenia dodatkowej aplikacji – Dr. Scratch. Na stronie możesz załadować swój projekt i otrzymać wartościowe informacje zwrotne i wskazówki  jak ulepszyć swój program.

code:me

Gimnazjalistom i licealistom polecam serdecznie tutoriale ze strony programu code:me, który został stworzony przez pięć studentek z pięciu różnych europejskich państw. Pierwszy tutorial pokazuje, jak użyć narzędzia MIT App Inventor do stworzenia aplikacji na Androida, umożliwiającej utworzenie pasującego do siebie kompletu ubrań. Strona zawiera także dużo odnośników do innych poradników skierowanych do osób na różnym poziomie zaawansowania, dlatego jestem przekonana, że każdy znajdzie coś dla siebie.

Wybór języka

Gdy zapoznamy się już z podstawami programowania, należy zdecydować, którym z dostępnych języków chcielibyśmy posługiwać się w pierwszej kolejności. Wybór jest bardzo szeroki. Do najpopularniejszych wyborów należą C++, Python i Java. Samodzielną naukę najlepiej jest rozpocząć od przyswojenia wiedzy teoretycznej, pochodzącej z odpowiedniego podręcznika, ale później nie należy zapominać o praktyce! Świetną książką – źródłem wiedzy o Pythonie – jest „Zanurkuj w Pythonie” (dostępna poprzez wikibooks). Natomiast do rozpoczęcia nauki C++ zdecydowanie polecam książkę „Symfonia C++” autorstwa Jerzego Grębosza. Powiedzenie „trening czyni mistrza” sprawdza się tu bardzo dobrze: najwięcej nauczysz się, pisząc własne programy. Staraj się rozwijać stopniowo i za każdym razem stawiaj sobie coraz trudniejsze cele. Przykładowo możesz zacząć od zaprogramowania kalkulatora z czterema podstawowymi operacjami, a następnie dodawać do niego kolejne funkcjonalności: potęgowanie, pierwiastkowanie, branie odwrotności itp. Kolejnym krokiem może być zaprojektowanie własnej gry.

Jeśli napotkasz trudności, które będą wydawać się niezrozumiałe i niemożliwe do pokonania, koniecznie odwiedź stronę http://stackoverflow.com/. Prawdopodobieństwo tego, że ktoś w przeszłości miał już taki sam problem jak Ty, jest bardzo wysokie. Jeśli nie znajdziesz odpowiedzi na nurtujące Cię pytanie, to masz możliwość utworzenia nowego zapytania.

Olimpiady

Znaczącą dziedziną informatyki jest algorytmika i na niej w dużej mierze skupia się Olimpiada Informatyczna, zarówno licealna, jak i gimnazjalna, dzięki czemu oba te konkursy są źródłem wielu rozwijających zadań treningowych na różnych poziomach trudności. Przy nich powstała Młodzieżowa Akademia Informatyczna – miejsce, w którym każdy może bez ograniczeń szlifować swoje umiejętności programistyczne i algorytmiczne. Na stronie internetowej w szczególności można znaleźć kurs C++ lub Pascala dla całkowicie początkujących oraz kurs wprowadzający do algorytmiki: https://main2.edu.pl/main2/courses/.

Podsumowując, sposobów na rozpoczęcie nauki programowania jest mnóstwo, a może okazać się to ekscytującym doświadczeniem, także nie warto zwlekać!

Materiały o podobnej tematyce