17 kodingsutfordringer for å skjerpe din kritiske tenkning

Hvis du ønsker å forbedre ferdighetene dine i et eksisterende eller et nytt programmeringsspråk, er en av de beste måtene å gjøre det på gjennom kodingsutfordringer.

Mange plattformer og nettsteder har blitt tilgjengelige i løpet av årene, og gir spennende utfordringer for programmerere på alle nivåer. Enten det er et nytt språk du prøver å lære eller ønsker å teste vettet ditt i stressende situasjoner – kodeutfordringer kan være både morsomme og en test på samme tid.

Fordelene, bortsett fra det åpenbare, ved å jobbe med disse utfordringene inkluderer bedre problemløsningsevner, inngående språkforståelse og gleden ved å lære nye algoritmer. Som du vet, Algoritmer er ikke uvanlige under ansettelsesprosessen — så å ha noen tenner i spillet kan gi deg en overhånd.

Dette innlegget dekker noen av de beste nettstedene og plattformene for kodeutfordringer som finnes. Noen er nybegynnervennlige, mens andre henvender seg til et mer erfarent publikum. Vi legger også til noen ting du kan vise barna dine siden barnevennlig koding har også blitt ganske populær.

Edabit

Den enkleste måten å lære nye ting på er å ha konsekvent interaksjon med det du prøver å lære. Slik er det også med programmering. Å lese de beste bøkene vil gi deg null kunnskap med mindre du setter det skrevne ord i praksis.

Edabit er en etablert plattform som tilbyr bite-sized kodeutfordringer, som raskt kan forbedre dine kodeevner.

HackerRank

HackerRank er en oppstart som fokuserer på å tilby kodeutfordringer for enkeltpersoner og organisasjoner. Avhengig av utfordringen får du oftest instruksjoner for et prosjekt som må fullføres, og hvordan du fullfører det er opp til deg.

Foreløpig kan utviklere bruke Java, Python, JavaScript, PHP, C++ og SQL for å løse de oppgitte utfordringene.

Hver gang du sender inn løsningene dine, scorer plattformen automatisk innsendingen din basert på faktorer som nøyaktighet. Etterpå blir du plassert på den globale ledertavlen, mens du dyrker prestasjoner (merker) underveis. Det er også «sprints», som er en annen betegnelse for konkurranser som arrangeres av plattformer.

House of Codes skrev et spennende stykke som skildrer de 50 beste utfordringene funnet i Hacker Rank. Hvis du har nysgjerrigheten til det, er det verdt å lese, med massevis av eksempler og materiale.

Coderbyte

Coderbyte er en unik app basert på moderne programmeringspraksis. Kjernefunksjonen er kodingsutfordringer, som har hjulpet millioner av mennesker over hele verden til å bli bedre utviklere. I motsetning til lignende apper på markedet, Coderbyte er dedikert til å hjelpe folk med å takle problemer på industrinivå.

En av fordelene ved å bruke denne plattformen er at den jobber sammen med noen av de ledende programvaremerkene. For eksempel Google, LogMeIn, HBO, PWC og mange andre. Hvis du noen gang ønsker å få en jobb i slike selskaper, kan du være trygg på at Coderbyte kan gi deg de nødvendige utfordringene for å teste ferdighetene dine.

Når du har registrert deg, kan du velge mellom utfordringer og algoritmer. Det er hundretusenvis av brukerinnsendte løsninger, som kan hjelpe deg med å få en mye bredere forståelse av spesifikke programmeringsemner.

  Slik finner du posisjonsloggen din på iPhone eller iPad

Organisasjoner kan registrere seg og administrere screeningsprosessen. Ved å bli en registrert organisasjon får du tilgang til tilleggsverktøy som kan hjelpe til med å screene hver utvikler individuelt.

Kodekriger

Det fine med konsekvent kodingspraksis er at du alltid kommer opp med nye måter å løse problemer på. Kodekriger utnytter denne ideen. Basert på «katas» tilbyr plattformen øvelser og utfordringer på et stort utvalg av språk.

Når du fullfører de nevnte øvelsene, kan du få poeng, men også sjekke hvordan andre programmerere løste et spesifikt problem.

Hvis du har tenkt å øve på et nytt språk, er Codewars et eksepsjonelt nettsted å legge til bokmerkene dine.

Her er noen av de støttede språkene:

  • Clojure
  • Rust
  • Fort
  • Python
  • Haskell
  • Shell
  • JavaScript
  • PHP
  • Kotlin
  • Scala

Og mange andre språk er i BETA-programmet, tilgjengelige, men med potensielle flaskehalser.

