CodeGym /Java blog /Tilfældig /Kodning som sport. En kort guide til konkurrencedygtig pr...
John Squirrels
Niveau
San Francisco

Kodning som sport. En kort guide til konkurrencedygtig programmering

Udgivet i gruppen
Vi mennesker har en tendens til at konkurrere med hinanden i alt, hvad vi gør, og det er nok en af ​​de vigtigste årsager til vores succes som art. Programmering er ingen undtagelse. Da kodning er en ret kompleks, flerlags og krævende disciplin, bør det ikke komme som nogen overraskelse, at kodere er ivrige efter at konkurrere med hinanden for at finde ud af, hvem der er den mest dygtige. Kodning som sport.  En kort guide til konkurrencedygtig programmering - 1

Hvad er konkurrencedygtig programmering?

Konkurrenceprogrammering er en form for tankesport, der involverer deltagere i at løse kodningsproblemer ved at bruge deres færdigheder i programmering og viden om CS-discipliner såsom algoritmer og datastrukturer. Deltagerne i sådanne konkurrencer, også kaldet sportsprogrammører, skal skrive kode under forskellige begrænsninger og i overensstemmelse med de angivne specifikationer. For at vinde skal en sportsprogrammør komme med den kode, der ville være en løsning på den stillede opgave. Vinderen udråbes ud fra en række kriterier såsom tidsforbrug, kvalitet af den endelige kode, eksekveringstid, programmets størrelse osv. En masse store tech-virksomheder, såsom Google, Facebook, Amazon, Microsoft m.fl. , støtte konkurrencedygtig programmering og deltage i at organisere konkurrencer, mens du også ansætter talentfulde sportsprogrammører. International Collegiate Programming Contest (ICPC), som opstod i 1970'erne, er kendt som den ældste konkurrencedygtige programmeringskonkurrence.

Fordele ved konkurrencedygtig programmering

Her er en hurtig liste over fordele, som du kan få ved at deltage i konkurrencepræget programmering som professionel koder.
  • Forbedrede programmeringsfærdigheder, såsom logik og algoritmer, grundlæggende matematik, datastrukturer, beregningstænkning, fejlfinding og så videre.
  • Fantastisk tilføjelse til din professionelle portefølje og CV.
  • Chancer for at blive bemærket af markedsledere og få nogle attraktive jobtilbud.
  • Måde at øve forskellige aspekter af kodning på.
  • Sociale forbindelser og netværk i udviklersamfundet.
  • Spændende og konkurrencedygtige konkurrencer.

Konkurrencedygtige programmeringsplatforme

Disse er nogle af de mest populære konkurrencedygtige programmeringsplatforme, der er tilgængelige på internettet. CodeChef er et konkurrencedygtigt programmeringsfællesskab med hundredvis af udfordringer og flere nye konkurrencer hver måned. Codewars er et kodende online-fællesskab med programmeringsudfordringer. Giver dig mulighed for at indsende dine egne udfordringer, som vil blive evalueret af andre brugere. En af de mest populære konkurrencedygtige programmeringsplatforme derude. Det er vært for regelmæssige konkurrencedygtige programmeringsmaratoner hvert år og byder på snesevis af udfordringer. HackerEarth har over 10.000 programmeringsudfordringer af varierende sværhedsgrad til rådighed for alle. Codeforces er en russisk konkurrencedygtig programmeringsplatform, der har hundredvis af programmeringsudfordringer og ofte er vært for alle slags konkurrencer. Tilbyder programmeringsudfordringer inden for forskellige computervidenskabelige domæner og afholder årlige Codesprints og andre konkurrencedygtige programmeringskonkurrencer.

Konkurrencedygtige programmeringskonkurrencer

Der afholdes snesevis af konkurrencedygtige programmeringskonkurrencer hvert år. Her er nogle af de mest populære og prestigefyldte.
  1. ICFP programmeringskonkurrence
En international programmeringskonkurrence afholdt årligt omkring juni eller juli siden 1998.
  1. Topcoder Marathon-kampe
Populær blandt de konkurrencedygtige programmeringsfællesskaber med betydelige pengepræmier. Topcoders maraton varer normalt omkring to uger, hvilket giver deltagerne en chance for at forbedre deres løsninger. Hver kamp har en anden scoringsmekanisme, der udsender hver løsnings kvalitet.
  1. CodeChef Long Challenge
CodeChef Long Challenge er en månedlig konkurrence, der varer op til 10 dage.
  1. Facebook Hacker Cup
Hacker Cup er Facebooks årlige åbne programmeringskonkurrence. Den er åben for deltagere over hele verden og består af flere runder med betydelige præmier på spil.
  1. Google Code Jam
Google Code Jam er en international programmeringskonkurrence, der arrangeres og administreres af Google. Afholdt årligt siden 2003.
  1. American Computer Science League (ACSL)
American Computer Science League (ACSL) arrangerer datalogi og programmeringskonkurrencer for mellem- og gymnasieelever.
  1. International Collegiate Programming Contest (ICPC)
International Collegiate Programming Contest er en algoritmisk programmeringskonkurrence for universitetsstuderende. En af de ældste konkurrencedygtige programmeringskonkurrencer derude.

Tips og anbefalinger

Lad os afslutte med nogle tips og anbefalinger, der kan være nyttige, hvis du er villig til at komme ind i konkurrencedygtig programmering.
  • Vælg et programmeringssprog.
Dette er ganske indlysende, men stadig værd at nævne. Du bør starte med at vælge et programmeringssprog, du er mest komfortabel med, for at bruge det i konkurrencepræget programmering. C++, Java, Python er de mest almindelige og universelt accepterede på tværs af størstedelen af ​​konkurrerende programmeringskonkurrencer.
  • Udvikle et godt kendskab til datastrukturer og algoritmer.
At kende i det mindste det grundlæggende i datastrukturer og algoritmer er væsentligt vigtigt for succesfuldt at løse konkurrencedygtige programmeringsudfordringer. Se vores artikler om algoritmer og datastrukturer for links til læringsmaterialer om disse emner.
  • Find din kodningsstil og tilgang til programmeringsudfordringer.
De fleste udfordringer, som deltagere i konkurrenceprægede programmeringsudfordringer skal løse, har mere end én løsning. Målet er at finde den optimale løsning. Så det giver mening at fokusere på at udvikle din unikke kodningsstil og tilgang til disse programmeringsudfordringer, som vil give dig mulighed for at kode de bedste løsninger med hensyn til tid og krydre dine kodebehov til eksekvering.
  • Prøv forskellige konkurrencedygtige programmeringswebsteder og konkurrencer.
Selvom du i alle konkurrerende kodningskonkurrencer og udfordringer skal løse algoritmiske problemer, kan stilen på disse problemer og kravene til deltagerne variere på en række måder, lige fra tilgangen til sværhedsgrad og tidsfølsomhed. Så det anbefales at prøve mindst flere forskellige problemer for at få en bedre følelse af konkurrencedygtig programmering generelt.
  • Fortsæt med at løse programmeringsproblemer regelmæssigt.
Regelmæssig træning er vigtig for at få succes med stort set alt, men i konkurrencemæssig programmering er det især sandt. Udviklingen af ​​den rette tankegang og tilgang til kodningsproblemer kræver meget regelmæssig træning. Du behøver ikke at begrænse dig til de specialiserede platforme, der er anført ovenfor, især i begyndelsen, når de konkurrencemæssige programmeringsproblemer kan føles for udfordrende. Du kan bruge CodeGym med dets over 1200 Java-kodningsopgaver til at øve dig på, såvel som kodespil eller tekniske forberedelsesplatforme til interview .
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION