CodeGym /Java Blog /Acak /Pengodean sebagai Olahraga. Panduan Singkat untuk Pemrogr...
John Squirrels
Level 41
San Francisco

Pengodean sebagai Olahraga. Panduan Singkat untuk Pemrograman Kompetitif

Dipublikasikan di grup Acak
Kita, manusia, cenderung bersaing satu sama lain dalam segala hal yang kita lakukan, dan itu mungkin salah satu alasan utama kesuksesan kita sebagai spesies. Pemrograman tidak terkecuali. Karena pengkodean adalah disiplin yang cukup kompleks, berlapis-lapis, dan menuntut, tidak mengherankan jika pembuat kode ingin bersaing satu sama lain untuk mencari tahu siapa yang paling mampu. Pengodean sebagai Olahraga.  Panduan Singkat Pemrograman Kompetitif - 1

Apa itu pemrograman kompetitif?

Pemrograman kompetitif adalah jenis olahraga pikiran yang melibatkan peserta dalam memecahkan masalah pengkodean menggunakan keterampilan mereka dalam pemrograman dan pengetahuan tentang disiplin CS seperti algoritma dan struktur data. Peserta kompetisi semacam itu, juga disebut pemrogram olahraga, perlu menulis kode di bawah berbagai batasan dan sesuai dengan spesifikasi yang diberikan. Untuk menang, seorang pemrogram olahraga perlu membuat kode yang akan menjadi solusi untuk tugas yang diberikan. Pemenang dinyatakan berdasarkan sejumlah kriteria seperti waktu yang dihabiskan, kualitas kode akhir, waktu eksekusi, ukuran program, dll. Banyak perusahaan teknologi besar seperti Google, Facebook, Amazon, Microsoft, dan lainnya , mendukung pemrograman kompetitif dan berpartisipasi dalam mengorganisir kompetisi, sambil juga merekrut pemrogram olahraga berbakat. Kontes Pemrograman Perguruan Tinggi Internasional (ICPC), yang berasal dari tahun 1970-an, dikenal sebagai kompetisi pemrograman kompetitif tertua.

Manfaat pemrograman kompetitif

Berikut daftar singkat keuntungan yang bisa Anda dapatkan dengan berpartisipasi dalam pemrograman kompetitif sebagai pembuat kode profesional.
  • Peningkatan keterampilan pemrograman, seperti logika dan algoritma, matematika dasar, struktur data, pemikiran komputasi, debugging, dan sebagainya.
  • Tambahan yang bagus untuk portofolio profesional dan CV Anda.
  • Peluang untuk diperhatikan oleh pemimpin pasar dan mendapatkan beberapa tawaran pekerjaan yang menarik.
  • Cara untuk mempraktikkan berbagai aspek pengkodean.
  • Koneksi sosial dan jaringan di komunitas pengembang.
  • Lomba-lomba seru dan kompetitif.

Platform pemrograman kompetitif

Ini adalah beberapa platform pemrograman kompetitif paling populer yang tersedia di Internet. CodeChef adalah komunitas pemrograman kompetitif dengan ratusan tantangan dan beberapa kontes baru setiap bulan. Codewars adalah komunitas pengkodean online dengan tantangan pemrograman. Memungkinkan Anda mengirimkan tantangan Anda sendiri, yang akan dievaluasi oleh pengguna lain. Salah satu platform pemrograman kompetitif paling populer di luar sana. Itu menyelenggarakan maraton pemrograman kompetitif reguler setiap tahun dan menawarkan lusinan tantangan. HackerEarth memiliki lebih dari 10.000 tantangan pemrograman dengan berbagai kesulitan yang tersedia untuk semua orang. Codeforces adalah platform pemrograman kompetitif Rusia yang memiliki ratusan tantangan pemrograman dan sering menyelenggarakan semua jenis kontes. Menawarkan tantangan pemrograman dalam berbagai domain ilmu komputer dan menyelenggarakan Codesprints tahunan dan kontes pemrograman kompetitif lainnya.

Kompetisi pemrograman kompetitif

Ada puluhan kompetisi pemrograman kompetitif yang diadakan setiap tahun. Berikut adalah beberapa yang paling populer dan bergengsi.
  1. Kontes Pemrograman ICFP
Kompetisi pemrograman internasional diadakan setiap tahun sekitar bulan Juni atau Juli sejak tahun 1998.
  1. Pertandingan Maraton Topcoder
Populer di antara kontes komunitas pemrograman kompetitif dengan hadiah uang tunai yang cukup besar. Maraton Topcoder biasanya berlangsung sekitar dua minggu, memberi peserta kesempatan untuk meningkatkan solusi mereka. Setiap pertandingan memiliki mekanisme penilaian yang berbeda yang akan menampilkan kualitas setiap solusi.
  1. Tantangan Panjang CodeChef
CodeChef Long Challenge adalah kontes bulanan yang berlangsung hingga 10 hari.
  1. Piala Peretas Facebook
Hacker Cup adalah kompetisi pemrograman terbuka tahunan Facebook. Terbuka untuk peserta di seluruh dunia, ini terdiri dari beberapa putaran dengan hadiah besar yang dipertaruhkan.
  1. Google Kode Jam
Google Code Jam adalah kompetisi pemrograman internasional yang diselenggarakan dan dikelola oleh Google. Diselenggarakan setiap tahun sejak tahun 2003.
  1. Liga Ilmu Komputer Amerika (ACSL)
American Computer Science League (ACSL) menyelenggarakan kontes ilmu komputer dan pemrograman untuk siswa sekolah menengah dan atas.
  1. Kontes Pemrograman Perguruan Tinggi Internasional (ICPC)
Kontes Pemrograman Perguruan Tinggi Internasional adalah kontes pemrograman algoritmik untuk mahasiswa. Salah satu kompetisi pemrograman kompetitif tertua di luar sana.

Kiat dan rekomendasi

Mari kita simpulkan dengan beberapa tip dan rekomendasi yang mungkin berguna jika Anda ingin terjun ke pemrograman kompetitif.
  • Pilih bahasa pemrograman.
Ini cukup jelas, tetapi masih layak disebut. Anda harus mulai dengan memilih bahasa pemrograman yang paling Anda sukai untuk digunakan dalam pemrograman kompetitif. C ++, Java, Python adalah yang paling umum dan diterima secara universal di sebagian besar kontes pemrograman kompetitif.
  • Kembangkan pengetahuan yang baik tentang struktur data dan algoritma.
Mengetahui setidaknya dasar-dasar struktur data dan algoritme pada dasarnya penting untuk berhasil menyelesaikan tantangan pemrograman kompetitif. Lihat artikel kami tentang algoritme dan struktur data untuk tautan ke materi pembelajaran tentang topik ini.
  • Temukan gaya pengkodean dan pendekatan Anda terhadap tantangan pemrograman.
Sebagian besar tantangan yang harus diselesaikan oleh peserta tantangan pemrograman kompetitif memiliki lebih dari satu solusi. Tujuannya adalah untuk menghasilkan solusi optimal. Jadi masuk akal untuk fokus pada pengembangan gaya pengkodean unik Anda dan pendekatan untuk tantangan pemrograman ini yang memungkinkan Anda membuat kode solusi terbaik dalam hal waktu dan meningkatkan kebutuhan kode Anda untuk eksekusi.
  • Cobalah berbagai situs web dan kontes pemrograman kompetitif.
Meskipun dalam semua kontes dan tantangan pengkodean kompetitif Anda perlu menyelesaikan masalah algoritme, gaya masalah ini dan persyaratan untuk kontestan dapat bervariasi dalam beberapa cara, mulai dari pendekatan hingga kesulitan dan sensitivitas waktu. Jadi disarankan untuk mencoba setidaknya beberapa masalah yang berbeda untuk memiliki pemahaman yang lebih baik tentang pemrograman kompetitif secara umum.
  • Terus selesaikan masalah pemrograman secara teratur.
Latihan teratur penting untuk berhasil dalam banyak hal, tetapi dalam pemrograman kompetitif, itu benar. Pengembangan pola pikir dan pendekatan yang tepat untuk masalah pengkodean membutuhkan banyak pelatihan rutin. Anda tidak perlu membatasi diri pada platform khusus yang tercantum di atas, terutama di awal ketika masalah pemrograman kompetitif mungkin terasa terlalu menantang. Anda dapat menggunakan CodeGym dengan lebih dari 1200 tugas pengkodean Java untuk berlatih, serta game pengkodean atau platform persiapan wawancara teknis .
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION