ciekawy

Najlepsze sposoby na naukę kodowania

Zdjęcie: Christopher Gower (Unsplash)

Jeśli chcesz nauczyć się kodować, stawianie pierwszych kroków w tym wielkim wszechświecie może wydawać się zniechęcającym, a nawet zastraszającym zadaniem. Oto wielka tajemnica: istnieje wiele bezpłatnych (i niedrogich) zasobów, z których możesz skorzystać, aby udzielić sobie wszelkiej potrzebnej pomocy, nauczyć się nowych technik i uczynić ten proces nauki zabawnym i ekscytującym - tak ekscytującym, jak tylko może być kodowanie. .

Niezależnie od tego, czy jesteś osobą dorosłą, która chce przejść do branży technologicznej, studentem chcącym nauczyć się najnowszego języka, czy hobbystą, który chce po prostu zrozumieć, jak działa oprogramowanie i usługi, wystarczy komputer i dostęp do Internetu, aby rozpocząć programowanie. podróż. Ale zanim podejmiesz skok, oto nasze najlepsze wskazówki i zasoby, które pomogą Ci wyruszyć na właściwą stopę.

Zadaj sobie pytanie: dlaczego chcesz nauczyć się kodować?

Poświęć kilka minut (lub dzień) na przemyślenie przyczyn - powodów - dla których chcesz nauczyć się języka programowania. Bądź ze sobą szczery. Czy próbujesz nauczyć się jak najmniejszego minimum, aby zdobyć awans? Czy chcesz dokonać dużej zmiany w karierze? Czy chcesz stworzyć następną najlepszą aplikację? Zaskocz swoich współlokatorów, programując różne inteligentne urządzenia, aby zrobiły coś niesamowitego?

Twoja odpowiedź może pomóc określić, które języki programowania należy opanować, a także jakiego rodzaju zobowiązania (czas i pieniądze) może wymagać Twój cel. Na przykład, jeśli marzysz o stworzeniu kolejnego świetnego systemu operacyjnego lub zabójczej alternatywy dla PhotoShop, skorzystałbyś z formalnej edukacji informatycznej, która uczy cię C ++, a także z bardziej złożonych tematów, takich jak struktura danych, algorytmy i przydział pamięci.

Z drugiej strony, jeśli jesteś profesjonalistą w połowie kariery i chcesz przejść do kariery technologicznej, krótkoterminowe bootcamp programowanie może mieć sens, niż zadłużenie się na drugi stopień. Jeśli wszystko, co chcesz zrobić, to zbudować strony internetowe lub zmusić Raspberry Pi do granic możliwości, połączenie interaktywnych samouczków i bezpłatnych kursów online może wystarczyć.

Wybierz odpowiedni język programowania

Gdy dowiesz się, dlaczego chcesz kodować, łatwiej możesz wskazać język programowania, z którym powinieneś się uporać. Chociaż nie ma jednego „najlepszego” języka programowania do nauki, niektóre języki są bardziej przyjazne dla użytkownika niż inne. HTML i CSS są uważane za najłatwiejsze punkty wejścia do świata kodowania, ale są one naprawdę przydatne tylko przy tworzeniu podstawowych stron internetowych.

Aby uzyskać więcej interaktywnych stron internetowych z systemami płatności lub bazami danych, musisz znać Javascript, PHP, SQL i Python, aby wszystkie komponenty śpiewały. Twórcy aplikacji mobilnych używają Swift lub C do tworzenia aplikacji na iOS oraz Java lub Kotlin dla aplikacji na Androida. Twórcy gier wideo zwrócą się do Unity, a nawet C #, aby wprowadzić swoje pomysły w życie.

Nadal nie możesz zdecydować o swoim języku programowania dla początkujących? Większość profesjonalistów zaleca naukę języka Python, C # lub JavaScript, ponieważ oferują one najszerszą użyteczność i elastyczność kariery. Aby pomóc Ci podjąć decyzję, sprawdź tę wspaniałą infografikę, która porównuje kilka popularnych języków programowania.

Przede wszystkim rozpocznij naukę. Kiedy już poczujesz się komfortowo z jednym językiem programowania, będziesz mógł znacznie szybciej wybrać następny - na przykład uczenie się nowego instrumentu muzycznego lub języka obcego.

