Ta strona wykorzystuje pliki cookie w celu prezentacji dopasowanych dla Ciebie treści. Możesz włączyć/wyłączyć obsługę plików cookies w swojej przeglądarce.

Dowiedz się więcej
Mój pierwszy bootcamp z Kodillą [cz. III]

Mój pierwszy bootcamp z Kodillą [cz. III]

Opublikowano  przez Marek Zoellner

Tym razem opowiem o moim pierwszym spotkaniu z jednym z najpopularniejszych języków programowania - JavaScriptem. Będzie trochę o funkcjach i zmiennych oraz o tym, jak zaprogramowałem swój własny kalkulator pogodowy.

Każdy, kto marzy o osiąganiu kolejnych poziomów na ścieżce swojej kariery, musi liczyć się z tym, że prędzej czy później pojawią się na niej schody. W moim przypadku wspinaczka z prawdziwego zdarzenia rozpoczęła się od nauki języka JavaScript.

Przekroczyć próg abstrakcji

W pierwszej części mojej relacji pisałem o “języku maszyn”. Tak rozumiałem kodowanie, którego nauka kojarzyła mi się z nauką języka obcego. Gdy rozpocząłem 8. moduł bootcampa Kodilli, znalazłem podobną metaforę. Wyjaśniała, czym jest JavaScript:

“[...] jest to taki "robot" żyjący w przeglądarce. Za pomocą JavaScriptu możesz mu wytłumaczyć, co ma robić.”

Jak dogadać się z metaforycznym robotem? Tu znów odwołam się do jednego z moich poprzednich wpisów , gdzie programowanie porównałem do budowy domu. Znajomość kodu HTML umożliwiła mi wzniesienie konstrukcji, a dzięki umiejętnościom zdobytym podczas ćwiczeń z CSS mogłem go pomalować, ułożyć panele czy kafelki. Teraz przyszedł czas na uruchomienie wszystkich instalacji i urządzeń. Żeby po naciśnięciu włącznika światła zrobiło się jasno, żeby lodówka po podłączeniu do prądu chłodziła, centralny odkurzacz działał na każdym piętrze, no i najważniejsze - żebym miał internet.

Kłopot w tym, że mój dom, a wraz z nim lodówka i odkurzacz były tylko metaforą. Co prawda, pomocną w zrozumieniu kodowania, ale jednak bardzo daleką od tego, co naprawdę miałem robić. Żeby zacząć programować, musiałem przekroczyć pewien próg abstrakcji i jednocześnie myśleć bardzo konkretnie, co dla humanisty nie było łatwe. Musiałem się znów polubić z matematyką, z którą ostatni raz na poważnie miałem do czynienia w szkole średniej. Sporo się zatarło w pamięci, dlatego, gdy padło hasło “algorytmy”, głęboko westchnąłem.

Ale o co chodzi?

Zacząłem czytać o strukturze if/else, która została porównana do sortowni poczty. W zależności od rozmiaru i wagi przesyłki są kierowane do różnych ciężarówek. Co zrobić, jeśli:

  • paczka ma naklejkę "ostrożnie — szkło",
  • paczka jest standardowych rozmiarów,
  • paczka waży ponad 10 kg,
  • nie ma naklejki, nie ma standardowych rozmiarów, waży mniej.

Gdzie skierować ciężarówkę spełniającą tylko jeden z warunków, a gdzie taką, która spełnia kilka? To jak zadania z treścią, dla których nikt nie podaje wzorów na tacy. Jak się z nimi zmierzyć i co to w ogóle ma wspólnego z programowaniem?

“[...] początkowo nie będziesz rozumieć wszystkiego, co się dzieje w kodzie [...] wystarczy, że będziesz uczyć się jak wykorzystywać JS.”

Rzeczywiście, nie rozumiałem wszystkiego, ale na szczęście nie byłem sam. Zawsze mogłem poprosić o wsparcie Mentora.

Nowe warunki i zmienne (nastroje)

Klamry, średniki i nawiasy już znałem. Wiedziałem, że każda klamra jest jak kij, ma dwa końce i jeśli ją otworzę, muszę ją gdzieś zamknąć. Wiedziałem też, że brak jednego średnika spowoduje “wysypanie się” całego kodu.

