17 kodningsudfordringer for at skærpe din kritiske tænkning

Hvis du ønsker at forbedre dine færdigheder i et eksisterende eller et nyt programmeringssprog, er en af ​​de bedste måder at gøre det på gennem kodningsudfordringer.

En masse platforme og hjemmesider er blevet tilgængelige gennem årene, hvilket giver spændende udfordringer for kodere på alle niveauer. Uanset om det er et nyt sprog, du forsøger at lære eller ønsker at teste din forstand i stressede situationer – kodningsudfordringer kan være både sjove og en test på samme tid.

Fordelene, bortset fra det åbenlyse, ved at arbejde med disse udfordringer omfatter bedre problemløsningsevner, dybdegående sprogforståelse og glæden ved at lære nye algoritmer. Som du ved, Algoritmer er ikke ualmindelige under ansættelsesprocessen — så at have nogle tænder i spillet kan give dig en overhånd.

Dette indlæg dækker nogle af de bedste websteder og platforme for kodningsudfordringer, der findes. Nogle er begyndervenlige, mens andre henvender sig til et mere erfarent publikum. Vi tilføjer også nogle ting, som du kan vise dine børn siden børnevenlig kodning er også blevet ret populær.

Edabit

Den nemmeste måde at lære nye ting på er at have konsekvent interaktion med det, du prøver at lære. Sådan er det også med programmering. At læse de bedste bøger vil give dig nul viden, medmindre du omsætter det skrevne ord i praksis.

Edabit er en etableret platform, der byder på bide-sized kodningsudfordringer, som hurtigt kan forbedre dine kodningsevner.

HackerRank

HackerRank er en startup, der fokuserer på at levere kodningsudfordringer til både enkeltpersoner og organisationer. Afhængigt af udfordringen får du oftest instruktioner til et projekt, der skal afsluttes, og hvordan du gennemfører det er op til dig.

I øjeblikket kan udviklere bruge Java, Python, JavaScript, PHP, C++ og SQL til at løse de stillede udfordringer.

Hver gang du indsender dine løsninger, scorer platformen automatisk din indsendelse baseret på faktorer som nøjagtighed. Bagefter placeres du på den globale rangliste, mens du dyrker præstationer (badges) undervejs. Der er også ‘sprints’, som er en anden betegnelse for platformshostede konkurrencer.

House of Codes skrev et spændende stykke, der skildrer de 50 bedste udfordringer fundet i Hacker Rank. Hvis du har nysgerrigheden til det, er det værd at læse med et væld af eksempler og materiale.

Coderbyte

Coderbyte er en unik app baseret på moderne programmeringspraksis. Dens kernefunktion er kodningsudfordringer, som har hjulpet millioner af mennesker over hele kloden til at blive bedre udviklere. I modsætning til lignende apps på markedet, Coderbyte er dedikeret til at hjælpe folk med at tackle problemer på brancheniveau.

En af fordelene ved at bruge denne platform er, at den arbejder sammen med nogle af de førende softwaremærker. F.eks. Google, LogMeIn, HBO, PWC og mange andre. Hvis du nogensinde ønsker at få et job hos sådanne virksomheder, så vær sikker på, at Coderbyte kan give dig de nødvendige udfordringer for at teste dine færdigheder.

Når du har registreret dig, kan du vælge mellem udfordringer og algoritmer. Der er hundredtusindvis af brugerindsendte løsninger, som kan hjælpe dig med at få en meget bredere forståelse af specifikke programmeringsemner.

  Sådan dubleres en side i Microsoft Word

Organisationer kan tilmelde sig og administrere deres screeningsproces. Ved at blive en registreret organisation får du adgang til yderligere værktøjer, der kan hjælpe med at screene hver udvikler individuelt.

Kodekrige

Det smukke ved konsekvent kodningspraksis er, at du altid kommer med nye måder at løse problemer på. Kodekrige udnytter denne idé. Baseret på ‘katas’ tilbyder platformen øvelser og udfordringer på en lang række sprog.

Når du gennemfører de nævnte øvelser, kan du score point, men også tjekke, hvordan andre programmører løste et specifikt problem.

Hvis du har tænkt dig at øve et nyt sprog, så er Codewars et enestående websted at tilføje til dine bogmærker.

Her er nogle af de understøttede sprog:

  • Clojure
  • Rust
  • Swift
  • Python
  • Haskell
  • Skal
  • JavaScript
  • PHP
  • Kotlin
  • Scala

Og en masse andre sprog er i BETA-programmet, tilgængelige, men med potentielle flaskehalse.

Grundlæggende ønsker Edabit at levere en platform, der kan bygge bro mellem begyndere og avancerede kodere. Du kan tjekke ud Køreplan for at se den fulde funktionsliste.

CodinGame

Spil som læringsplatforme er ikke en helt ny ting, men der ser ud til at være mange flere spillere på området nu. CodinGame er blot en af ​​mange platforme, der giver programmeringsudfordringer gennem en gamified oplevelse. I stedet for at skrive blank kode, bygger du i stedet et spilmiljø. Al den kode, du skriver, påvirker på nogle måder måden, som ‘spillet’ foregår på.

Bagklogskab, platforme som CodinGame kan hjælpe teknologiudviklere meget om årsag og virkning. Og hvordan bestemte beslutninger fører til specifikke resultater.

Dette er ikke kun en af ​​de billige sider, hvor du skriver sjusket JavaScript-kode. CodinGame involverer nogle algoritmer på topniveau og har utallige kodere i verdensklasse, der hjælper med at levere løsninger til både nye og erfarne udviklere.

HackerEarth

HackerEarth er en velkendt platform, der kører hackathons, kodningsudfordringer og forskellige slags konkurrencer.

Det er også et sted, hvor du kan hente noget interessant viden om ansættelsesprocessen i moderne virksomheder. Ikke alle, men en god del af de udfordringer, der findes i HackerEarths database, kan ende med at blive stillet i enhver af dine fremtidige jobsamtaler.

Og hvordan er det muligt? Nå, mest fordi HackerEarths virkelige travlhed er at levere rekrutteringsløsninger til førsteklasses teknologivirksomheder. Hvis du vil blive betragtet som den bedste, skal du hænge ud med de bedste. Det er en win-win situation for dig.

Programr

Programmr er et dynamisk digitalt laboratorium for alle niveauer af udviklere. Med Programr, kan du skrive kode, kompilere den og udføre projekter direkte fra din browser. Platformen understøtter alle større sprog, der bruges i dag. Uanset om det er en mobilapp eller en databasestruktur, du vil køre – Programmr har modet til at understøtte det.

På udfordringssiden har Programmr et tilpasset sæt udfordringer til Java, C++, PHP, C#, Ruby, Python og iOS. Hvert sæt indeholder mere end 100 udfordringer, som kan sorteres efter popularitet (baseret på brugerstemmer) og andre faktorer.

Det, der adskiller disse fyre fra andre, er, at du kan bruge dine nyfundne oplevelser til at få øjeblikkelig feedback, uanset om det er et certifikat for et bestemt sprog eller blot feedback fra eksisterende brugere.

  Hvad sker der med dit smarthome, når strømmen går?

Kodningstoget

Daniel Shiffman er en selvfremstillet enmandshær, der skaber og producerer fantastisk materiale om programmering. Kodningstoget er Daniels’ personlige YouTube-platform, hvor han delte spændende og hjælpsomme videoer til at tackle programmeringsrelaterede problemer.

Men han har denne interessante tilgang. I stedet for at hoste alt på sin hjemmeside, bruger han YouTube som platform for udfordringen, og hans hjemmeside som platform for løsningen.

Hold i form, som hans udfordringer er baseret på P5.js og Forarbejdning — to populære løsninger, der bruges i kunst og grafisk design.

Wolfram udfordringer

Wolfram er en af ​​de mest kendte virksomheder i verden, der opererer under datalogi-grenen. Deres platform har efterladt mange målløse af sine muligheder.

Selvom vores fokus ikke er på Wolfram Alpha, en ny grænse introduceret i begyndelsen af ​​2018 — Wolfram udfordringer.

Der er masser af eksempler på udfordringer, man kan forestille sig, der involverer at finde “den billigste løsning”, eller den “bedste løsning”. Og det er et lignende setup med typiske maskinlæringsopgaver: find en funktion (f.eks. baseret på et neuralt netværk), der klarer sig bedst til at klassificere et bestemt testsæt osv.

I sammenligning med andre hjemmesider/platforme i denne roundup dækker Wolfram et bredt område af udfordringer og ikke kun kodning. Alt i alt, hvis du ønsker at skærpe din kritiske tænkning – vil dette være platformen til at gøre det!

LeetCode

LeetCode er et produkt, hvilket betyder, at det ikke kun er et websted, der hoster tilfældige udfordringer. I stedet er LeetCode en måde at forberede dig på fremtidige muligheder.

Platformen giver moderne læring, indviklede udfordringer og et fremragende dashboard til at få det hele gjort.

Der er også artikler, diskussionsforum og andre fællesskabsaspekter for at fremme en problemfri oplevelse. Mange LeetCode-brugere er ‘uddannet’ til at arbejde hos virksomheder som Uber, Amazon, Stripe og andre.

Kodekræfter

Kodekræfter er for alle de hardcore og dedikerede kodere derude. Tænk på softwareingeniører, pentestere, AI-entusiaster og maskinlæringsjunkier! Som en platform for avancerede programmører er Codeforces kendt for sin berygtede rangliste og konkurrenceånd.

Og det er nemmere at komme i gang, end du tror.

Motion

Det er fantastisk at se initiativerne bag mange kodningsudfordringsplatforme.

Og Motion er ingen undtagelse. Katrina Owen, grundlæggeren, siger, at hendes mål er at “hjælpe folk med at lære nok kodning [using Exercism] så de kan finde et job i udvikling.”.

I skrivende stund er der mere end 2.600 øvelser på 48 sprog – alle gratis! Har du tænkt dig lære Kotlineller måske blive mere orienteret i Vim? Nu er din chance for at lære nogle nye færdigheder gennem interessante udfordringer!

Codier

Hvor overraskende det end kan være for nogle af jer, sker der også stadig kodning i frontend-udvikling!

Udfordringerne her samles for det meste af brugerne. F.eks. kan nogen udgive et ‘Material Design Card’ og udfordre dig til at gøre det bedre eller skabe en lignende variant.

Resultatet er din evne til at få nogle kreative ideer i gang. Og det er rart at se, hvordan andre også tackler lignende problemer i realtid. Du kan altid genbruge koden indsendt af andre i dine projekter.

  25 bedste rumskibsbygningsspil på pc

Flexbox Froggy

Apropos front-end, hvordan går det med din Flexbox-forståelse? Det er altid rart at få en lille genopfriskning af hukommelsen for at holde dig selv skarp og på det rette punkt!

Flexbox Froggy er et fint lille spil, der tager dig gennem 28 trin af forskellige Flexbox-anvendelser og justeringer. Måske er det mindre af en udfordring, end det er en påmindelse, men kan du klare alle niveauerne uden at lede efter svar?

Grid Garden er et meget lignende spil; den eneste forskel er, at du arbejder med Grid-funktionen og ikke Flex.

PyBites

Python er bredt accepteret som det mest ligetil sprog at lære. Og anbefales ofte til nye programmører at udforske først. Men lad det ikke afskrække dig fra at tro på Pythons kapacitet.

I disse dage udføres meget maskinlæring og generering af datasæt udelukkende med Python — og det er ikke ringe!

PyBites får dig opdateret med de seneste begivenheder. Artikler, kodningsudfordringer og andre kritiske ting, der hjælper dig med at skærpe dit forstand. Hver udfordring inkluderer en opfølgning som en gennemgang, hvor du kan sammenligne din kode og udforske den korrekte måde at løse et problem på.

CodeCombat

CodeCombat er endnu et kodespil, der giver et dynamisk og udfordrende kodningsmiljø. Forskellen på et produkt som CodinGame er, at CodeCombat fokuserer på lærere. Som et resultat kan du bruge denne platform til at undervise i programmering og problemløsning på skoleniveau.

Der er værktøjer, materialer og andre ressourcer, der er skræddersyet specifikt til dette formål. Og det er også meget sjovt. De CodeCombat-spil, du bygger, er både interessante, men også visuelt betagende. Og gaming er allerede så populært blandt børn. At give børn udfordringen med at udvikle deres virtuelle miljø kan inspirere dem til at bygge noget fantastisk i fremtiden!

Tynker

Som kort nævnt i introen har vi noget til alle jer forældre derude. Tynker er en sjov lille platform, der hjælper med at undervise børn i kodning. Det er baseret på en meget enkel træk og slip-grænseflade, hvor børn kan blande sig mellem valg og forhåbentlig løse de præsenterede problemer.

Og tag det heller ikke fejl, Tynker er tilpasset moderne standarder mere, end du tror. Hvis du har børn, der kryber ind i deres teenagere, kan du lade dem skrive løsninger ved hjælp af Python eller JavaScript i stedet for at bruge blokke alene.

Afsluttende ord: Udfordr dig selv!

I alt er der sandsynligvis 10.000 unikke kodeudfordringer på tværs af alle de websteder og platforme, vi har nævnt. Det er umuligt at komme igennem dem alle på den måde.

I stedet er min anbefaling at finde en platform, som du føler passer bedst til dine behov og kun fokusere på den ene platform. Du kan bygge venskaber, lære nye ting, og hvem ved – måske lærer du nok til få nyt job hos en topbetalende virksomhed!

Du kan også overveje DataCamp for at lære datavidenskab, som inkluderer kodningsudfordringer og -projekter.

Hvad med at finde ud af, hvordan man tilføjer kommentarer på populære programmeringssprog?