Ik ben zelf ongeveer 5 jaar geleden begonnen met programmeren en zat met dezelfde vraag: waar te beginnen? Ik heb in de loop van de tijd een aantal leermethodes uitgeprobeerd die ook in dit forum de revue passeren.
Wat voor mij het beste werkte waren gewoon programmeerboeken. De 2 beste programmeerboeken die ik heb gelezen zijn:
Python Crash Course / Eric Matthes. Met dit boek leer je eerst in deel 1 de basisbeginselen van programmeren in Python 3 (tevens staan er wat voorbeelden in over Python 2). Ieder hoofdstuk bevat in oplopende moeilijkheid opdrachten gebaseerd op de te bestuderen stof. Erg schools maar zeer leerzaam. Zoals ik al zei, je begint bij de absolute basis met variabelen en eenvoudige datatypes en werkt je zo op naar complexere zaken als classes en je eigen code testen. Deel 2 bevat een 3tal projecten; je maakt een game, doet wat data science en kunt een website bouwen op een Django framework.
Learn Python the Hard Way / Zed A Shaw. Dit was ook een erg leerzaam boek. De auteur bouwt in in 52 opdrachten je Pythonkennis stap voor stap uit en doet dat door alle basisbeginselen in eigen code voor te schotelen, deze moet je dan zelf overtikken (hij legt erg de nadruk op overtikken en niet kopieren), en dan vervolgens je eigen code bij deze opdrachten te ontwikkelen. Dit gebeurt in oplopende moeilijkheid. Hij laat je steeds vrijer totdat je uiteindelijk zelf een project bouwt van scratch.
Beide boeken introduceren je ook met de Commandline en de benodigde commandos om je code die je schrijft in je editor te laten werken.
Ik heb ook CodeCademy en een aantal vergelijkbare sites uitgeprobeerd en was wisselend enthousiast. Ik begrijp dat dit kan werken voor sommige beginnende programmeurs, de nadruk ligt immers erg op doen, maar met een boek en een opdracht leerde ik toch meer. Veel meer.
Daarbij, om CodeCademy als voorbeeld te nemen, wordt absolute beginners vaak geadviseerd om te starten met front-end design, door HTML5 en CSS3 te behandelen, en daarna over te stappen naar het daadwerkelijke programmeerwerk in JavaScript, eveneens front-end. Op zich is daar niets mis mee, maar als je wil beginnen met programmeren is er natuurlijk meer dan front-end. (Tegenwoordig biedt CodeCademy van die leerpaden, maar dat was na mijn tijd dus ik weet niet wat de kwaliteit daarvan is).
FreeCodeCamp is redelijk briljant, maar eveneens start het weer bij HTML5 en CSS3. Daar staat geloof ik 300uur voor volgens de website. Daarna ga je pas echt programmeren in JavaScript. Nogmaals, dit is prima, als je front-end development wil doen. Maar als je wil beginnen met programmeren, dan is er veel meer te ontdekken.
Maar uiteraard waren boeken en online cursussen lang niet genoeg. Toen ik de basisbeginselen van Python onder de knie had, kwam ik weer met dezelfde vraag te zitten: wat nu? Veel andere programmeurs adviseren je om je eigen scripts e.d. te gaan ontwikkelen. En dat is erg goed advies. Alleen als je nog niet zeker bent van je eigen kunnen, dwz. je hebt dat coding idee, maar nog lang niet de know-how om dit te realiseren, dan adviseer ik je, als nog steeds lerende programmeur, de volgende websites te checken:
www.codewars.com
www.hackerrank.com
www.coderbyte.com
Op deze websites moet je steeds kleine programmeeropdrachten uitvoeren. Sommige zijn heel eenvoudig, andere weer niet. Echter via deze websites leer je, nadat je de basis hebt geleerd, echt programmeren. Dwz, je leert oplossingen op vragen te verzinnen en deze te vertalen in code. Want dat is programmeren in de basis: het oplossen van problemen doormiddel van een programmeertaal. Ik zweer bij deze opdrachten. Probeer niet klakkeloos de code te kopieren van andere programmeurs. Maar probeer via bronnen als Github, StackOverflow en andere codingfora om tot een eigen oplossing te komen.
Ik hoop dat je wat hebt aan mijn reactie. Dit was en is nog steeds mijn programmeerweg. Hoe die van jou eruit gaat zien zul je zelf moeten ontdekken.
Happy coding!