Na dalszym etapie musiałem się nauczyć, czym są zmienne (var), jak je definiować, co powodują i z czym mają być powiązane. W tamtym momencie moją zmienną “var” był mój “nastrój”, który zależał od tego, jak mi szło z zadaniem i od tego, czy Mentor dał “akcept”, czy odsyłał kod do poprawy.

To jednak nie wszystko. Poznałem też zagnieżdżony edytor kodu. Można się w nim przełączać pomiędzy stworzonymi przez siebie kodami HTML, CSS i JS. Można też zobaczyć efekt swojej pracy, a nawet stworzyć link i przesłać go programistom na forach dyskusyjnych, rodzinie i przyjaciołom oraz oczywiście Mentorowi.

Mój własny kalkulator pogodowy

W końcu przyszedł czas na zadanie z prawdziwego zdarzenia. Najpierw rozgrzewka, czyli proste ćwiczenie polegające na zaprogramowaniu przycisku. Po kliknięciu w niego, wyświetlało się pytanie o imię, a po wpisaniu imienia mój wirtualny robot się ze mną witał:

Hello Marek!

Uporałem się z tym dość szybko, korzystając z wzoru podanego w ćwiczeniu. To był jednak tylko wstęp.

Teraz czekało mnie bowiem samodzielne zadanie, które miałem wykonać na podstawie zdobytej dotąd wiedzy. Już bez podpowiedzi. Po skopiowaniu kodu z witającym się przyciskiem należało zrobić konwerter temperatury, który po kliknięciu guzika zapyta o temperaturę w stopniach Celsjusza i wyświetli jej odpowiednik w stopniach Fahrenheita.

No właśnie, czy wiecie, ile to jest np. 50 stopni Celsjusza? Ja już wiem - to 122 stopnie Farenheita. Zanim jednak do tego doszedłem, musiałem się nieźle napocić. Nie dość, że musiałem poznać odpowiedni wzór matematyczny do przeliczania tych wartości, to jeszcze trzeba było to wszystko zakodować. A potem - to już kolejne zadanie - wywrócić wszystko do góry nogami, czyli stworzyć przelicznik Farenheita na Celsjusza i sprawić, by w zależności od wpisanej temperatury wyświetlały się dodatkowe, praktyczne informacje, np. jak się dzisiaj ubrać. Nie chciałem działać sztampowo, dlatego już poza poleceniami, po udanych moim zdaniem ćwiczeniach z HTML i CSS dodałem jeszcze tło i pokolorowałem przyciski. Zobaczcie, co mi z tego wyszło:

Kalkulator pogodowy Marka

Na te zadania poświęciłem prawie dwa tygodnie, w tym ślęcząc przy komputerze po nocach. I gdy wreszcie dumny z efektu pokazałem swój kalkulator szefowi mojego działu, padło pytanie:

“A dlaczego zamiast 68 stopni wyświetla mi się 68.00000000001? Nie dało się obciąć tej jedynki? Zwracaj uwagę na takie szczegóły, bo potem, podczas rozmowy o pracę, rekruter na pewno o to zapyta.”

Czepia się? - zapytałem wieczorem w domu żółtej kaczuszki. Jak zwykle milczała, ale ja wiedziałem, że nie było w tym żadnej uszczypliwości. Miał jak zwykle rację. Jeśli zacznę się wykładać na takich drobiazgach, co będzie później? Obiecałem sobie, że się jeszcze bardziej przyłożę.

Przeczytajcie również:

A jak Wam idzie nauka programowania? Możecie się pochwalić swoimi pierwszymi kodami? A może chcecie poprawić mój? Gdzie zrobiłem błędy? Co należałoby zmienić?

To już ostatnia część mojej relacji, choć to wcale nie koniec mojej przygody z programowaniem. Będę się uczył dalej i szczerze polecam to samo każdemu z Was. Podzielcie się ze mną swoimi doświadczeniami z nauką programowania. Możecie to zrobić w komentarzach pod postem ;)

Rozwiąż darmowy test predyspozycji

Umów się na rozmowę z doradcą Kodilli