Advertentie
Toen Apple in 2014 Swift aankondigde, waren mensen terecht sceptisch. Niemand wist of het zou aanslaan, en velen vroegen zich af of dat nog nodig was een ander programmeertaal om te leren.
Maar toen ging Swift in 2015 open source en hoewel het niet van de ene op de andere dag explodeerde, is de taal gestaag gegroeid. Er is nog nooit een beter moment geweest om te leren! We hebben zowel online Swift-zelfstudies als mobiele Swift-zelfstudies behandeld, maar waar ga je heen als je de basis eenmaal onder de knie hebt?
Als je eenmaal vertrouwd bent met de taal, overweeg dan om je vaardigheden te testen met deze Swift-codeeruitdagingen. Ze zijn niet alleen leuk en stimulerend, maar ze geven je ook het vertrouwen dat je nodig hebt in je eigen kunnen.
Codewars is de beste plaats voor het oefenen van alle soorten coderingsuitdagingen, inclusief Swift. Het hele systeem is gamified, wat betekent dat je ervaring opdoet en een niveau omhoog gaat bij elke succesvolle uitdaging. Het gebruikt een vergelijkbaar classificatiesysteem als Go: je begint bij 8 Kyu en gaat helemaal door naar 1 Kyu.
Uitdagingen ("kata" genoemd) worden ingedeeld naar moeilijkheidsgraad. Gelukkig zijn er duizenden beschikbare uitdagingen, dus zelfs als je te snel een level omhoog gaat, kun je altijd teruggaan en aan de gemakkelijkere werken. Uitdagingstypen zijn onder meer algoritmen, gegevenstypen, manipulatie van tekenreeksen en getallen, controleflow, puzzels, logica en meer.
Wat ik zo leuk vind aan Codewars is tweeledig: ten eerste kun je door het afronden van een kata de ingediende oplossingen zien door andere gebruikers, en ten tweede kunnen gebruikers hun eigen kata's maken, zodat de verzameling uitdagingen groeit dagelijks. Het is echt een van de beste coderingsspellen om je vaardigheden aan te scherpen De 9 beste coderingsspellen om je programmeervaardigheden op te bouwenCoderingsspellen helpen je sneller te leren met praktische oefening en ervaring. Bovendien zijn ze een leuke manier om je programmeervaardigheden te testen! Lees verder .
De Swift-codering daagt uit CodinGame zijn meer betrokken dan die op Codewars, en dat komt omdat de uitdagingen van CodinGame zijn ontworpen als games. Bij de "Power of Thor" -uitdaging verplaats je bijvoorbeeld de positie van Thor zodat hij het Licht van Kracht in zo min mogelijk stappen kan bereiken.
Uitdagingen zijn onderverdeeld in moeilijkheidsgraden, variërend van eenvoudig tot gemiddeld tot moeilijk tot zeer moeilijk. Er zijn ook door de community gemaakte puzzels die je kunt proberen als je geen officiële puzzels meer hebt. Pas op dat de uitdagingen van CodinGame behoorlijk moeilijk zijn, maar je zult veel leren in de strijd.
Naast solo-uitdagingen biedt CodinGame ook coderingsgevechten van vijf minuten voor meerdere spelers (waar je het probeert om zoveel mogelijk uitdagingen te voltooien) en grotere community-brede wedstrijden (die elke maand of twee).
CodeChef biedt uitdagingen die lijken op het coderen van huiswerkproblemen. Ze zijn onderverdeeld in categorieën voor beginners, eenvoudig, gemiddeld, moeilijk en uitdagend (plus een extra categorie genaamd peer voor door de gebruiker gemaakte uitdagingen).
Er zijn honderden uitdagingen beschikbaar en deze kunnen behoorlijk moeilijk worden. Ter vergelijking: de meeste beginners hebben meer dan 1.000 succesvolle inzendingen, de gemiddelde gemiddeld honderden, maar de uitdagingen breken zelden 100 succesvolle inzendingen. Het is een goede gewoonte voor zowel nieuwkomers als veteranen.
CodeChef heeft ook wedstrijden. Ze bieden niet allemaal prijzen, maar de officiële CodeChef-wedstrijden kunnen prijzenpotten hebben tot $ 700.
DailyProgrammer is een Reddit-community voor programmeurs die hun moed willen testen met de moeilijkere coderingspuzzels die je op internet tegenkomt. Vroeger was het een dagelijks iets, maar laetly was het elke 2-3 dagen of zo.
Het leuke is dat uitdagingen zijn gemarkeerd als Eenvoudig, Gemiddeld of Moeilijk. Het slechte nieuws is dat zelfs de Easy-uitdagingen, met name de recentere, behoorlijk moeilijk kunnen zijn voor beginners. Je kunt echter altijd in de archieven duiken en oude uitdagingen opnieuw bekijken als je wilt.
Project Euler is bijna een zelfgestuurde reeks Swift-coderingsuitdagingen. De archieven bevatten in totaal 600 uitdagingen (genaamd 'Problemen'), maar ze bevatten geen antwoorden, oplossingen of discussies. Meestal is het gemakkelijk om te weten wanneer je het probleem hebt opgelost, maar soms ook niet - en dat kan frustrerend zijn.
Bovendien zijn de uitdagingen van Project Euler voornamelijk wiskundig en logisch van aard. U kunt dit allemaal oplossen zonder dat u hoeft te programmeren. Maar als een manier om je hersenen te oefenen, zijn ze fantastisch. En aangezien programmeren draait om het oplossen van echte problemen met code, is dit in wezen hetzelfde.
TopCoder‘De uitdagingen verschillen een beetje van de rest in dit artikel, simpelweg omdat het multiplayer-wedstrijden zijn dan solo-puzzels. Je moet je van tevoren registreren en dan moet je ze voltooien voordat de tijd om is.
Het verschil is dat de uitdagingen van TopCoder gepaard gaan met een flinke prijsuitbetaling. Zie in de bovenstaande schermafbeelding dat er op het moment van schrijven vier uitdagingen in uitvoering zijn waarbij duizenden dollars op het spel staan. Niet slecht als je je vaardigheden eenmaal hebt aangescherpt. Het is een goede manier om je wereldbereidheid als Swift-coder te testen.
Het enige nadeel is dat elke uitdaging alleen een specifieke taal of groep talen ondersteunt. Hoewel Swift-coderingsuitdagingen bestaan, is er misschien maar één per maand of zo.
Coderbyte is misschien niet zo volledig als sommige van de andere uitdagingssites hierboven, maar het is nog steeds een uitstekende manier om Swift te oefenen. De uitdagingen (onderverdeeld in Easy, Medium en Hard) worden geleverd met officiële en door de gebruiker ingediende stapsgewijze oplossingen, plus een discussiegebied voor vragen.
Uniek aan Coderbyte is de sectie Algoritmen, waar je allerlei algoritmen kunt leren: boomtraversals, bereikoverlappingen, maximalisatie van aandelenkoersen, matrixsommaties, sorteerimplementaties en meer. Perfect voor beginners.
Helaas krijgen gratis gebruikers slechts toegang tot 10 uitdagingen en oplossingen. Een premium account kost $ 29 / maand (of een veel redelijkere $ 150 / jaar). Is het de moeite waard? Gebruik je 10 gratis uitdagingen en overtuig jezelf!
Nog enkele manieren om Swift te oefenen
Als Swift je eerste programmeertaal is, houd dan rekening met onze tips voor leren programmeren zonder stress Programmeren leren zonder alle stressMisschien heb je besloten om te gaan programmeren, voor een carrière of gewoon als hobby. Super goed! Maar misschien begin je je overweldigd te voelen. Niet zo goed. Hier is hulp om uw reis te vergemakkelijken. Lees verder en onze tips voor een nieuwe programmeertaal beheersen 7 Handige trucs voor het beheersen van een nieuwe programmeertaalHet is prima om overweldigd te worden als je leert programmeren. U vergeet de dingen waarschijnlijk net zo snel als u ze leert. Deze tips kunnen u helpen om al die nieuwe informatie beter te bewaren. Lees verder . In het begin kan het moeilijk zijn, maar blijf erbij!
Als je eenmaal vertrouwd bent met Swift, kun je verder gaan deze iOS-app projectideeën Dus je wilt iPhone-apps maken? 10 projecten voor beginnersWilt u iPhone- en iPad-apps maken? Begin met het leren van de basis van Swift. Lees verder en deze algemene ideeën voor programmeerprojecten 5 Projectideeën om u te helpen sneller te leren programmerenEr zijn een paar manieren om de leercurve voor programmeren te vergemakkelijken. Maak je handen vuil en leer sneller met zijprojecten die je op elk moment kunt starten. Speel met deze vijf. Lees verder . Niets wekt meer programmeervertrouwen dan het nastreven van een echt project en daarin slagen.
Hoe bevalt Swift je als taal? Wat is je favoriete manier om programmeren te leren en te oefenen? Deel het met ons in de comments!
Joel Lee heeft een B.S. in computerwetenschappen en meer dan zes jaar professionele schrijfervaring. Hij is de hoofdredacteur van MakeUseOf.