interessant

De beste manieren om jezelf te leren coderen

Foto: Christopher Gower (Unsplash)

Als je wilt leren coderen, lijkt het misschien een ontmoedigende, zo niet intimiderende taak om je eerste stappen in dit enorme universum te zetten. Dit is het grote geheim: er zijn tal van gratis (en goedkope) bronnen die u kunt gebruiken om uzelf alle hulp te bieden die u nodig hebt, uzelf nieuwe technieken aan te leren en dit leerproces leuk en spannend te maken - zo opwindend als codering kan worden, tenminste .

Of je nu een volwassene bent die een overstap naar de technische industrie wil maken, een student die de nieuwste taal wil leren, of een hobbyist die gewoon wil begrijpen hoe software en services werken, je hebt alleen een computer en internettoegang nodig om je programmering te starten reis. Maar voordat u een vliegende sprong wagen, zijn hier onze beste tips en middelen om u op weg te helpen.

Stel jezelf de vraag: waarom wil je leren coderen?

Neem een ​​paar minuten (of een dag) de tijd om na te denken over de redenen - de redenen - waarom u een programmeertaal wilt leren. Wees eerlijk tegen jezelf. Probeer je het laagste minimum te leren om een ​​promotie te scoren? Ben je op zoek naar een grote carrièreverandering? Wil je de volgende grootste app maken? Spannend je huisgenoten door je verschillende slimme apparaten te programmeren om iets geweldigs te doen?

Uw antwoord kan helpen bepalen welke programmeertaal (s) u moet beheersen, en wat voor soort inzet (in tijd en geld) uw doel mogelijk vereist. Als het bijvoorbeeld uw droom is om het volgende geweldige besturingssysteem of een geweldig alternatief voor PhotoShop te maken, zou u profiteren van een formele informatica-opleiding die u C ++ leert, evenals meer complexe onderwerpen zoals datastructuur, algoritmen en geheugentoewijzing.

Aan de andere kant, als je een professional in de loopbaan bent die op zoek is naar een overstap naar een technische carrière, is een bootcamp voor de korte termijn wellicht logischer dan een tweede graad schulden aangaan. Als je alleen maar websites wilt bouwen of je Raspberry Pi tot het uiterste wilt duwen, is een combinatie van interactieve tutorials en gratis online cursussen misschien voldoende om je op weg te helpen.

Kies de juiste programmeertaal

Als je eenmaal weet waarom je wilt coderen, kun je gemakkelijker bepalen welke programmeertaal je moet gebruiken. Hoewel er geen enkele "beste" programmeertaal is om te leren, zijn sommige talen gebruikersvriendelijker dan andere. HTML en CSS worden beschouwd als de gemakkelijkste toegangspunten tot de codeerwereld, maar ze zijn alleen echt nuttig voor het ontwikkelen van basiswebsites.

Voor meer interactieve websites met betalingssystemen of databases, moet u Javascript, PHP, SQL en Python kennen om alle componenten te laten zingen. Makers van mobiele apps gebruiken Swift of C om iOS-apps te maken en Java of Kotlin voor Android-apps. Ontwikkelaars van videogames zullen zich wenden tot Unity, of zelfs C #, om hun game-ideeën tot leven te brengen.

Kunt u nog steeds geen beslissing nemen over uw programmeertaal voor beginners? De meeste professionals raden aan om Python, C # of JavaScript te leren, omdat ze de grootste flexibiliteit in hulpprogramma's en carrière bieden. Bekijk deze geweldige infographic waarin je een paar populaire programmeertalen vergelijkt om je te helpen een keuze te maken.

Begin vooral met leren. Als u eenmaal vertrouwd bent geraakt met de ene programmeertaal, kunt u de volgende veel sneller oppakken, zoals het leren van een nieuw muziekinstrument of een andere taal.

Probeer enkele online cursussen uit

Als je meer controle over je lesrooster wilt (of er niet alleen op wilt ingaan), is een online codeercursus misschien een betere optie dan een persoonlijke bootcamp codering. Er zijn echter veel verschillende online klassen die dezelfde programmeertalen onderwijzen, en het kan moeilijk zijn om erachter te komen welke echt uw tijd en geld waard is.

Als je het niet erg vindt om solo te oefenen, bekijk dan The Odin Project, een gratis optie die enkele van de beste open-source inhoud samenbrengt om een ​​coderende newbie in een programmeur te veranderen.

Wil je meer een-op-een coaching en loopbaanvoorbereiding zonder een full-time bootcamp te volgen? Probeer je aan te melden voor de certificeringscursussen voor abonnementsmodellen van Udacity of Treehouse, waar je de mogelijkheid hebt om een ​​tutor om hulp te vragen in plaats van alleen te lijden aan je codeerfouten of vragen. Je kunt niet veel beter doen dan de $ 19 codeerklassen van Udemy (nog minder, als er een uitverkoop is) - zelfs fulltime bootcamp- en computerwetenschapsstudenten melden zich aan voor deze lessen om hun lessen aan te vullen.