I utgangspunktet ønsker Edabit å tilby en plattform som kan bygge bro mellom nybegynnere og avanserte kodere. Du kan sjekke ut Veikart for å se hele funksjonslisten.

CodinGame

Spill som læringsplattform er ikke en helt ny ting, men det ser ut til å være mange flere spillere på feltet nå. CodinGame er bare en av mange plattformer som gir programmeringsutfordringer gjennom en gamified opplevelse. I stedet for å skrive blank kode, bygger du et spillmiljø i stedet. All koden du skriver, påvirker på noen måter måten «spillet» går på.

Etterpåklokskap, plattformer som CodinGame kan hjelpe teknologiutviklere mye om årsak og virkning. Og hvordan bestemte avgjørelser fører til spesifikke utfall.

Dette er ikke bare en av de billige sidene hvor du skriver slurvete JavaScript-kode. CodinGame involverer noen algoritmer på toppnivå og har utallige kodere i verdensklasse som hjelper til med å tilby løsninger til både nye og erfarne utviklere.

HackerEarth

HackerEarth er en velkjent plattform som kjører hackathons, kodeutfordringer og forskjellige typer konkurranser.

Det er også et sted hvor du kan få litt interessant kunnskap om ansettelsesprosessen i moderne selskaper. Ikke alle, men en god del av utfordringene som finnes i HackerEarths database kan ende opp med å bli spurt i alle fremtidige jobbintervjuer.

Og hvordan er det mulig? Vel, mest fordi HackerEarths virkelige mas er å tilby rekrutteringsløsninger til førsteklasses teknologiselskaper. Hvis du vil bli ansett som den beste, må du henge med de beste. Det er en vinn-vinn-situasjon for deg.

Programr

Programmr er et dynamisk digitalt laboratorium for alle nivåer av utviklere. Med Programr, kan du skrive kode, kompilere den og utføre prosjekter direkte fra nettleseren din. Plattformen støtter alle hovedspråk som brukes i dag. Enten det er en mobilapp eller en databasestruktur du vil kjøre – Programmr har mot til å støtte det.

På utfordringssiden har Programmr et tilpasset sett med utfordringer for Java, C++, PHP, C#, Ruby, Python og iOS. Hvert sett inkluderer 100+ utfordringer, som kan sorteres etter popularitet (basert på brukerstemmer) og andre faktorer.

Det som skiller disse gutta fra andre er at du kan bruke dine nyvunne erfaringer til å få umiddelbar tilbakemelding, enten det er et sertifikat for et spesifikt språk, eller bare tilbakemeldinger fra eksisterende brukere.

  Slik sletter du en profil fra Netflix

Kodetoget

Daniel Shiffman er en selvlaget enmannshær, som lager og produserer flott materiale om programmering. Kodetoget er Daniels» personlige YouTube-plattform, hvor han delte spennende og nyttige videoer for å takle programmeringsrelaterte problemer.

Men han har denne interessante tilnærmingen. I stedet for å være vert for alt på nettstedet sitt, bruker han YouTube som plattformen for utfordringen, og nettstedet hans som plattformen for løsningen.

Hold deg i form som hans utfordringer er basert på P5.js og Behandling — to populære løsninger brukt innen kunst og grafisk design.

Wolfram utfordringer

Wolfram er et av de mest kjente selskapene i verden som opererer under datavitenskapsgrenen. Plattformen deres har gjort mange målløse av sine muligheter.

Selv om vårt fokus ikke er på Wolfram Alpha, en ny grense introdusert tidlig i 2018 — Wolfram utfordringer.

Det er mange eksempler på utfordringer man kan tenke seg som går ut på å finne «den laveste kostnadsløsningen», eller den «best passende». Og det er et lignende oppsett med typiske maskinlæringsoppgaver: finn en funksjon (f.eks. basert på et nevralt nettverk) som presterer best ved å klassifisere et bestemt testsett, osv.

Sammenlignet med andre nettsteder/plattformer i denne oversikten, dekker Wolfram et bredt område av utfordringer og ikke bare koding. Alt i alt, hvis du ønsker å skjerpe din kritiske tenkning – dette kommer til å være plattformen for å gjøre det!

LeetCode

LeetCode er et produkt, noe som betyr at det ikke bare er et nettsted som er vert for tilfeldige utfordringer. I stedet er LeetCode en måte å forberede deg på fremtidige muligheter.

Plattformen gir moderne læring, intrikate utfordringer og et suverent dashbord for å få alt gjort.

Det er også artikler, diskusjonstavler og andre samfunnsaspekter for å oppmuntre til en sømløs opplevelse. Mange LeetCode-brukere har «uteksaminert» for å jobbe i selskaper som Uber, Amazon, Stripe og andre.

Kodekrefter

