Wskazówki do nauki programowania

Celem tego artykułu jest udostępnienie programowania uczenia się każdemu.

Często Zadawane Pytania

Jako mentor stale jestem proszony o:

„Jakiego języka programowania powinienem się nauczyć, jeśli jestem nowy?”

„Który język programowania jest najbardziej poszukiwany w pracy?”

„Jaki jest najpopularniejszy język programowania?”

Najlepsze języki programowania

Jeśli szukasz oficjalnego rankingu najlepszych języków programowania, możesz go znaleźć tutaj: najlepsze języki programowania IEEE Spectrum

Ta lista jest świetna do sprawdzania, czy dany język programowania jest obecnie używany. Jeśli jednak dopiero zaczynasz programować, nie polecam wybierania języka opartego wyłącznie na liście.
Jak wybrać język programowania

Informatyka to całkowicie kumulatywny kierunek studiów. Oznacza to, że każdy kolejny temat opiera się na poprzednich tematach.

Jeśli wcześniej próbowałeś nauczyć się programowania (lub dowolnej dziedziny STEM) w szkole, postarałeś się jak najlepiej, ale nie powiodło się – to nie był problem. Dobry profesor każdego łącznego przedmiotu starannie opiekuje się programem nauczania. Pod warunkiem, że każdy uczeń odpowiednio przygotował i spełnił warunki wstępne, oczekiwania dotyczące wcześniejszej wiedzy uczniów powinny być jasne. Dobry profesor rozumie oczekiwania i nie zakłada wiedzy poza tym zakresem. Naucz się wszystkiego poza oczekiwaniami. Każdy temat w programie nauczania jest uporządkowany kolejno, odpowiednio do innych tematów.

Kiedy przedmiot jest kumulatywny, przy projektowaniu programu kursu lub ścieżki uczenia się należy zwrócić szczególną uwagę. Powiedziawszy to, nie wybieraj języka dla jego rankingu; wybierz język, dla którego masz pełną ścieżkę uczenia się, która nie zakłada żadnych założeń dotyczących wcześniejszej wiedzy.

http://sanrahpo1.pl/tworzenie-stron-internetowych
http://sanrahpo1.pl/tworzenie-stron-siedlce
http://sanrahpo1.pl/tworzenie-stron-warszawa
http://sanrahpo1.pl/strony-www-krakow
http://sanrahpo1.pl/strony-www-lodz
http://sanrahpo1.pl/strony-www-poznan
http://sanrahpo1.pl/strony-www-gdansk
http://sanrahpo1.pl/strony-www-szczecin
http://sanrahpo1.pl/strony-www-bydgoszcz
http://sanrahpo1.pl/strony-www-lublin
http://sanrahpo1.pl/strony-www-bialystok

Kilka słów porady

Zanim zaczniesz uczyć się kodować, ważne jest, aby zastanowić się nad tym, o czym mówiłem powyżej: wszystko w informatyce jest kumulatywne.

Chciałbym to powtórzyć, ponieważ największym błędem, jaki możesz popełnić jako początkujący programista, jest poddawanie się, ponieważ nie uważasz, że jesteś wystarczająco inteligentny, aby nauczyć się programowania. Nauka kodowania nie ma nic wspólnego z twoją inteligencją. Tak, trudno jest nauczyć się programowania, nie z powodu tego, kim jesteś, ale dlatego, że musisz się wiele nauczyć.

Pierwsza zasada: zaakceptuj następujący scenariusz: zapoznasz się z nowym tematem, który nie ma dla ciebie żadnego sensu.

Ten scenariusz będzie się powtarzał w kółko. To, jak poradzisz sobie z tą sytuacją, za każdym razem, kiedy to się stanie, jest jedynym czynnikiem, który określi Twój sukces.

Jeśli bieżący temat, którego się uczysz, nie ma dla ciebie sensu, pozostań tam, gdzie jesteś. Nie przechodź do następnego tematu. Powtarzając, tematy są kumulatywne. Przeskakiwanie do przodu jest jak przymocowanie dachu do domu pozbawionego ramy, ścian i fundamentu.

Cały czas znajduję się w tej sytuacji. Często muszę kilkakrotnie powtórzyć ten sam wykład samouczka wideo, aby zrozumieć, czego się uczę. Nie zniechęcaj się, jeśli znajdziesz się w moich butach.

Jeśli samouczek (lub książka), którego używasz, nie wyjaśnia w wystarczającym stopniu tematu, będziesz musiał znaleźć inne zasoby, które będą dla Ciebie odpowiednie. Nie ma wymówki, żeby się poddawać, tylko dlatego, że omawianie tematu w tutorialu nie zadziałało. Na YouTube znajdziesz wszystko, czego chcesz się nauczyć za darmo. Dowiedz się, czego szukać (np. [Temat] w [języku programowania] + inne przydatne słowa kluczowe).

Jeśli szukasz w YouTube samouczków edukacyjnych, sprawdź najpierw statystyki. Rzuć okiem na ocenę i / lub liczbę wyświetleń. Jeśli nadal nie masz pewności, czy film jest wart twojego czasu, przeczytaj niektóre komentarze, aby poznać opinie innych.

Wiele tematów za pierwszym razem nie będzie miało sensu. Powstrzymajcie się zatem od negatywnych myśli.

Celem jest bycie świadomym swojego zrozumienia podczas nauki. W miarę postępów na ścieżce uczenia się musisz się zastanowić. W przypadku każdego poruszanego tematu zadaj sobie następujące pytania:

„Czy ten temat ma dla mnie sens?”
„Czy była jakaś nowa terminologia? Jeśli tak, to czy podano formalną definicję każdego nowego terminu? ”
„Czy były jakieś nowe umiejętności? Czy rozumiem, w jaki sposób każda nowa umiejętność jest wykorzystywana w aplikacji? Czy mogę wykazać zrozumienie tej umiejętności, rozwiązując problemy związane z ćwiczeniami? ”
„Czy zapamiętam to, czego się właśnie nauczyłem jutro? A pojutrze? Jeśli nie, jak mam to zapisać w pamięci? ”

Ostatnia rada: nigdy nie lekceważ siły zapamiętywania. Zapamiętywanie jest całkowicie niewykorzystanym podejściem do nauki. Tak, zrozumienie tematu jest ostatecznym celem. Jednak zrozumienie może zająć trochę czasu. Jeśli naprawdę próbujesz zrozumieć temat, podziel go i zapamiętaj ważne terminy. Jeśli nie możesz zrozumieć, jak coś działa, Twoim bezpośrednim celem powinno być zapamiętanie. Jeśli potrzebujesz wskazówek, jak radzić sobie z zapamiętywaniem, zastanów się nad użyciem techniki karty studyjnej. Możesz przeczytać więcej o tym, jak używam tej techniki w moim Wywiad Przygotuj dokument.
1 – Podstawy informatyki

Pierwszym krokiem jest poznanie podstaw informatyki, które omawiam w moim artykule: Wprowadzenie do terminologii informatycznej. Ten artykuł został napisany specjalnie z myślą o mojej publiczności – wszystkim. Celowo to stworzyłem, aby było łatwe do zrozumienia dla każdego, kto nie ma doświadczenia w pracy na komputerach.

Pojęcia omówione w tym artykule są przede wszystkim definicyjne. Możesz swobodnie przeczytać artykuł, i to w porządku, że ci wystarczy. Polecam zapisanie tych warunków w pamięci. Podchodź do każdego semestru tak, jakbyś był w szkole i musisz mieć możliwość przypomnienia definicji każdego terminu na egzamin. Nie musisz się tak bardzo angażować, jeśli nie chcesz. Im więcej z tych pojęć można zapisać w pamięci, tym łatwiej będzie zrozumieć późniejsze tematy.
2 – Logika zdań (opcjonalnie)

Nie, nie musisz być silny z matematyki, aby zostać programistą. Umiejętności matematyczne mogą być pomocne, ale nie są konieczne.

Jeśli nie masz pewności co do swoich umiejętności matematycznych, zalecam naukę logiki zdań. Zasady ujęte w logice zdań są elementami składowymi programowania.

Logiki zdań można nauczyć się z tego samouczka YouTube: Podstawowe pojęcia w logice zdań.
3 – Programowanie Java

Po opanowaniu podstaw informatyki będziesz gotowy do nauki języka programowania.

Włożyłem wiele wysiłku i wysiłku w zaprojektowanie ścieżki, która byłaby odpowiednia dla każdego, bez względu na pochodzenie. Wybrałem Javę do tej ścieżki uczenia się, ponieważ Java jest językiem, w którym jestem najbardziej doświadczony.

Java jest jednym z najbardziej popularnych języków programowania. Został sklasyfikowany jako obiektowy język programowania (później dowiesz się, co to oznacza) i jest używany do tworzenia aplikacji komputerowych, internetowych i mobilnych.

Jeśli wolisz uczyć się z książki, polecam następujące rzeczy: Head First Java.

Jeśli szukasz samouczka wideo, polecam obejrzenie filmów 1–19, 31–33, 88 i 93 w samouczku Java YouTube autorstwa Dereka Banasa: Samouczek wideo Java.

Pierwszy film w samouczku YouTube pokieruje Cię do pobrania programu komputerowego o nazwie Eclipse. Eclipse to zintegrowane środowisko programistyczne (IDE). Możesz myśleć o IDE jako fantazyjnym określeniu edytora słów stworzonym dla programistów. To tylko aplikacja komputerowa, która udostępnia edytor tekstowy do programowania wraz z innymi narzędziami do uruchamiania programów. Oto link do filmu Dereka Banasa na YouTube o tym, jak pobrać Eclipse: zainstaluj Eclipse dla Javy.
4 – Algorytmy i struktury danych

Algorytm to zestaw instrukcji (lub kroków) służących do wykonania określonego zadania, przy czym każdy krok musi być jasno zdefiniowany, możliwy do wykonania i skończony (co oznacza, że ​​nie wykonuje się go w nieskończoność).

Struktura danych to sposób organizowania danych w pamięci.

Algorytmy i struktury danych to dwa z najtrudniejszych tematów programowania. Nie musisz uczyć się algorytmów dla podstawowych kompetencji w programowaniu. Jeśli jednak aspirujesz do pracy jako inżynier oprogramowania w renomowanej firmie technologicznej, będziesz musiał wykazać się zrozumieniem algorytmów i struktur danych podczas wywiadów.

Osobiście poniższy tutorial przeniósł moje umiejętności algorytmiczne od początkującego do eksperta: samouczek Udemy na temat algorytmów i struktur danych. Kupiłem wiele samouczków na temat algorytmów. Był to zdecydowanie najbardziej kompleksowy, z jakim się spotkałem. Niezależnie od tego, czy chcesz nauczyć się algorytmów i struktur danych, czy przygotować się na wywiady techniczne, ten samouczek jest najlepszym wyborem na sukces.

Uwaga: kurs jest drogi, ale niezbędny. Byłem w stanie skontaktować się z instruktorką, a ona hojnie zaoferowała kod kuponu, który zmniejsza koszt z 50 USD do 10 USD. Kod kuponu zostanie zastosowany automatycznie po kliknięciu łącza.

Polecam użycie następującego samouczka obok samouczka Udemy: VisuAlgo. VisuAlgo to darmowy zasób, który pokazuje wizualizację zmian wartości wprowadzanych do algorytmu podczas jego wykonywania.
5— Rozwój Androida

Rozwój Androida jest, moim zdaniem, jedną z najfajniejszych aplikacji do programowania Java. Aplikacje na Androida są głównie programowane w Javie, więc kiedy nauczysz się Javy, jesteś gotowy do nauki Androida.

Oto najlepszy darmowy samouczek wideo, aby rozpocząć naukę Androida: Udacity-Android Development dla początkujących.

Po ukończeniu powyższego kursu Udacity masz kilka opcji, z których możesz się udać. Powyższe szkolenie powinno zostać przedłużone przez tę samą grupę pracowników Google. Dodatkowe wykłady powinny być widoczne po przejściu przez kurs (jeśli nie możesz go znaleźć, wyszukaj go na Udacity). To dobra opcja, zwłaszcza, że ​​jest darmowa.

Jeśli jednak chcesz wydać pieniądze na wybitną książkę, gorąco polecam następujące: Head First Android Development: A Brain-Friendly Guide. Ta książka zawiera szczegółowe wyjaśnienia i godz elfie wizualizacje, które naprawdę pomogą Ci poznać podstawowe pojęcia Androida. Każdy rozdział poprowadzi Cię przez przykładową aplikację. Wszystko jest dokładnie wyjaśnione, używając słów i schematów, które każdy może zrozumieć.
Pomocne zasoby

Stack Overflow to strona internetowa, na której programiści mogą uzyskać bezpłatną pomoc dotyczącą swojego kodu. Jeśli utkniesz i chcesz zadać pytanie, najpierw je wyszukaj. Jeśli nie możesz znaleźć swojego pytania, utwórz konto i opublikuj je samodzielnie!