Sunday, June 26, 2011

Skill "CODING" Mahasiswa Indonesia #MAAF# LEMAH!

Lemahnya skill coding mahasiswa di Indonesia adalah penyakit gawat, menular, mematikan dan secepatnya harus diberantas tuntas :) . Mungkinkah ini juga yang membuat produksi software kita secara kuantitas dan kualitas dibawah negara tetangga kita? Ingat bahwa menurut laporan IDC dan Gartner, jumlah developer professional Indonesia mencapai 71.600 orang di tahun 2008. Jumlah developer kita tiga kalinya malaysia dan empat kalinya singapore loh :(
Wahai para mahasiswaku, andai kau tahu, jurusan computing di Indonesia mengambil acuan kurikulum IEEE Computing Curricula 2005. Asosiasi Perguruan Tinggi Informatika dan Komputer alias APTIKOM, yang menjadi wadah universitas yang memiliki jurusan atau prodi computing, membuat kurikulum inti yang mengacu ke IEEE Computing Curricula 2005, meskipun di beberapa sisi tidak konsisten :) Tidak konsisten karena Information System (Sistem Informasi)  dan Computer Engineering (Teknik/Sistem Komputer) saja yang direkomendasikan jadi jurusan atau prodi. Computer Science (Ilmu Komputer), Information Technology (Teknologi Informasi) dan Software Engineering (Rekayasa Perangkat Lunak) disuruh tumplek beg di satu wadah namanya Teknik Informatika :(
Padahal sebenarnya pembobotan materi yang dibidik berbeda-beda. Silakan cek dari gambar di bawah, target kemampuan yang diharapkan dari lulusan masing-masing cabang ilmu computing menurut IEEE Computing Curricula 2005.
ieeecurricula2005.gif
Secara IEEE Computing Curricula 2005, mahasiswa prodi/jurusan/fakultas/ dibawah disiplin ilmu computing, boleh tidak mengerti masalah sistem informasi atau teoritika database (mahasiswa CE misalnya), boleh juga nggak ngerti arsitektur komputer (mahasiswa IS dan IT  misalnya). Tapi seluruh mahasiswa wajib hukumnya, dan ini wajib ain sifatnya :) punya skill coding.
Grafik pembobotan kurikulum menurut IEEE Computing Curricula 2005 adalah seperti di bawah. Sekedar informasi, CE=Computer Engineering (Teknik Komputer), CS=Computer Science (Ilmu Komputer),  IS=Information Systems (Sistem Informasi), IT=Information Technology (Teknologi Informasi), SE=Software Engineering (Rekayasa Perangkat Lunak). Kemampuan coding dan programming masuk di materi Software Methods and Technologies. Lihat bahwa semua cabang ilmu di bawah computing membuat lengkungan di materi itu, meskipun dengan bobot berbeda antara sisi theoritical dan applied. Dan lihatlah di cabang ilmu software engineering, bentuk ovalnya paling manis dan sempurna, khususnya bobot untuk aspek Software Methods and Technologies :)
Ketika ada dosen atau peneliti di kampus yang mengatakan bahwa coding dan programming tidak wajib bagi mahasiswa jurusan computing, itu sebenarnya mencederai dunia kurikulum IT di Indonesia dan dunia hehehe. Mahasiswa computing tanpa skill coding itu bagaikan garam tanpa asinnya :)
ce.jpg
cs.jpg
is.jpg
it.jpg
se.jpg
Wokeh, sebenarnya bagaimana kiat mendesain materi ajar dan mata kuliah supaya tidak ada mahasiswa computing yang terkena penyakit mental tersebut? :)
  • Desain mata kuliah untuk tidak mengajarkan banyak bahasa pemrograman dengan paradigma yang sama. Mengajari mahasiswa dengan banyak bahasa pemrograman, artinya mendidik mereka untuk tidak menguasai satupun bahasa pemrograman.
  • Fokuskan ke satu bahasa pemrograman utama dan gunakan untuk penugasan di setiap mata kuliah. Capai level mahir di satu bahasa programming baru berpindah ke bahasa pemrograman yang lain. Saya dulu di Saitama University sampai semester 4, hanya boleh menggunakan bahasa C untuk semua penugasan mata kuliah. Semester lima baru diajarkan Object-Oriented Programming (OOP). Konsep OOP benar-benar maknyus kita pahami, ketika kita sudah dibuat pusing memanage ribuan baris code pemrograman procedural. Konsep abstraction begitu nyata, teoritika inheritance begitu mempesona, dan hakekat class yang seperti cetakan kue dengan kuenya sendiri adalah object, begitu jelas, tuntas dan sempurna :)
  • Libatkan mahasiswa dalam berbagai project riil untuk melatih dan mendekatkan ilmu yang dipelajari ke dunia industri
  • Bila memungkinkan hindari ujian bergaya multiple choice, arahkan ke develop project atau laporan analisa
  • Bagi mahasiswa yang mengerjakan tugas akhir, khususnya untuk yang software (product) development, wajibkan menggunakan tahapan software development life cycle (specification, design, coding, testing). Latih menyusun business process dan mendesain software dengan menggunakan UML yang relatif sudah standard.
Di sisi mahasiswa, mahasiswa juga harus aktif, jangan malas untuk banyak mencoba dan mencoba. Ingat bahwa tidak akan bisa mengandalkan materi kuliah untuk menjadi mahir di pemrograman. Bila perlu bikin project software kecil-kecilan dan mulai tawarkan lewat internet. Melatih skill coding sekaligus juga jiwa entrepreneurship.

No comments:

Post a Comment