dla Początkujących
6 godz. 26 min · JavaScript · Full-stack i Programowanie
Adam GospodarczykProgramowanie to szeroka dziedzina, która nieustannie się rozwija. Rozpoczynając naukę możemy opierać się głównie na wskazówkach bardziej doświadczonych osób, bądź autorach kursów i nauczycielach. W praktyce najważniejsze na początku jest dobre zrozumienie tego, czym jest programowanie, jakie możliwości daje oraz jakie możemy wybrać ścieżki rozwoju. W tym kursie spojrzymy na programowanie z szerokiej perspektywy, dając Ci solidne podstawy do dalszej nauki.
To kolejne trudne pytanie, na które nie ma jednoznacznej odpowiedzi. Dobra wiadomość jest taka że języki programowania, podobnie jak angielski, niemiecki czy hiszpański mają cechy wspólne. Nie oznacza to że nauka jednego, da Ci dostęp do wszystkich ale poznasz ogólne mechanizmy, które spotkasz w niemal wszystkich pozostałych technologiach. W tym kursie skupiamy się właśnie na takich obszarach, opierając przykłady o obecnie najpopularniejszy język jakim jest JavaScript.
Być może zastanawiasz się jak dokładnie wygląda praca programisty? Czym różni się front-end od back-endu i czy wysokie umiejętności analityczne są wymagane niezależnie od obszaru programowania, którym się zajmujemy? Dodatkowo samo zostanie programistą to tylko początek drogi. Możliwości jakie przed nami stoją nie tylko są ogromne, ale również nieustannie się rozwijają, stawiając przed nami nowe wyzwania.
Ten kurs podzielony jest na dwie części - teoretyczną, która przedstawi Ci szerokie spojrzenie na programowanie oraz praktyczną, w której samodzielnie będziesz w stanie przekonać się jak pisać programy z wykorzystaniem języka JavaScript - najpopularniejszego języka na świecie. To, że będziemy przerabiać przykłady w JavaScript, nie stanowi przeszkody a wręcz lepiej przygotuje Cię do pracy z innymi językami jak Python, C# czy C++ lub Kotlin. To wszystko ułatwi Ci podejmowanie decyzji dotyczących dalszej nauki i rozwoju jako programista.
W pierwszych lekcjach części praktycznej kursu dowiesz się jak skonfigurować środowisko pracy wraz z edytorem, w którym przyjdzie Ci pracować. Pomożemy Ci w dobraniu odpowiednich ustawień i wtyczek, które przyspieszą naukę i pomogą w lepszym zrozumieniu podstawowych koncepcji programistycznych. Krok po kroku dowiesz się jak przygotować środowisko i rozpocząć komfortową pracę.
Mimo, że będziemy pracować z JavaScript, posłuży nam on do przedstawienia najważniejszych koncepcji programowania w każdym innym języku. Nie będziemy uczyć się tworzenia stron i środowiska przeglądarki a jedynie przećwiczymy najważniejsze koncepcje języków programowania w środowisku konsolowym. Dzięki temu zdobyte umiejętności z łatwością przełożysz na inne języki jak Python, Java czy Swift, bo wszystkie posiadają identyczne konstrukcje, a poznać należy wyłącznie różnice.
OOP to jeden z najważniejszych paradygmatów programowania, który powinien poznać każdy aspirujący Programista. Dzięki temu będziesz mógł zdecydowanie lepiej zrozumieć możliwości i powiązania klas i obiektów, które tworzą programiści a także pisać kod, który jest prostszy i reużywalny. To koncepcja, którą także wyjaśnimy obrazowo w kursie. Oczywiście, poza teorią w kursie pokażemy Ci przykłady tworzenia funkcjonalnych klas w JavaScript.
Kolejną ważną koncepcją, którą musi znać każdy początkujący Programista jest praca z błędami - innymi słowy obsługa błędów lub debugowanie naszej aplikacji. To niezwykle ważne, bo oszczędzi Ci mnóstwa frustracji oraz wielu godzin rozpoznawania, co w kodzie nie działa poprawnie. Z kursu w praktyce dowiesz się, jak testować swoje aplikacje, łatwo wykrywać błędy i korzystać z narzędzi, które będą je dla nas wykrywać lub automatycznie poprawiać!
Ten kurs przygotowaliśmy tak, aby był fundamentem wiedzy o Programowaniu, którego używamy w wielu naszych ścieżkach na eduweb.pl. To znaczy, że kurs który masz przed sobą rozpoczyna ścieżkę Python, JavaScript, Ruby i wiele innych. Wiemy, że w sieci jest mnóstwo materiałów na temat podstaw programowania i chcieliśmy przygotować wyjątkowy kurs, który da Ci spokój w natłoku wielu informacji w sieci. Zaangażowaliśmy w to najlepszych autorów eduweb oraz naszym zdaniem jednych z najlepszych programistów w Polsce. To, co jest jednak najważniejsze - kurs omawia programowanie bardzo prostym językiem, dzięki czemu jest przystępny dla każdego!
Kurs przeznaczony jest dla osób początkujących, które stawiają swoje pierwsze kroki na scieżce programisty lub programistki. Jednak skorzystają z niego także te osoby, które myślą o nauce programowania w celu uzupełnienia innych umiejętności, na przykład internetowi przedsiębiorcy, freelancerzy, UI/UX i web designerzy. Jeżeli czujesz się zagubiony lub przytłoczony dużą ilością często sprzecznych informacji - ten materiał pozwoli Ci szerzej spojrzeć na programowanie. To z kolei przełoży się na lepsze decyzje, które będziesz podejmować w kontekście swojego rozwoju. W kursie znajdziesz wskazówki i porady dotyczące efektywnej nauki programowania, które pomogą Ci szybciej zdobyć nowe umiejętności i pracę w zawodzie. Najważniejszą z nich jest fakt, że programowanie to dynamicznie rozwijająca się dziedzina, która wymaga od Ciebie nieustannej nauki. Zatem wypracowanie odpowiednich nawyków i technik nauki jest niezwykle istotne, niezależnie od miejsca w którym aktualnie się znajdujesz.
Wiemy już, że komputery nie są w stanie zrozumieć naszego języka i jednocześnie my
nie jesteśmy w stanie rozumieć języka komputerów.
Konkretnie komputery działają wykorzystując tzw.
kod binarny i w tej lekcji przyjrzymy się temu
czym dokładnie jest kod binarny i w jaki sposób dochodzi do wymiany, a w
zasadzie tłumaczenia informacji pomiędzy nami a komputerami.
Kod binarny jak sama nazwa wskazuje jest
pewnego rodzaju szyfrem, który wykorzystują komputery do tego aby
przetwarzać informacje oraz dokonywać różnego rodzaju obliczeń.
Kod binarny opiera się o system dwójkowy, który
zapewne kojarzysz z lekcji matematyki i tylko przypomnę, że w systemie dwójkowym w
przeciwieństwie do dziesiętnego, który wykorzystujemy na co dzień mamy tylko dwie
liczby. Są to zera i jedynki i ma to szczególne znaczenie w kontekście takim, że
procesor do działania wymaga prądu elektrycznego, który przepływając przez
niego sprawia, że dokonują się różnego rodzaju obliczenia. No i teraz w momencie gdy
mamy zero reprezentuje ono stan, w którym ten prąd nie przepływa a w
momencie gdy mamy jedynkę oznacza to prąd przepływający.
No i teraz skoro już mamy taką
podstawową informację na temat tego w jaki sposób komputer działa.
Czyli mamy ten przepływający i nieprzepływający
prąd oraz odpowiednią reprezentację w systemie dwójkowym
no to wiemy już, że jesteśmy w stanie
system dwójkowy czy też kod binarny tłumaczyć na system dziesiętny,
a potem iść dalej i tłumaczyć na dowolną inną informację.
Teraz pytanie w jaki sposób to całe tłumaczenie w ogóle się odbywa.
Mamy tutaj osiem pól i każde z nich
reprezentuje taką najmniejszą jednostkę informacji jaką jest bit.
W związku z tym, że kod binarny
opiera się o system dwójkowy, podpisujemy każde z tych pól kolejną potęgą liczby 2.
No i teraz wystarczy, że do każdego z tych pól piszemy odpowiedni stan czyli tak jak
wspomniałem wcześniej, mamy do dyspozycji zera i jedynki
no to otrzymujemy wartość 1 0 1 1.
Następnie wystarczy, że po prostu zsumujemy te wartości i otrzymamy liczbę 11.
Oznacza to, że wartość 1 0 1 1 w systemie
dwójkowym oznacza 11 w systemie dziesiętnym. No i w zasadzie dokładnie na tym opiera się cała
konwersja informacji z języka komputerów na język,
można powiedzieć ludzki.
Oczywiście sama komunikacja nie byłaby możliwa gdybyśmy mogli konwertować
wyłącznie informacje z systemu dwójkowej na system dziesiętny
i aby dokonać tej odwrotnej konwersji wystarczy że wartość będziemy dzielić
przez dwa i zapisywać resztę z dzielenia. W ten sposób konwertujemy tutaj liczbę 14
do systemu dwójkowego. No i odczytując resztę z dzielenia w
odwrotnej kolejności otrzymujemy wartość 1 1 1 0.
Zatem mamy tutaj potwierdzenie, że liczba
14 w systemie dwójkowym to właśnie wspomniana przeze mnie wartość.
Na tym etapie wiemy już w jaki sposób dochodzi do konwersji danych pomiędzy
systemem dwójkowym i systemem dziesiętnym
zatem mamy tutaj taki pomost komunikacji pomiędzy komputerami a ludźmi.
Oczywiście nie oznacza to, że my jako
programiści posługujemy się wyłącznie liczbami, do tego aby komunikować się z
komputerami ponieważ w tym celu oczywiście wykorzystujemy języki programowania.
O tym sobie jeszcze powiemy,
natomiast na ten moment zależy mi najbardziej na tym, aby dobrze zrozumieć na
czym polega ta komunikacja i w ogóle po co to robimy.