Sport dasturlash

Vikipediya, ochiq ensiklopediya
Universitet talabalari uchun ICPC musobaqasi
Universitet talabalari uchun ICPC musobaqasi

Sport dasturlash[tahrir | manbasini tahrirlash]

Sport dasturlash — „inglizcha“ Competitive Programming. Dasturlashning bu turi huddi shahmat kabi intellektual sport hisoblanib, bunda qatnashuvchilar turli hil qiyinchlikdagi masalalarni algoritmlar yoki dasturlar orqali ixtiyoriy dasturlash tillarida yechishadi. Boshqacha qilib aytganda, sport dasturlash — biz bilgan informatika olimpiadalaridir, lekin yagona farqi shundaki, sport dasturlashda masalalar faqat dasturlashga qaratilgan boʻladi.


Contest „inglizcha“ — sport dasturlashiga oid musobaqa.

Bu turdagi musobaqalarda qatnashuvchilarga bir nechta masalalar berilib, maʼlum bir vaqt oraligʻida ularni ishlash talab qilinadi. Qancha tez va koʻp masala ishlagan qatnashuvchi gʻolib boʻladi.

Musobaqalarning koʻpchiligi onlayn tarzda, maʼlum platformalarda oʻtkaziladi. Rasmiy yoki mahalliy musobaqalar odatda offlayn tarzda oʻtkaziladi. Onlayn musobaqalar oʻtkaziladigan platformaga misol qilib, Codeforcesni[1] keltirish mumkin, (va quyida boshqalari ham keltirib oʻtiladi). Bu sayt sport dasturchilari oʻrtasida eng mashhur sayt boʻlib, unda haftada 1 yoki 2 marta musobaqalar oʻtkazilib turiladi va qanday qatnashganligiga qarab har bir qatnashuvchiga reyting beriladi.

Bir soʻz bilan aytganda, sport dasturlash asosan shu kabi musobaqalarga tayyorlanish va qatnashishdan iborat.

Sport dasturlashi nima uchun kerak?

  • Nufuzli musobaqalarda qatnashish imkoniyati. Ayniqsa Oʻzbekistonda sport dasturlashida raqobat u qadar kuchli emas, shuningdek, sport dasturlashini oʻzini oʻrganish ham qiyin emas. Chunki, u matematika kabi murakkab yoki shahmat kabi zerikarli emas
  • Google, Facebook va Amazon kabi kompaniyalar ishga qabul qilish jarayonida sizni algoritmlar boʻyicha sinovdan oʻtkazishadi. Chunki, algoritmik qobilyatga ega boʻlgan inson, boshqa dasturlash sohalarini tez va oson oʻrganadi.
  • Umuman dasturchi boʻlmoqchi boʻlganlar uchun algoritm muhim hisoblanadi.
  • Algoritmlar insonni mantiqiy fikrlashini rivojlantiradi, Stiv Jobs aytganidek[2] — „fikrlashni oʻrgatadi“ va maʼlum bir algoritmni oʻrganishdan maqsad undan keyinchalik qayerdadir foydalanish emas, shu algoritmni oʻrganish orqali, fikrlashni oʻrganish, boshqa muammolarni samaraliroq hal qilishni oʻrganishdir.

    Tarixi[tahrir | manbasini tahrirlash]

    Eng taniqli va erta asos solingan sport dasturlash musobaqalaridan biri bu ICPC'dir. ICPC oʻtgan asrning 70-yillarida asos solingan va hozirda 88 mamlakatdan kelgan ishtirokchilar qatnasha oladi. 2000-yillardan boshlab sport dasturlashi koʻplab insonlarni qiziqtira boshladi.

    Nufuzli sport dasturlashi musobaqalari[tahrir | manbasini tahrirlash]

  • International Collegiate Programming Contest (ICPC) — Universitet talabalari 3 kishilik jamoa boʻlib qatnashishlari mumkin
  • International Olympiad in Informatics (IOI) — Oʻrta maktab oʻquvchilari uchun
  • Facebook Hacker Cup[3] — 2011-yildan buyon Facebook kompaniyasi tomonidan oʻtkazilib kelinadi
  • CodeJam[4] Google tomonidan har yili oʻtkaziladigan musobaqa
  • Onlayn musobaqalar uchun platformalar[tahrir | manbasini tahrirlash]

  • CodeChef — Ushbu saytda har oyda 3 yoki undan koʻp musobaqalar olib boriladi[5]
  • HackerRank — Eng mashhur saytlardan biri
  • CPythonUz — Oʻzbekistonda ilk bor yaratilgan, dasturlashning hamma sohasi boʻyicha shugʻullansa boʻladigan eng zoʻr sayt.
  • AtCoder — 2020-yilning eng taniqli Yaponiya platformasi
  • Robocontest — O'zbekistondagi sport dasturlash bo'yicha eng mashhur sayt.
  • Manbalar[tahrir | manbasini tahrirlash]

    1. https://codeforces.com/contests, Codeforces
    2. https://www.freecodecamp.org/news/the-real-reason-why-everyone-should-learn-to-code/, Steve Jobs: „Everybody should learn to program a computer, because it teaches you how to think“ FreeCodeCamp
    3. https://www.facebook.com/codingcompetitions/hacker-cup/, Facebook Hacker Cup, Facebook
    4. https://codingcompetitions.withgoogle.com/codejam CodeJam, Google
    5. https://www.codechef.com/