Wypróbuj niektóre kursy online

Jeśli chcesz mieć większą kontrolę nad swoim harmonogramem nauki (lub nie chcesz iść sam), kurs kodowania online może być lepszą opcją niż bootcamp kodowania osobiście. Istnieje jednak wiele różnych zajęć online, które uczą tych samych języków programowania i może być trudno ustalić, który z nich jest naprawdę wart twojego czasu i pieniędzy.

Jeśli nie masz nic przeciwko ćwiczeniu w pojedynkę, sprawdź The Odin Project, bezpłatną opcję, która łączy w sobie jedne z najlepszych materiałów open source do przekształcania początkującego programisty w programistę.

Chcesz więcej coachingu indywidualnego i przygotowania do kariery bez robienia bootcampu w pełnym wymiarze godzin? Spróbuj zapisać się na kursy certyfikacji modelu subskrypcji od Udacity lub Treehouse, gdzie możesz poprosić nauczyciela o pomoc, zamiast cierpieć z powodu błędów w kodzie lub pytań. Nie da się zrobić nic lepszego niż lekcje kodowania z Udemy za 19 USD (nawet mniej, gdy jest wyprzedaż) - nawet studenci bootcampu i informatyki zapisują się na te zajęcia, aby uzupełnić swoją naukę.

Bez względu na to, ile kursów ukończysz, wielu początkującym nadal ma trudności ze stosowaniem swojej stosunkowo podstawowej wiedzy. W tym celu wielu poleca bezpłatny praktyczny kurs JavaScript z Watch and Code, który koncentruje się wokół jednego projektu, który nieustannie się rozwija.

Skoncentruj się na nauce myślenia obliczeniowego

Zamiast koncentrować się na nauce określonego języka programowania, możesz także nauczyć się tego w sposób zrozumiały dla komputera. Innymi słowy, popraw swoje umiejętności w zakresie takich pojęć, jak rozpoznawanie wzorów, algorytmy i abstrakcje. Istnieje również żargon, na przykład pętle, które wyskakują w dowolnym używanym języku. Im lepiej zrozumiesz te zasady, tym łatwiej będzie nauczyć się następnego języka (i w rezultacie zaprojektować lepsze produkty lub projekty).

Dzięki internetowi nie musisz zapisywać się na czteroletni program studiów, aby poznać podstawy informatyki; wiele zajęć na poziomie uczelni jest dostępnych online za darmo (lub za symboliczną opłatą).

Nie mogę polecić wystarczająco Harvard CS50x Wprowadzenie do informatyki. Możesz skontrolować kurs za darmo przez edX i zdobyć certyfikat, wykonując wszystkie zadania, lub możesz iść we własnym tempie i oglądać wszystkie wykłady opublikowane na Youtube. Wybierając piętnaście kursów online (z których wiele jest także wymienionych w naszej serii Goldavelez.com U), możesz zbudować własny program informatyczny na poziomie uczelni wyższej.

Zdobądź książkę

Najlepszym sposobem nauki kodowania może być zbliżenie się do martwych drzew - prawdziwa książka, którą możesz śledzić od początku do końca. W idealnym świecie zapewni to bardziej kompleksowe wprowadzenie do kodowania niż przechodzenie od tematu do tematu na stronie internetowej.

Prawdopodobnie możesz znaleźć e-book dla dowolnego języka lub frameworka, którego próbujesz się nauczyć na GitHub, ale wielu programistów stron przysięga na kolorowe serie Jona Ducketta na wszystkie tematy, od tworzenia stron internetowych po zaplecze.

Jako programista samouk, możesz również skorzystać z książek, które oferują szersze porady na temat zawodu. Poprawisz swoje myślenie i nawyki, cechy, które możesz zastosować w dowolnym języku, który zdecydujesz się uczyć. 900 stronicowy kod „Kompletny: praktyczny podręcznik konstrukcji oprogramowania” (wydanie drugie) Steve'a McConnella jest uważany za ostateczny przewodnik po najlepszych praktykach, zawierający porady na temat wszystkiego, od projektu do kodu debugującego.

