TLX Training Gate – #2 Pemrograman Kompetitif Dasar

Setelah suksesnya materi “Pemrograman Dasar” sebagai topik pertama dari TLX Training Gate, kontributor materi mulai merencanakan untuk penulisan topik materi berikutnya: “Pemrorgaman Kompetitif Dasar”.

Katalis & Energi Aktivasi

Akhir Januari, saat TOKI Camp berlangsung, proyek Training Gate TOKI untuk topik kedua ini dimulai. Momen ketika banyak alumni TOKI berkumpul untuk mengerjakan sesuatu menjadi saat yang tepat untuk memulai penulisan materi. Seperti yang pernah dikatakan Jordan, sesi pertemuan dan mengerjakan tugas bersama berperan sebagai “energi aktivasi” untuk pengerjaan proyek secara remote nantinya.

Awalnya tim kontributor untuk topik ini terdiri dari:

  1. William Gozali (TOKI 2011)
  2. Arianto Wibowo (TOKI 2013)
  3. Agus Sentosa (TOKI 2015)
  4. Muhammad Ayaz Dzulfikar (TOKI 2015)

Dengan tutorial Latex dan Git kilat, tim ini mulai menulis materi secara paralel. Saat camp berlangsung, kontributor materi ini mendapatkan bantuan dari Jonathan Irvin (TOKI 2013) dan Ali Jaya (TOKI 2012). Repositori materi pun mengalami fork habis-habisan dan pengerjaan berlangsung dengan kecepatan tinggi.

balap
Balap-balapan fork

Ketika camp berakhir, tim berhasil menyelesaikan sekitar 60% dari silabus pemrograman kompetitif dasar. Berkat camp ini, terdapat spike dari grafik kontribusi pengerjaan materi. Ternyata “energi aktivasi” yang dihasilkan memang sangat bermanfaat :)

spike
Spike!

Pengerjaan Sesudah TOKI Camp

Pekerjaan tim ini kemudian dibantu oleh alumni lain: Alham Fikri Aji (TOKI 2010) dan Maximilianus (TOKI 2015). Hingga awal Maret, akhirnya materi selesai ditulis dan sesuai dengan silabus yang direncanakan. Berikut silabus yang menjadi materi topik ini:

1. Perkenalan
Motivasi
Soal ad hoc

2. Matematika Diskret Dasar
Aritmetika modular
Faktor bilangan dan sifatnya
FPB dan KPK
Prime generation
Prinsip inklusi eksklusi
Pigeon Hole Principle
Kombinatorik

3. Brute Force
Konsep
Teknik umum
Studi kasus (umum)

4. Divide and Conquer
Konsep
Studi kasus: Merge Sort dan QuickSort

5. Greedy
Konsep
Studi kasus: Coin Change
Studi kasus: Activity Selection

6. Dynamic Programming
Konsep
Studi kasus: Coin Change
Studi kasus: Knapsack
Studi kasus: Matrix Chain Multiplication (diadopsi menjadi Cutting Stick, UVa 10003)

7. Struktur Data Dasar
Linked list
Stack
Queue

8. Perkenalan Graph
Konsep
Jenis dan sifat graph
Representasi graph
Graph traversal (Breadth First Search, Depth First Search)
Graph khusus: tree, directed acyclic graph

9. Memenangkan Kompetisi
Tips untuk menghadapi kompetisi sekaligus penutup

Seluruh kontributor materi dapat dilihat di halaman berikut.

Berikutnya: Review

Yang tersisa adalah proses review, perbaikan, dan memilih soal latihan. Tertarik untuk menjadi reviewer? Unduh materinya di sini, dan sampaikan komentar/saran/masukan tentang materi yang bersangkutan. Tentu saja Anda tidak perlu me-review keseluruhan materi :)

Hasil review ini kemudian dapat Anda tuliskan sebagai issue di repositori TLX Training Gate. Kontributor akan menanggapi masukan Anda, lalu memperbaikinya.

Demikian informasi yang dapat saya sampaikan terkait TLX Training Gate. Ditunggu masukan-masukannya :)

One thought on “TLX Training Gate – #2 Pemrograman Kompetitif Dasar

Leave a Reply