CodeGym /Java-blogg /Tilfeldig /Koding som idrett. En kort guide til konkurransedyktig pr...
John Squirrels
Nivå
San Francisco

Koding som idrett. En kort guide til konkurransedyktig programmering

Publisert i gruppen
Vi mennesker har en tendens til å konkurrere med hverandre i alt vi gjør, og det er sannsynligvis en av hovedårsakene til vår suksess som art. Programmering er intet unntak. Siden koding er en ganske kompleks, flerlags og krevende disiplin, bør det ikke komme som noen overraskelse at kodere er ivrige etter å konkurrere med hverandre for å finne ut hvem som er best. Koding som idrett.  En kort veiledning til konkurransedyktig programmering - 1

Hva er konkurransedyktig programmering?

Konkurrerende programmering er en type tankesport som involverer deltakere i å løse kodeproblemer ved å bruke ferdighetene sine i programmering og kunnskap om CS-disipliner som algoritmer og datastrukturer. Deltakerne i slike konkurranser, også kalt sportsprogrammerere, må skrive kode under ulike begrensninger og i tråd med spesifikasjonene som er gitt. For å vinne må en sportsprogrammerer komme opp med koden som vil være en løsning på oppgaven som er gitt. Vinneren erklæres basert på en rekke kriterier som tidsbruk, kvalitet på den endelige koden, utførelsestid, størrelse på programmet osv. Mange store teknologiselskaper, som Google, Facebook, Amazon, Microsoft og andre , støtte konkurrerende programmering og delta i organisering av konkurranser, samtidig som du ansetter talentfulle sportsprogrammerere. International Collegiate Programming Contest (ICPC), som oppsto på 1970-tallet, er kjent som den eldste konkurrerende programmeringskonkurransen.

Fordeler med konkurransedyktig programmering

Her er en rask liste over fordeler du kan få ved å delta i konkurrerende programmering som profesjonell koder.
  • Forbedrede programmeringsferdigheter, som logikk og algoritmer, grunnleggende matematikk, datastrukturer, beregningstenkning, feilsøking og så videre.
  • Flott tillegg til din profesjonelle portefølje og CV.
  • Sjanser for å bli lagt merke til av markedsledere og få noen attraktive jobbtilbud.
  • Måte å øve på forskjellige aspekter av koding.
  • Sosiale forbindelser og nettverk i utviklernes fellesskap.
  • Spennende og konkurransedyktige konkurranser.

Konkurransedyktige programmeringsplattformer

Dette er noen av de mest populære konkurransedyktige programmeringsplattformene tilgjengelig på Internett. CodeChef er et konkurransedyktig programmeringssamfunn med hundrevis av utfordringer og flere nye konkurranser hver måned. Codewars er et kodende nettsamfunn med programmeringsutfordringer. Lar deg sende inn dine egne utfordringer, som vil bli evaluert av andre brukere. En av de mest populære konkurransedyktige programmeringsplattformene der ute. Den arrangerer regelmessige konkurransedyktige programmeringsmaratoner hvert år og byr på dusinvis av utfordringer. HackerEarth har over 10 000 programmeringsutfordringer av ulik vanskelighetsgrad tilgjengelig for alle. Codeforces er en russisk konkurransedyktig programmeringsplattform som har hundrevis av programmeringsutfordringer og som ofte arrangerer alle slags konkurranser. Tilbyr programmeringsutfordringer innen forskjellige domener innen informatikk og arrangerer årlige Codesprints og andre konkurrerende programmeringskonkurranser.

Konkurransedyktige programmeringskonkurranser

Det arrangeres dusinvis av konkurrerende programmeringskonkurranser hvert år. Her er noen av de mest populære og prestisjefylte.
  1. ICFP programmeringskonkurranse
En internasjonal programmeringskonkurranse holdt årlig rundt juni eller juli siden 1998.
  1. Topcoder Marathon-kamper
Populær blant de konkurrerende programmeringsfellesskapets konkurranser med betydelige pengepremier. Topcoders maraton varer vanligvis rundt to uker, og gir deltakerne en sjanse til å forbedre løsningene sine. Hver kamp har en annen scoringsmekanisme som gir kvaliteten på hver løsning.
  1. CodeChef Long Challenge
CodeChef Long Challenge er en månedlig konkurranse som varer i opptil 10 dager.
  1. Facebook Hacker Cup
Hacker Cup er Facebooks årlige åpne programmeringskonkurranse. Den er åpen for deltakere over hele verden og består av flere runder med betydelige premier på innsats.
  1. Google Code Jam
Google Code Jam er en internasjonal programmeringskonkurranse som arrangeres og administreres av Google. Avholdt årlig siden 2003.
  1. American Computer Science League (ACSL)
American Computer Science League (ACSL) arrangerer informatikk- og programmeringskonkurranser for ungdomsskoleelever.
  1. International Collegiate Programming Contest (ICPC)
International Collegiate Programming Contest er en algoritmisk programmeringskonkurranse for studenter. En av de eldste konkurrerende programmeringskonkurransene der ute.

Tips og anbefalinger

La oss avslutte med noen tips og anbefalinger som kan være nyttige hvis du er villig til å sette deg inn i konkurrerende programmering.
  • Velg et programmeringsspråk.
Dette er ganske åpenbart, men likevel verdt å nevne. Du bør begynne med å velge et programmeringsspråk du er mest komfortabel med for å bruke det i konkurrerende programmering. C++, Java, Python er de vanligste og universelt aksepterte på tvers av de fleste konkurrerende programmeringskonkurranser.
  • Utvikle god kunnskap om datastrukturer og algoritmer.
Å kjenne til minst det grunnleggende om datastrukturer og algoritmer er vesentlig viktig for å lykkes med å løse konkurrerende programmeringsutfordringer. Sjekk artiklene våre om algoritmer og datastrukturer for lenker til læremateriell om disse emnene.
  • Finn din kodestil og tilnærming til programmeringsutfordringer.
Flertallet av utfordringene som deltakere i konkurrerende programmeringsutfordringer må løse, har mer enn én løsning. Målet er å komme frem til den optimale løsningen. Så det er fornuftig å fokusere på å utvikle din unike kodestil og tilnærming til disse programmeringsutfordringene som vil tillate deg å kode de beste løsningene når det gjelder tid og krydre kodebehovene dine for utførelse.
  • Prøv forskjellige konkurrerende programmeringsnettsteder og konkurranser.
Selv om du i alle konkurrerende kodekonkurranser og utfordringer trenger å løse algoritmiske problemer, kan stilen til disse problemene og kravene til deltakerne variere på en rekke måter, fra tilnærming til vanskelighetsgrad og tidsfølsomhet. Så det anbefales å prøve minst flere forskjellige problemer for å få en bedre følelse av konkurransedyktig programmering generelt.
  • Fortsett å løse programmeringsproblemer regelmessig.
Regelmessig trening er viktig for å lykkes med stort sett alt, men i konkurrerende programmering er det spesielt sant. Utviklingen av riktig tankesett og tilnærming til kodingsproblemer krever mye regelmessig trening. Du trenger ikke begrense deg til de spesialiserte plattformene som er oppført ovenfor, spesielt i begynnelsen når de konkurrerende programmeringsproblemene kan føles for utfordrende. Du kan bruke CodeGym med sine over 1200 Java-kodingsoppgaver for å øve, samt kodespill eller tekniske forberedelsesplattformer for intervjuer .
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION