Je kunt lezen en schrijven – toch?
De kans is groot dat je het kunt.
Volgende vraag: Kun je code lezen en schrijven?
De kans is groot dat je dat niet kunt.
Eén procent van de Amerikanen is een professionele programmeur. Maar voor de overige 99 procent van ons is leren coderen, inclusief het begrijpen van de beste programmeertalen, misschien wel bijna net zo belangrijk als goed oud lezen, schrijven en rekenen.
Tenminste, dat dacht Steve Jobs. De medeoprichter van Apple zei in 1995: “Ik denk dat iedereen in dit land zou moeten leren hoe je een computer moet programmeren, omdat het je leert hoe je moet denken.”
Tal van andere mensen en organisaties hebben zich aangesloten bij de hype om te leren coderen: in 2013 lanceerde een non-profitorganisatie genaamd Hour of Code een campagne om mensen aan te moedigen om te beginnen met coderen, met steun van Apple, president Barack Obama, Microsoft-oprichter Bill Gates en Facebook-oprichter Mark Zuckerberg.
In 2014 voegde Engeland codeervaardigheden toe aan zijn landelijke curriculum. En er zijn talloze startups en non-profitorganisaties ontstaan om aan de vraag naar training te voldoen; In de afgelopen drie jaar hebben 260 miljoen mensen gebruik gemaakt van de gratis Uur codetraining .
Hier is een stap-voor-stap handleiding om u van code-newbie naar betweter te brengen.
1. Begrijp wat codering is.
Coderen is simpelweg een manier om een machine te vertellen wat hij moet doen.
Als je zin hebt in een diepe duik, kun je dit essay van 38.000 woorden lezen dat de vraag “Wat is code?”
“Codering” is de meest voorkomende term die wordt gebruikt door educatieve sites, maar het is een beetje complexer dan dat. Ten eerste is er niet één manier om te coderen – er zijn talloze talen die worden gebruikt om te coderen voor verschillende soorten projecten. Ten tweede maakt weten hoe je met een bepaalde taal moet coderen je nog geen programmeur of ontwikkelaar.
Hoewel er enige discussie is over de overlap van coderen, programmeren, ontwikkelen en andere gerelateerde bezigheden, zijn de meeste mensen het erover eens dat om verder te gaan dan coderen, je logica en algoritmen moet kunnen begrijpen, verschillende systemen en talen met elkaar moet kunnen verbinden en communiceren en samenwerken met andere mensen.
2. Begrijp hoe coderen u kan helpen.
Verbeter de digitale geletterdheid. Omdat machines overal zijn, is het een behoorlijk nuttige vaardigheid om te weten hoe je met ze moet praten. U kunt de digitale tools die u elke dag gebruikt beter begrijpen en ze beter voor u laten werken.
Ontwikkel vaardigheden. Leren coderen kan zowel harde als zachte vaardigheden bevorderen waar je in je carrière en leven profijt van zult hebben. De harde vaardigheden helpen je om coole dingen te doen: websites, apps, games en software maken; analyseer een web van gegevens; complexe taken automatiseren; of een aantal problemen aanpakken.
De soft skills helpen je beter te denken en te werken: je wordt gepusht om ideeën te modelleren en te herhalen, problemen te identificeren en op te lossen, en te werken binnen een samenwerkende gemeenschap.
Verbreed je horizon. Leren coderen breidt je mogelijkheden uit, net zoals leren lezen en schrijven je in staat stelt om een wereld van ideeën te verkennen en uit te drukken. Mitch Resnick van MIT Media Lab zei in een TED-talk: “Als je leert lezen, lees je om te leren. En het is hetzelfde met coderen: als je leert coderen, kun je coderen om te leren.”
Problemen oplossen. Leer niet coderen omwille van de codering – leer omdat je code wilt gebruiken als hulpmiddel om problemen op te lossen. “Voordat je überhaupt naar programmeren kijkt, moet je een probleem uitzoeken waar je enthousiast over bent, iets dat je zal motiveren om meer te weten te komen over de beschikbare talen en tools”, adviseert programmeur en vlogger Kevin Gisi. “En als je eenmaal dat hele coole ding hebt gebouwd, zul je ontdekken dat je onderweg per ongeluk veel vaardigheden hebt opgepikt.”
3. Kies je pad.
Onthoud voordat je begint het advies van Gisi: zoek uit wat je wilt doen met je toekomstige codeervaardigheden. Het is om twee redenen belangrijk om dat uit te zoeken: ten eerste worden verschillende programmeertalen voor verschillende dingen gebruikt, dus je wilt er zeker van zijn dat je de taal leert die het beste bij je doelen past. Ten tweede motiveert het hebben van een specifiek, zinvol doel je om door te gaan.
“Leren programmeren is als het oefenen van toonladders”, zegt Gisi. “Het gaat je een heel sterke muzikant maken, maar als je dat jarenlang doet zonder ooit een nummer te spelen, raak je erg gefrustreerd. Het is een stuk makkelijker om iets te leren als je een reden hebt om het te willen weten.”
Dus welke taal moet je leren?
De subreddit Leren programmeren (een subreddit is een forum over een bepaald onderwerp – als je niet bekend bent met Reddit, hier is een inleiding) biedt deze gids om te bepalen welke taal je als eerste moet leren:
Ik wil leren hoe | Overweeg dan om |
Maak iPhone-apps | Snel |
Android-apps maken | Java |
Bouw een website | JavaScript, CSS, HTML5 |
Windows-desktoptoepassingen schrijven | C# |
Maak 2D-spellen | Python of JavaScript |
Maak 3D-spellen | C# of C++ |
Programmeer Arduino’s/microcontrollers/robots | C |
Doe wetenschappelijke/wiskundige berekeningen of data-analyse | Julia, Python, R of Matlab |
Automatisatie en scripting uitvoeren | Vele talen (Python, Ruby, Bash, Powershell, AutoHotKey…) |
Andere bronnen om u te helpen bij het vinden van uw overeenkomst in de programmeertaal:
- Dit stroomschema
- Deze quiz
- Dit kies-je-eigen-avontuur
- Dit lange essay (scroll naar beneden naar sectie 7.1)
4. Kies je cursus.
Bekijk onze ultieme bronnenlijst voor het leren coderen voor een samengestelde lijst met sites die hoog worden gewaardeerd door gebruikers, aanbevolen door ervaren programmeurs en geassocieerd met bekende instellingen.
Alle sites op de lijst bieden cursussen aan voor mensen zonder programmeerervaring. Elke lijst beschrijft de soorten cursussen die worden aangeboden, de kosten, de tijdsbesteding, het ervaringsniveau en een greep uit de behandelde onderwerpen.
Hoewel veel cursussen gratis zijn, worden cursussen die gericht zijn op mensen die op zoek zijn naar een carrière in programmeren meestal betaald. Tussen alle opties vindt u er zeker een die bij u past.
5. Zorg voor een ondersteuningssysteem.
Code kan intimiderend zijn, maar je bent niet de enige: de programmeergemeenschap hecht veel waarde aan samenwerking. U kunt als volgt hulp krijgen:
Zoek een maatje. Zelfs als je buddy ook een nieuweling is, kun je elkaar verantwoordelijk houden en samen uitdagingen aangaan. Zoek een buddy op Perunity of de programmeermaatjes subreddit. Je kunt ook lokale vrienden vinden door te zoeken Meetup voor interessegroepen gericht op wat je leert. Girl Develop It heeft hoofdstukken die vrouwen helpen netwerken en samenwerken om te leren en te oefenen met programmeren.
Zoek een mentor. Mentoren kunnen je helpen als je vastloopt en ervoor zorgen dat je op de goede weg bent. Vind er een op CodeMentor of de subreddit van Code Mentors .
Vraag een forum aan. Het meest populaire programmeerforum is Stack Overflow, gevolgd door Reddit – de algemene programmeersubreddit is Learn Programming, en er zijn veel andere subreddits die specifiek zijn voor een bepaalde programmeertaal of een smaller interessegebied.
Stel goede vragen. Om (gratis!) hulp te krijgen bij het coderen, moet je de onofficiële gedragscode voor het stellen van vragen volgen. Als mensen het gevoel hebben dat je hun tijd verspilt, krijg je geen reactie of een snarky. Overweeg deze tips:
- Voordat je een bericht plaatst, zoek je op het forum om te zien of je vraag al is beantwoord.
- Schrijf een beschrijvende titel en bericht. De Leer programmeren subreddit gebruikt deze voorbeelden: BAD: “Wat is hier mis mee?” GOED: “[C++] Segmentatiefout tijdens het schrijven naar array in een for-lus.” (De programmeertaal staat tussen haakjes en beschrijft zowel de poging tot taak als het probleem.)
- Laat zien dat je moeite hebt gedaan om je probleem aan te pakken en dat je niet verwacht dat mensen het harde werk voor je doen. Vermeld welke methoden u tot nu toe hebt geprobeerd om uw probleem aan te pakken.
- Dit artikel over het stellen van slimme vragen bevat meer goede adviezen en is ook een nuttige introductie tot het specifieke karakter van de programmeergemeenschap.
6. Ga verder dan de basis
Het is waar dat je snel de basis van code kunt leren. Maar net zoals het leren van Engels (of een andere taal) je geen groot romanschrijver maakt, maakt het leren van code je geen groot programmeur. Dat vergt veel oefening.
Erik Trautman, oprichter van Viking Code School, merkte zelfs op dat na de “hand-holding honeymoon” van online codeercursussen voor beginners, veel mensen van de “klif van verwarring” vallen in de “woestijn van wanhoop” terwijl ze worstelen om naar gemiddelde en gevorderde niveaus te gaan en wat ze hebben geleerd toe te passen op problemen uit het echte leven.
De oplossing: blijf oefenen en jezelf pushen naar zinvolle doelen. Ga naar een van deze sites om projectideeën te vinden, jezelf uit te dagen en te concurreren en samen te werken met anderen:
- Code Abdij
- CoderByte
- CodeChef
- CodeEval
- Codekrachten
- CodeWars
- CodinSpel
- Dagelijkse programmeur subreddit
- Oefening
- HackerEarth
- Hacker Rang
- Oefenoefeningen voorgesteld door de subreddit Leren programmeren
- Project Euler
- Sphere Online Rechter
Met wat oefening kom je al snel in de fase voorbij de ‘woestijn van wanhoop’ – Trautman noemt het de ‘opleving van geweldig’.
Holly Munson is een freelance schrijver, redacteur en contentstrateeg gevestigd in Philadelphia. Ze rapporteert al zeven jaar over zakelijke trends en heeft ook gewerkt in marketing, tijdschriften en musea.