Hoeveel cursussen u ook volgt, veel beginners vinden het nog steeds moeilijk om hun relatief basiskennis toe te passen. Daartoe bevelen velen de gratis praktische JavaScript-cursus van Watch and Code aan, die draait om een ​​enkel project dat u voortdurend herhaalt.

Focus op het leren van computationeel denken

In plaats van hyperfocus op het leren van een specifieke programmeertaal, kunt u ook leren op een manier die een computer zal begrijpen. Met andere woorden, verbeter uw vaardigheden in concepten zoals patroonherkenning, algoritmen en abstracties. Er is ook lingo, zoals loops, die ongetwijfeld opduiken in elke taal die je gebruikt. Hoe beter u deze principes begrijpt, hoe gemakkelijker het is om de volgende taal te leren (en daardoor betere producten of projecten te ontwerpen).

Dankzij internet hoef je je niet in te schrijven voor een vierjarig universiteitsprogramma om de basisprincipes van informatica te leren; een aantal klassen op universiteitsniveau zijn gratis online beschikbaar (of een nominale vergoeding).

Ik kan de CS50x-introductie van Computer Science in Harvard niet genoeg aanbevelen. Je kunt de cursus gratis controleren via edX en een certificaat verdienen door alle opdrachten te voltooien, of je kunt in je eigen tempo gaan en alle lezingen bekijken die op YouTube zijn geplaatst. Je kunt je eigen doe-het-zelf-computerprogramma op college-niveau bouwen met deze selectie van vijftien online cursussen (waarvan vele ook worden vermeld in onze Goldavelez.com U-serie).

Krijg een boek

De beste manier om te leren coderen kan zijn dat je van dichtbij en persoonlijk een aantal dode bomen leert kennen - een echt boek dat je van begin tot eind kunt volgen. In een perfecte wereld geeft dit je een uitgebreidere introductie tot codering dan rondspringen van onderwerp naar onderwerp op een website.

Je kunt waarschijnlijk een e-boek vinden voor elke taal of elk framework dat je probeert te leren op GitHub, maar veel webontwikkelaars zweren bij de kleurrijke serie van Jon Duckett over alles van front-to-back-end webontwikkeling.

Als autodidactisch programmeur profiteer je misschien ook van boeken met breder advies over het beroep. Je verbetert je denken en gewoonten, eigenschappen die je kunt toepassen op elke taal die je besluit te leren. Steve McConnell's 900 pagina's tellende Code Complete: A Practical Handbook of Software Construction (2nd Edition) wordt beschouwd als de definitieve gids voor best practices, met op gegevens gebaseerd advies over alles, van projectontwerp tot foutopsporingscode.

Een uitvloeisel van die kolos is Clean Code: A Handbook of Agile Software Craftsmanship van "Uncle Bob" Robert Martin. Martin is van mening dat code efficiënt moet worden geschreven voor eenvoudige tests en schaalbaarheid, waardoor dit een must-read is voor veel moderne ontwikkelteams.

Aangezien programmeren echt draait om het oplossen van problemen, zult u het denkproces en de 'achterkant van de enveloppe' oplossingen waarderen die Jon Bentley deelt in Programming Pearls (2e editie). Elk hoofdstuk eindigt met een aantal uitdagingen die vaak worden gebruikt in technische sollicitatiegesprekken, dus maak dit boek onderdeel van je werkvoorbereiding.

Bekijk enkele interactieve tutorials of coderingsspellen

Laten we eerlijk zijn: het lezen van coderegels op een scherm of in een boek kan eruitzien als wartaal. Als je een voorbeeld in actie ziet, is dat abstracte concept opeens volkomen logisch. Dat is het mooie van interactieve codeerhandleidingen die u op internet kunt vinden.

FreeCodeCamp splitst bijvoorbeeld niet alleen codeconcepten op in kleine stukjes in uw webbrowser, het koppelt ook elk concept aan een relevante oefening die u moet oplossen voordat u verdergaat met het volgende onderwerp. Op deze manier kun je niet gewoon doorgaan naar de leuke dingen; de site dwingt je echt om je code te debuggen terwijl je leert.

Coderingsspellen zijn ook een leuke manier om je voeten nat te maken bij het programmeren. Als je een uur te doden hebt, kun je de eenvoudige Hour of Code-spellen proberen. Bovendien gebruiken veel scholen de Minecraft: Educational Edition al om de basisprincipes van kinderen te programmeren met codeerblokken en zelfs JavaScript. (U kunt deze versie van Minecraft gratis downloaden als u een Office 365 Education-account hebt.)