Następstwem tego olbrzyma jest Clean Code: Podręcznik zwinnego oprogramowania „Uncle Bob” Robert Martin. Martin uważa, że ​​kod powinien być efektywnie napisany w celu łatwego testowania i skalowalności, co czyni go obowiązkowym dla wielu współczesnych zespołów programistów.

Ponieważ programowanie naprawdę polega na rozwiązywaniu problemów, docenisz proces myślowy i rozwiązania „z tyłu koperty”, które Jon Bentley dzieli w Programming Pearls (2. edycja). Każdy rozdział kończy się szeregiem wyzwań, które są często wykorzystywane podczas technicznych rozmów kwalifikacyjnych, dlatego włącz tę książkę do swojego przygotowania do pracy.

Sprawdź interaktywne samouczki lub gry kodujące

Spójrzmy prawdzie w oczy: czytanie linii kodu na ekranie lub w książce może wyglądać jak bełkot. Gdy zobaczysz przykład w akcji, ta abstrakcyjna koncepcja nagle ma doskonały sens. To właśnie piękno interaktywnych samouczków kodowania, które można znaleźć w Internecie.

Na przykład FreeCodeCamp nie tylko rozkłada pojęcia kodowania na małe fragmenty w przeglądarce internetowej, ale także łączy każdą koncepcję z odpowiednim ćwiczeniem, które należy rozwiązać przed przejściem do następnego tematu. W ten sposób nie możesz po prostu przejść do zabawnych rzeczy; witryna naprawdę zmusza do debugowania kodu podczas nauki.

Gry kodujące to także świetny sposób na zmoczenie stóp w programowaniu. Jeśli masz godzinę do zabicia, możesz wypróbować proste gry Hour of Code. Ponadto wiele szkół korzysta już z Minecraft: Educational Edition, aby uczyć dzieci podstaw programowania z blokami kodowymi, a nawet JavaScript. (Możesz pobrać tę wersję Minecraft za darmo, jeśli masz konto Office 365 Education).

Chcesz bardziej złożonego samouczka tworzenia gier, który możesz wznowić? CodinGame może być bardziej odpowiednie dla wieku, jeśli nie masz ochoty uderzać w bloki przez cały dzień.

Wypróbuj zabawkę dla dzieci

Kto powiedział, że dorośli nie mogą uczyć się na tych samych zabawkach STEAM / STEM i grach komputerowych, które uzależniają dzieci od kodowania? W końcu produkty te są zaprojektowane do uczenia logiki kodowania i składni bez nudnych, łatwo rozpraszających dzieci, więc nawet dorośli koderzy mogą je znaleźć jako zabawne i edukacyjne.

Jeśli chcesz lepiej zrozumieć związek między sprzętem i oprogramowaniem, spodoba ci się zestaw Piper Computer Kit 2, w którym zbudowano komputer z Raspberry Pi. Za pomocą tego laptopa dla majsterkowiczów możesz nauczyć się kodować za pomocą niestandardowych wyzwań w trybie fabularnym Minecraft, używać języka blokowania metodą przeciągnij i upuść, aby uczyć się obliczeń fizycznych lub po prostu pobrać podstawowy język Python z wcześniej zainstalowanych lekcji.

Chociaż prawdopodobnie nie będziesz w stanie stworzyć własnego droida BB-8, możesz nauczyć się kodować go za pomocą BOLT Sphero. Korzystając z aplikacji towarzyszącej, możesz kontrolować swoją kulę droida za pomocą bloków kodujących przeciągnij i upuść o nazwie Scratch lub wyrównaj do JavaScript, aby zaprogramować bardziej zaawansowane ruchy.

Naucz swoje ulubione urządzenia (i asystentów) nowych sztuczek

Czy masz urządzenie typu smarthome, takie jak Amazon Echo? Możesz przetestować swoje umiejętności kodowania, tworząc spersonalizowane miniprogramy, aby uzyskać więcej funkcji z cyfrowych asystentów urządzeń. Alexa z Amazon może już znać wiele podstawowych „umiejętności” poleceń głosowych, takich jak czytanie najnowszych nagłówków wiadomości, ale możesz nauczyć jej bardziej skomplikowanych zadań, kodując w Node.js, Java, Python, C # lub Go. (Lub, jeśli chcesz zacząć od czegoś łatwiejszego, wypróbuj prostszą stronę z planami umiejętności Alexa.)

Możliwe, że Twoje zainteresowanie kodowaniem jest bardziej ograniczone - możesz po prostu nauczyć się wystarczająco dużo języka Python, aby na przykład Raspberry Pi mógł robić fajne projekty. Jeśli tak, możesz zastosować podejście DIY do nauki, sprawdzając wiele projektów udostępnianych przez innych na jego stronie internetowej.

Odtworzając istniejące projekty, dowiesz się więcej o wewnętrznych działaniach swojego wysoce konfigurowalnego urządzenia. Możesz nawet zainspirować się do tworzenia nowych sposobów korzystania z mini-komputera i zagłębiania się w świat kodu. (Możesz nawet zapisać się na platformę UC Irvine The Raspberry Pi Platform i Programowanie w języku Python dla klasy Raspberry Pi Platform za pośrednictwem Coursera, jeśli potrzebujesz trochę pomocy na początku.)

Obejrzyj filmy o kodowaniu

Czasami po prostu łatwiej jest oglądać, jak ktoś pokazuje ci, jak to się robi. Obecnie można znaleźć wszelkiego rodzaju filmy edukacyjne na prawie każdy temat związany z kodowaniem: byli Googlersi dzielą się rozwiązaniami dotyczącymi wywiadów z kodowaniem, YouTubery transmitują na żywo swoje maratony kodujące, a nawet weterani programowania pokazujący, jak rozwiązać konkretny błąd w dowolnym języku.

Polecam sprawdzić CS Dojo, TheNetNinja i kanał Harvarda CS50 na YouTube. Jeśli nie masz czasu na znalezienie idealnego filmu lub kanału do kodowania, możesz także sprawdzić obszerną bibliotekę filmów LinkedIn Learning, aby uzyskać sprawdzone i profesjonalnie wyglądające samouczki. Chociaż opłata subskrypcyjna za usługę w wysokości 30 USD / miesiąc to nic, na co można kichać, możesz oglądać niezliczoną ilość treści i tematów, dzięki czemu LinkedIn Learning jest lepszą ofertą niż inne zajęcia online na żądanie, które mają irytujące ograniczenia.

Ćwicz z własnymi projektami

Bez względu na to, ile certyfikatów i warsztatów programistycznych ukończyłeś lub na ile języków programowania się uczysz, dowód Twoich umiejętności programistycznych będzie w twoim projekcie programistycznym. Chociaż Twój osobisty projekt nie musi być tak ambitny, jak tworzenie kolejnych Map Google, powinien być czymś, nad czym chciałbyś pracować 24 godziny na dobę, 7 dni w tygodniu, aby stale ulepszać i rozszerzać jego zakres.

Zacznij od małego, ale myśl dużo. Twój projekt powinien obejmować umiejętności, które obecnie posiadasz w swoim zestawie narzędzi, ale powinieneś również mieć plan przyszłych funkcji i umiejętności, których będziesz potrzebować, aby urzeczywistnić tę wizję. Bez zastosowania swoich umiejętności kodowania w kilku projektach nawet nie będziesz brany pod uwagę przy profesjonalnych programach - zacznij więc planować i ćwiczyć. (Nasza rada? Użyj swoich kotletów kodujących, aby zbudować niesamowitą konfigurację na wieczór gry.)

Świętuj małe zwycięstwa

Kodowanie tkwi w szczegółach, dlatego musisz „świętować małe zwycięstwa”, jak to ujął jeden z naszych profesorów programowania. Potrzeba praktyki, aby każdy element działał samodzielnie, a także ciągłe testowanie, aby upewnić się, że każdy wiersz kodu będzie działał z resztą - bez błędów. Jeśli nie robisz pozornie drobnych rzeczy, takich jak zamykanie znacznika HTML, utkniesz w debugowaniu prostego błędu składniowego zamiast pisać bardziej imponujący i złożony kod.

Musisz uzbroić się w cierpliwość; nie oczekuj kodowania następnego po kilku miesiącach nauki lub kilku bootcampach. Kodowanie bezbłędnego ślubnego formularza RSVP na stronie internetowej lub stworzenie prostej, ale poprawnej gry polegającej na prognozowaniu liczb, jest już znaczącym osiągnięciem dla początkującego. Jeśli utkniesz, nie poddawaj się. Powinieneś bezwzględnie szukać pomocy wszędzie, gdzie możesz ją znaleźć, ale także wiedzieć, kiedy zrobić sobie przerwę, aby uniknąć wypalenia zawodowego. A potem spróbuj, spróbuj ponownie.

Google swoje komunikaty o błędach

Oto nasza najlepsza porada dotycząca kodowania: jeśli nie możesz dowiedzieć się, dlaczego Twój kod jest uszkodzony, zawsze możesz poszukać rozwiązań online. Prawdopodobnie nie jesteś pierwszą osobą, która popełniła błąd, a ktoś w Internecie z pewnością znalazł już rozwiązanie twojego problemu. Po prostu „skopiuj i wklej” komunikat o błędzie do Google (lub preferowanej wyszukiwarki), dodaj parę cudzysłowów wokół całej frazy, aby nie tylko wyszukiwać słowa kluczowe, a następnie naciśnij „Enter”. Mam nadzieję, że ten mały trick doprowadzi cię do poprawnej odpowiedzi.

Jeśli nadal masz problemy, zawsze możesz opublikować swoje pytanie na forach programistów, takich jak Stack Overflow, Subreddit programistyczny Reddit lub GitHub. Nigdy nie boli zadzwonić do znajomego lub nieznajomego z Internetu.

Włam się na czyjś kod

Kiedy poddajesz inżynierii wstecznej kod innego użytkownika, testując każdą linię, aby zobaczyć, jak to działa, masz lepsze zrozumienie całościowego obrazu. Dzięki tonom otwartego kodu, który istnieje, możesz dowiedzieć się wszystkiego, badając czyjąś (bezbłędną) pracę. Pamiętaj tylko, aby podzielić się swoim kodem ze społecznością, jeśli pojawi się inspiracja i ulepszysz część programu, z którym bawiłeś się.

Znajdź mentora (lub naucz kogoś innego)

Społeczność programistów jest pełna ludzi, którzy są gotowi pomóc następnemu pokoleniu programistów. GitHub, internetowe spotkanie dla programistów, którzy używają Git do zarządzania projektami kodowania, jest przeznaczone do współpracy online. Programiści nie tylko hostują i dzielą się swoimi projektami z rówieśnikami, ale także zapewniają informację zwrotną do kodu i ogólne porady dla społeczności.

Możesz znaleźć pomocnych mentorów online za pośrednictwem GitHub lub spotkać innych doświadczonych programistów na lokalnym spotkaniu programistycznym lub hackathonie. Gdy zdobędziesz trochę doświadczenia w programowaniu, możesz być w stanie odpowiedzieć na pytania innych ludzi, a nawet uczyć początkującego tego, czego się nauczyłeś - świetny test, czy naprawdę znasz swoje umiejętności.

Weź udział w bootcampie z kodowaniem

Kodowanie bootcampów może budzić kontrowersje: dadzą ci szybkie wprowadzenie i doświadczenie wielu umiejętności, ale mogą nie być twoim złotym biletem do nowej pracy w Google.

Jeśli chcesz zostać profesjonalistą i zostać pełnoetatowym programistą, intensywne i osobiste kodowanie bootcampa może ci pomóc, szczególnie jeśli uczysz się najlepiej w zorganizowanym środowisku z prawdziwymi ludźmi, aby cię zmotywować. Jednak tego rodzaju obozy są często najdroższe i czasochłonne: na naukę oczekujesz 15 000 $ w górę, a dodatkowo koszty utrzymania przez kilka miesięcy, aż do ukończenia studiów.

Na szczęście instytucje takie jak Flatiron School i The Grace Hopper Program oferują stypendia lub odroczone czesne, aby uczynić te bootcampy bardziej dostępnymi dla grup niedostatecznie reprezentowanych, takich jak mniejszości i kobiety w dziedzinie techniki. Zapoznaj się z Raportem kursu, aby uzyskać kompleksowe zestawienie wielu bootcampów online i osobiście - w tym szczegółowe recenzje z ich absolwentów, które pomogą Ci zdecydować, czy bootcamp pomoże Ci spełnić marzenia programistyczne.