Dasturlash olimpiadalariga tayyorlanish uchun eng yaxshi manbalar

Dasturlash olimpiadalariga tayyorlanish uchun eng yaxshi manbalar

“Most programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program” — Linus Torvalds

Dasturlash bo’yicha ko’nikmalarni oshirish va mustahkamlashning eng yaxshi usullaridan biri dasturlashga oid masalalarni ishlash va ularni online checkerlar orqali tekshirib ko’rishdir. Bunday tizimlarda muntazam tarzda masalalarni ishlash dasturlash olimpiadalarida muvaffaqiyatli qatnashishni ham ta’minlab berish ehtimoli yuqori. Lekin, dasturlashni endi boshlagan dasturchilar buning uchun yaxshi manbalarni topa olmay qiynalishlari turgan gap.

Shularni inobatga olgan holda bugun biz Eng yaxshi deb hisoblagan manbalardan bir nechtasini ko’rsatib va tahlil qilib o’tmoqchimiz. Bunda biz ularning darajasi, sayt qay darajada qulay tashkil qilinganligi, musobaqalarning doimiy o’tkazilib turishi va til kabi faktorlarni e’tiborga olganmiz.

1-o’rin: HackerRank

1*Hnzvedct1mgVvkhgjKZkng

Balki, birinchi o’ringa HackerRankni joylashtirganim uchun Codeforces asoschisi Mike Mirzayanov meni kechirmas ), lekin bunga bir nechta sabab mavjud.

Tili: Ingliz

Kimlar uchun: Barcha darajadagi dasturchilar

Afzalliklari:

  • Algoritmlar, Matematika va Ma’lumotlar tuzilmalari uchun alohida bo’limlari mavjudligi

  • Dasturlash tillari va paradigmalarini o’rgatishga qaratilgan darslar va masalalar mavjudligi (C/C++, Java, Python, Ruby, JavaScript, Linux Shell va Funksional dasturlash)

  • Boshqa yo’nalishlardagi darslar (SQL, Ma’lumotlar bazasi, RegEx) va eng asosiysi Sun’iy intellekt

  • Masalalarni mavzusi va qiyinlik darajasi bo’yicha saralash imkoniyati

  • Masalalarni ishlay olmagan taqdiringizda uning muhokamasini ko’rishingiz, uni yechimini o’rganishingiz (Educational) yoki uning testini ochib ko’rishingiz mumkin

  • Eyler proyekti masalalarini online ishlash mumkinligi

Kamchiliklari:

  • Yagona kamchilik sifatida dasturlash musobaqalari va olimpiadalarini muntazam ravishda o’tkazib turilmasligini keltirish mumkin

2-o’rin. Codeforces

Codeforces hozirgi paytda dasturlash musobaqalari va olimpiadalarini tashkillashtiruvchi eng katta va aktiv manbalardan biri. Ayniqsa, sifat va tashkiliy masalalarni alohida ta’kidlash joiz

Tili: Rus va Ingliz

Kimlar uchun: Barcha darajadagi dasturchilar (Yaqinda Div3 qo’shilganligi sababli)

Afzalliklari:

  • Muntazam ravishda, deyarli har hafta, musobaqalarning o’tkazib turilishi

  • Masalalarning katta arxivi

  • Masalalarni qiyinlik darajasi va mavzusi bo’yicha saralash imkoniyati mavjudligi

  • Darajaga ko’ra musobaqalar tashkillashtirilishi (Div1, Div2, Div3)

Kamchiliklari:

  • Interfeysdagi ba’zi kamchiliklar (ingliz saytlarichalik zamonaviy ko’rinmaydi)

3-o’rin. TopCoder

1*c5dYVCEBMwsipYkMOPMU9g

TopCoder sayti bu ro’yhatimizdagi eng “nuroniy”laridan hisoblanadi. Aslida Codeforces yaratuvchilari bo’lgan Mike Mirzayanov boshchiligidagi Belorus dasturchilari ham o’z oldilariga Amerikalik TopCoderdan o’zib ketishni maqsad qilishgan bo’lishsa ham ajab emas va aytish mumkinki ular buni uddalashgan ham.

Tili: Ingliz

Kimlar uchun: Asosan tajribali dasturchilar uchun, lekin yangi va o’rta darajadagi dasturchilar ham o’zlari uchun foydali narsalar topishlari mumkin

Afzalliklari:

  • Faqatgina qisqa musobaqalar emas, bir necha kun davom etadigan katta musobaqalar ham tashkil etib turiladi

  • Masalalarning katta arxiviga ega ekanligi

  • Ularni qiyinlik darajasi bo’yicha saralash mumkinligi

  • va boshqa men bilmagan afzalliklar (saytni to’liq o’rganib chiqishning iloji bo’lmadi)

Kamchiliklari:

  • Masalalarni mavzu bo’yicha saralab bo’lmasligi

4-o’rin. LeetCode

Yana bir ajoyib sayt, juda yaxshi va qiziqarli tarzda tashkillashtirilgan. Albatta, yuqoridagi saytlardan mashhurlik darajasi bo’yicha ancha ortda bo’lsa ham kirib ko’rishga arziydi.

Tili: Ingliz

Kimlar uchun: Barcha darajalar (ayniqsa, yangi boshlovchilar uchun)

Afzalliklari:

  • Ko’p masalalarda batafsil tushuntirilgan yechimni ko’rish mumkinligi

  • Masalalarni qiyinlik darajasi va mavzusi bo’yicha oson saralash imkoniyati

  • System Design, OO Design, Operating System, Database va Shell kabi mavzular va ularga tegishli masalalar ham mavjudligi

  • Har hafta musobaqalar tashkillashtirib turilishi

Kamchiliklari:

  • Masalani yechimini jo’natishdagi noodatiyroq yo’l boshida noqulay tuyilishi mumkin

Tavsiya qilamiz: Bepul Leetcode’da masalalar yechish kursimizga yoziling

5-o’rin. CodeChef

1*XJDheajoWfLULP44qFPO9g

Hindistonlik dasturchilarning ajoyib loyihalaridan biri. Yana bir juda yaxshi tashkillashtirilgan dasturchilik masalalariga bag’ishlangan saytlardan biri

Tili: Ingliz, (ba’zi masalalarning Rus va Xitoy tillaridagi shartlari ham mavjud)

Kim uchun: Barcha darajadagi dasturchilar uchun

Afzalliklari:

  • Faqatgina o’z bazasiga bo’g’lanib qolmaganligi, ya’ni TopCoder, Codeforces va boshqa saytlardan ham mavzuga oid masalalar linkini taqdim qiladi

  • Keng va faol communityga ega ekanligi (hindlar uchun odatiy hol

    🙂

    )

  • Vaqti vaqti bilan boshqa saytlarda o’tkazilgan olimpiadalar tushuntirilgan videolar va materiallar joylanib turilishi

  • O’zining Algoritmlar va Ma’lumotlar tuzilmasiga oid kurslari mavjudligi (o’rganish bepul, sertifikat olish pullik)

Kamchiliklari:

  • Oddiyroq interfeysi (ochig’i bu narsa kamchilik ham bo’la olmasa kerak)

Maqolamizning bu qismida asosan, ingliz tilida yuritiladigan manbalarga to’xtalib o’tdik. Keyingi qismda Rus va O’zbek tillaridagi manbalarni ham tahlil qilishga harakat qilamiz.

Maqolani foydali deb hisoblasangiz uni do’stlaringizga ham ulashing.

Muallif: Qudratxo’ja Musayev