Kodekrefter er for alle hardcore og dedikerte kodere der ute. Tenk på programvareingeniører, pentestere, AI-entusiaster og maskinlæringsjunkies! Som en plattform for avanserte programmerere er Codeforces kjent for sin beryktede ledertavle og konkurranseånd.

Og det er lettere å komme i gang enn du tror.

Trening

Det er flott å se initiativene bak mange kodeutfordringsplattformer.

Og Trening er intet unntak. Katrina Owen, grunnleggeren, sier at målet hennes er å «hjelpe folk med å lære nok koding [using Exercism] slik at de kan finne en jobb i utvikling.»

I skrivende stund er det mer enn 2600 øvelser på 48 språk – alt gratis! Har du tenkt det lære Kotlineller kanskje bli mer orientert i Vim? Nå har du sjansen til å lære noen nye ferdigheter gjennom interessante utfordringer!

Codier

Hvor overraskende det enn kan være for noen av dere, er det fortsatt koding som skjer i front-end-utvikling også!

Utfordringene her samles for det meste av brukere. Noen kan for eksempel publisere et «Material Design Card» og utfordre deg til å gjøre det bedre eller lage en lignende variant.

Resultatet er din evne til å sette i gang noen kreative ideer. Og det er fint å se hvordan andre takler lignende problemer i sanntid også. Du kan alltid gjenbruke koden som er sendt inn av andre i prosjektene dine.

  11 beste AI-drevne fotoredigeringsprogramvare og apper for profesjonelle

Flexbox Froggy

Når vi snakker om front-end, hvordan går det med Flexbox-forståelsen din? Det er alltid hyggelig å få en liten oppfriskning av hukommelsen for å holde deg skarp og rett på sak!

Flexbox Froggy er et fint lite spill som tar deg gjennom 28 trinn med forskjellige Flexbox-bruk og justeringer. Kanskje det er en mindre utfordring enn det er en påminnelse, men kan du gjøre alle nivåene uten å lete etter svar?

Grid Garden er et veldig likt spill; den eneste forskjellen er at du jobber med Grid-funksjonen og ikke Flex.

PyBites

Python er allment akseptert som det enkleste språket å lære. Og anbefales ofte for nye programmerere å utforske først. Men ikke la det avskrekke deg fra å tro på Pythons kapasitet.

I disse dager gjøres mye maskinlæring og generering av datasett utelukkende med Python – og det er ingen liten prestasjon!

PyBites får deg oppdatert med det siste som skjer. Artikler, kodeutfordringer og andre viktige ting som hjelper deg med å skjerpe vettet. Hver utfordring inkluderer en oppfølging som en gjennomgang, der du kan sammenligne koden din og utforske den riktige måten å løse et problem på.

CodeCombat

CodeCombat er nok et kodespill som gir et dynamisk og utfordrende kodemiljø. Forskjellen mellom et produkt som CodinGame er at CodeCombat fokuserer på lærere. Som et resultat kan du bruke denne plattformen til å undervise i programmering og problemløsning på skolenivå.

Det finnes verktøy, materialer og andre ressurser som er skreddersydd spesielt for dette formålet. Og det er veldig gøy også. CodeCombat-spillene du bygger er både interessante, men også visuelt imponerende. Og spill er allerede så populært blant barn. Å gi barna utfordringen med å utvikle sitt virtuelle miljø kan inspirere dem til å bygge noe fantastisk i fremtiden!

Tynker

Som kort nevnt i introen har vi noe for alle dere foreldre der ute. Tynker er en morsom liten plattform som hjelper barn med å lære koding. Den er basert på et veldig enkelt dra-og-slipp-grensesnitt der barna kan stokke mellom valgene og forhåpentligvis løse de presenterte problemene.

Og ikke ta feil heller, Tynker er tilpasset moderne standarder mer enn du tror. Hvis du har barn som kommer snikende i tenårene, kan du la dem skrive løsninger ved å bruke Python eller JavaScript i stedet for å bruke blokker alene.

Avslutningsord: Utfordre deg selv!

Totalt er det sannsynligvis 10 000 unike kodeutfordringer på tvers av alle nettstedene og plattformene vi listet opp. Det er umulig å komme gjennom dem alle bare sånn.

I stedet er min anbefaling å finne en plattform som du føler passer best for dine behov, og fokusere kun på den ene plattformen. Du kan bygge vennskap, lære nye ting, og hvem vet – kanskje du lærer nok til få en ny jobb i et best betalende selskap!

Det kan også være lurt å vurdere DataCamp for å lære datavitenskap, som inkluderer kodingsutfordringer og prosjekter.

Hva med å finne ut hvordan du legger til kommentarer på populære programmeringsspråk?