admin 0Comment

Dzisiejszy temat przyszedł mi do głowy przy okazji pisania tekstu o kursie, z którym zdecydowałem się rozpocząć naukę Pythona.  Oczywiście wybór źródeł nauki może mocno pomóc lub przeszkodzić w rozwoju w danej dziedzinie, jednak ostatecznie kluczowe jest to jak poważnie podejdziemy do samego procesu nauki.
Nawet z mniej wartościowego tutoriala można wyciągnąć sporo wiedzy, jeśli tylko podejdziemy do niego poważnie i sumiennie, natomiast nawet najbardziej sensowny kurs sam nie wtłoczy nam niczego do głowy jeśli będziemy przerabiać go bez chęci i pomysłu jak zrobić to sensownie.

Znam to z własnego doświadczenia – jeszcze przed podjęciem decyzji o podejściu do programowania na poważnie próbowałem przerobić jeden z kursów na codecademy. Jest to serwis z wieloma interesującymi tutorialami, z których każdy jest wstępem do poznania danego zagadnienia. Są one w całości wykonywane na stronie serwisu i  nastawione na praktyczne pisanie kodu w przeglądarce. Przechodzimy od zadania do zadania, dostając coraz to bardziej skomplikowane cele do osiągnięcia. Sam pomysł jest naprawdę niezły i, mimo pewnych minusów takiego rozwiązania (praca poza IDE, trafność odpowiedzi weryfikowana jest automatycznie i czasem nie działa to tak jak powinno, pobieżne podejście do każdego zagadnienia), mogę polecić kursy na codecademy jeśli ktoś chciałby bardzo wstępnie zorientować się o co w tym całym programowaniu chodzi.

Wracając do mojego kursu tam – niestety, podszedłem do niego dość bezrefleksynie, nie wiedząc czego właściwie oczekuję, nie poszerzając wiedzy tam nabytej. Nie byłem systematyczny i nie tworzyłem notatek na bazie podawanych mi informacji. Ot, klikałem od czasu do czasu kolejne zadania, często wracając do wcześniejszych fragmentów kursu jeśli coś było niejasne. Często bardziej markowałem sam przed sobą jakąkolwiek naukę niż realnie robiłem coś sensownego, nawet  jeśli teoretycznie przerabiałem kolejne zadania.

Efekt? Brak efektów właśnie, szybko pogubiłem się w nomenklaturze i zadaniach, każde kolejne było coraz bardziej niezrozumiałe. Podarowałem sobie dalszą pracę z tutorialem.

Oczywiście nie wynikało to z tego, że codecademy ma słabe kursy. Błędy były po mojej stronie a konkretnie – nie podszedłem do tematu tak jak powinienem.

Dla kontrastu, kurs AtBSwP, realizowany przeze mnie już jakiś czas później. Narzuciłem sobie systematyczność w jego wykonywaniu, realizowałem go rozdział po rozdziale, często poszerzając wiedzę poza tutorialem jeśli tylko coś było niejasne lub też coś mnie po prostu bardziej zainteresowało. Do każdego rozdziału przygotowywałem notatki z jego treści oraz swego rodzaju ściągę w postaci listy nowopoznanych funkcji, zastosowanych rozwiązań etc. Rozwiązywałem oczywiście zadania praktyczne umieszczone na końcu każdego z rozdziałów, dokumentując nie tylko finalny kod ale cały proces dochodzenia do niego, wraz z najczęściej popełnianymi przeze mnie błędami.  Mało tego, często modyfikowałem i komplikowałem te zadania, jeśli tylko uważałem, że można zwiększyć ich użyteczność na danym etapie kursu i z wiedzą, jaką w danym momencie dysponuję. Poza zadaniami na końcach rozdziałów przygotowywałem także obszerniejsze listy pytań samodzielnie, które pozwalały mi szybko odświeżyć wiedzę po jakimś czasie.

Efekt? Przerobienie kursu zajęło mi więcej czasu niż można się było spodziewać, jednak dało mi to naprawdę solidne podstawy do pójścia dalej i poczucie, że naprawdę opanowałem ten zakres wiedzy. Nie wspominając o kilkunastu praktycznych, użytecznych programach jakie po drodze udało mi się napisać i poczuciu głębokiej satysfakcji z dobrze zrealizowanego celu.

Do czego zmierzam? Kwestia wyboru tego, co pomoże ci w zrealizowaniu twoich celów jest ważna, jednak ważniejsze  jest samo podejście do procesu realizacji tych celów – już samo ich konkretne określenie i przygotowanie planu ich realizacji, po czym trzymanie się go.

Nie kombinuj tygodniami nad pytaniem jaki język programowania, a potem przez kolejne tygodnie nie zastanawiaj się jak go ugryźć. Wybierz coś, zaplanuj działanie i do dzieła.

Dodaj komentarz