Wil je een meer complexe tutorial over het ontwikkelen van games die je op je cv kunt zetten? CodinGame is misschien meer geschikt voor de leeftijd als je de hele dag geen zin hebt om blokken te slaan.

Probeer een kinderspeelgoed

Wie zegt dat volwassenen niet kunnen leren van hetzelfde STEAM / STEM-speelgoed en videogames waarmee kinderen verslaafd raken aan codering? Deze producten zijn immers ontworpen om codeerlogica en syntaxis aan te leren zonder snel afgeleid kinderen te vervelen, zodat zelfs volwassen programmeurs ze misschien leuk en leerzaam kunnen vinden.

Als je de relatie tussen hardware en software beter wilt begrijpen, zou je genieten van de Piper Computer Kit 2, waarmee je een Raspberry Pi-computer bouwt. Met behulp van deze doe-het-zelf-laptop kun je leren coderen via de aangepaste Minecraft Story Mode-uitdagingen, de Blockly-taal met slepen en neerzetten gebruiken om fysiek computergebruik te leren, of gewoon een eenvoudige Python uit de vooraf geïnstalleerde lessen halen.

Hoewel je waarschijnlijk niet in staat bent om je eigen BB-8 droid te maken, kun je leren om er een te coderen met Sphero's BOLT. Met behulp van de bijbehorende app kun je je droid-bal besturen met behulp van de coderingsblokken met slepen en neerzetten, Scratch, of een niveau hoger instellen tot JavaScript om meer geavanceerde bewegingen te programmeren.

Leer je favoriete apparaten (en assistenten) nieuwe trucs

Heb je een smarthome-apparaat zoals de Amazon Echo? U kunt uw codeervaardigheden op de proef stellen door aangepaste miniprogramma's te maken om meer functionaliteit uit de digitale assistenten van uw apparaten te halen. Amazon's Alexa kent misschien al veel basisvaardigheden met spraakopdrachten, zoals het lezen van de laatste nieuwskoppen, maar je kunt haar meer gecompliceerde taken leren door te coderen in Node.js, Java, Python, C # of Go. (Of, als je met iets eenvoudiger wilt beginnen, probeer dan de eenvoudigere blauwdrukkenwebsite van Alexa.)

Het is mogelijk dat je interesse in codering beperkter is - je wilt misschien gewoon genoeg Python leren om je Raspberry Pi bijvoorbeeld coole projecten te laten doen. Als dat zo is, kunt u een doe-het-zelfbenadering van leren volgen door de vele projecten te bekijken die anderen op hun website delen.

Door bestaande projecten opnieuw te creëren, leert u meer over de innerlijke werking van uw zeer aanpasbare apparaat. Misschien vind je jezelf zelfs geïnspireerd om nieuwe manieren te creëren om je mini-computer te gebruiken en je verder te verdiepen in de wereld van code. (Je kunt zelfs via Coursera inschrijven voor UC Irvine's Het Raspberry Pi Platform en Python Programming voor de Raspberry Pi Platform-klasse.)

Bekijk video's over codering

Soms is het gewoon gemakkelijker om iemand te zien die je laat zien hoe het is gedaan. Je kunt tegenwoordig allerlei educatieve video's vinden over vrijwel elk codeergerelateerd onderwerp: ex-Googlers die oplossingen delen over codeerinterviews, YouTubers livestreaming hun codeermarathons en zelfs programmeerveteranen die je laten zien hoe je een specifieke fout in elke gewenste taal kunt oplossen.

Ik raad aan om CS Dojo, TheNetNinja en het CS50 YouTube-kanaal van Harvard te bekijken. Als je geen tijd hebt om te zoeken naar een perfecte codeervideo of -kanaal, kun je ook de uitgebreide videotheek van LinkedIn Learning bekijken voor gescreende en professioneel ogende tutorials. Hoewel het abonnementsgeld van $ 30 per maand niets is om te niezen, kun je een onbeperkt aantal inhoud en onderwerpen bekijken - waardoor LinkedIn Learning een betere deal is dan andere on-demand online lessen met vervelende beperkingen.

Oefen met persoonlijke projecten

Ongeacht hoeveel certificaten en codeerworkshops u voltooit, of hoeveel programmeertalen u leert, het bewijs van uw codeervaardigheden ligt in uw programmeerproject. Hoewel uw persoonlijke project niet zo ambitieus hoeft te zijn als het maken van de volgende Google Maps, zou het iets moeten zijn waaraan u 24/7 wilt werken om de reikwijdte voortdurend te verbeteren en uit te breiden.

Begin klein, maar denk groot. Je project moet vaardigheden bevatten die je momenteel in je gereedschapskist hebt, maar je moet ook een plan hebben voor toekomstige functies en vaardigheden die je nodig hebt om die visie werkelijkheid te laten worden. Zonder je codeervaardigheden in een paar projecten toe te passen, zou je zelfs niet in aanmerking komen voor professionele codeeravonden - dus begin met plannen en oefenen. (Ons advies? Gebruik je codeerkarbonades om een ​​geweldige set-up te bouwen voor de spelavond.)

Vier kleine overwinningen

Codering zit in de details, daarom moet je 'kleine overwinningen vieren', zoals een van onze programmeerprofessoren het uitdrukte. Er is oefening voor nodig om elk element op zichzelf te laten werken, evenals constante testen om ervoor te zorgen dat elke coderegel met de rest werkt - zonder fouten. Als je ogenschijnlijk kleine dingen niet goed doet, zoals het sluiten van een HTML-tag, zit je vast in het debuggen van een eenvoudige syntaxisfout in plaats van het schrijven van meer indrukwekkende en complexe code.

Je moet geduld hebben met jezelf; verwacht niet om de volgende te coderen na slechts een paar maanden studie of een paar bootcamps. Het coderen van een foutloos bruiloft RSVP-formulier op een website, of het maken van een eenvoudig maar correct nummervoorspellingsspel, is al een belangrijke prestatie voor een beginner. Als je vastloopt, geef niet op. Je moet absoluut overal hulp zoeken, maar ook weten wanneer je een pauze moet nemen om burn-out te voorkomen. En probeer het dan opnieuw.

Google uw foutmeldingen

Dit is ons beste codeeradvies: als u niet kunt achterhalen waarom uw code is gebroken, kunt u altijd online naar oplossingen zoeken. U bent tenslotte waarschijnlijk niet de eerste die uw fout maakt en iemand op internet heeft zeker al een oplossing voor uw probleem gevonden. "Kopieer en plak" uw foutmelding in Google (of uw favoriete zoekmachine), voeg een paar aanhalingstekens toe rond de hele zin zodat u niet alleen naar trefwoorden zoekt en druk op "Enter". Hopelijk is deze kleine trick leidt je naar het juiste antwoord.

Als je nog steeds problemen ondervindt, kun je je vraag altijd op forums van ontwikkelaars plaatsen, zoals Stack Overflow, Reddit's programmering subreddit of GitHub. Het doet geen pijn om een ​​vriend of internetvreemdeling te bellen.

Hack de code van iemand anders

Wanneer u de code van iemand anders reverse-engineert en elke regel test om te zien hoe deze werkt, krijgt u een beter inzicht in het grote geheel. Dankzij de tonnen en tonnen open-source code die er zijn, kun je zowat alles leren door het werk van iemand anders te onderzoeken. Vergeet niet om uw code terug te delen met de community als inspiratie toeslaat en u een deel van het programma waarmee u aan het spelen was, hebt verbeterd.

Zoek een mentor (of leer iemand anders)

De programmeergemeenschap zit vol met mensen die bereid zijn de volgende generatie programmeurs te helpen. GitHub, de online hangout voor ontwikkelaars die Git gebruiken om hun coderingsprojecten te beheren, is ontworpen voor online samenwerking. Ontwikkelaars hosten en delen niet alleen hun projecten met hun collega's, ze geven ook codefeedback en algemeen advies aan de gemeenschap.

Misschien kun je via GitHub een aantal handige online mentoren vinden of andere ervaren ontwikkelaars ontmoeten tijdens een lokaal Meetup-evenement of hackathon. Als je eenmaal wat ervaring hebt opgedaan met programmeren, kun je misschien de vragen van andere mensen beantwoorden, of zelfs leren wat je hebt geleerd aan nieuwkomers - een geweldige test om te zien of je je dingen echt kent.

Woon een coderende bootcamp bij

Bootcamps coderen kan controversieel zijn: ze geven je een snelle introductie en ervaring met veel vaardigheden, maar ze zijn misschien niet je gouden ticket voor een gloednieuwe Google-baan.

Als je pro wilt worden en een fulltime ontwikkelaar wilt worden, kan een intensieve en persoonlijke codering bootcamp je helpen, vooral als je het beste leert in een gestructureerde omgeving met echte mensen om je te motiveren. Dit soort bootcamps zijn echter vaak de duurste en meest tijdrovende om bij te wonen: je kijkt naar meer dan $ 15.000 voor alleen het collegegeld, plus de kosten van levensonderhoud voor een paar maanden totdat je afstudeert.

Gelukkig bieden instellingen zoals de Flatiron School en het Grace Hopper-programma beurzen of uitgesteld collegegeld om deze bootcamps betaalbaarder te maken voor ondervertegenwoordigde groepen zoals minderheden en vrouwen in de technologie. Bekijk het cursusrapport voor een uitgebreid overzicht van de vele online en persoonlijke bootcamps, inclusief gedetailleerde beoordelingen van hun alums, die u kunnen helpen beslissen of een bootcamp u zal helpen uw programmadromen te bereiken.