autograder_oddysseus_itb

20
Autograder – versi Oddysseus Presentasi ITB 5 Mei 2015 Inggriani, Adi, Saiful, Fazat Presentasi Untuk Dosen Programming IL, Autograder, ITB - 5 Mei 2015 1

Upload: dwi-aja-kok-repot

Post on 24-Jan-2016

11 views

Category:

Documents


0 download

DESCRIPTION

asarwaa

TRANSCRIPT

Page 1: Autograder_Oddysseus_ITB

Autograder – versi Oddysseus

Presentasi ITB

5 Mei 2015

Inggriani, Adi, Saiful, Fazat

Presentasi Untuk Dosen Programming

IL, Autograder, ITB - 5 Mei 2015 1

Page 2: Autograder_Oddysseus_ITB

Ringkasan

• Presentasi ini memperkenalkan autograder yang dikembangkan oleh KK DSE, dan dioperasikan di lingkungan IF-ITB, yang dinamakan Oddysseus

• Tujuan utama :– Menumbuhkan kesenangan dan passion terhadap

programming

– Menaikkan mutu pengajaran programming dengan memberikan lebih banyak latihan yang diberi feedback

– Men-set suatu standar kompetensi programming di antara Perguruan Tinggi di Indonesia

IL, Autograder, ITB - 5 Mei 2015 2

Page 3: Autograder_Oddysseus_ITB

Autograder

• Sebuah program yang menilai program secara otomatis.

• Penilaian program :– Black box – diperiksa hasil eksekusinya

– White box - diperiksa source code programnya

• Autograder yang dipakai di lingkungan IF ITB diadaptasi dari autograder untuk lomba, dan tersedia di TOKI Learning Center: http://www.tokilearning.org/lx/guest

• Autograder yang dipakai diintegrasikan dengan Moodle, dan diberi nama Oddysseus

IL, Autograder, ITB - 5 Mei 2015 3

Page 4: Autograder_Oddysseus_ITB

Penilaian Pada Lomba Programming

• Blackbox : – Peserta mensubmisi source code dalam bahasa yang

diperbolehkan.

– Source code yang disubmit dirun berdasarkan test cases (input, output, dan untuk beberapa kasus “checker”), yang diorganisasi per subtask

• Output only :– Peserta harus submit hasil run-nya (tanpa source

codenya) saja

• Interaktif :– Program peserta berinteraksi dengan program penilai.

IL, Autograder, ITB - 5 Mei 2015 4

Page 5: Autograder_Oddysseus_ITB

Autograder - Oddysseus

IL, Autograder, ITB - 5 Mei 2015 5

Page 6: Autograder_Oddysseus_ITB

Prinsip Penilaian Black Box

• Program ditest (di-run) dengan test case dan hasilnya dibandingkan dengan hasil run oleh autograder. Jika sama, maka benar

• Autograder bisa menerima program Pasal, C, C++, Java dan menjalankan program submisi di sandbox, untuk menghindari “crash” jika program siswa mengakses sistem yang menyebabkan crash

• Sifat autograder yang dibuat :– Scalable, jika banyak yang harus dinilai, server baru

dihidupkan otomatis. Contoh: IOI2012 memakai 80 komputer dari 170 komputer yang disediakan

– Robust, jika server tempat merun program siswa mati karena program siswa, server lain dihidupkan

IL, Autograder, ITB - 5 Mei 2015 6

Page 7: Autograder_Oddysseus_ITB

Keuntungan

• Penilaian manual :– Asisten menyiapkan test case, mengeksekusi dan mengamati satu per satu

hasil eksekusi.

– Jika ada 400 mahasiswa maka program diakses, dibuka, dieksekusi, siamati hasilnya, dicatat.

• Pemeriksaan oleh program lebih cepat :– Penilaian setiap tugas secara manual membutuhkan 171 detik dibandingkan

oleh komputer yang hanya memerlukan waktu 10 detik, data menurut [Karol Danutama, Tugas Akhir, pembangun Oddysseus]. Berarti penghematan waktu penilaian adalah 161 detik/mahasiswa/program

– Untuk 400 mahasiswa, dihemat waktu 400*161 detik = 64.400 detik yaitu 17,8 jam

– Rata-rata, setiap minggu mahasiswa diminta mengerjakan 3 tugas, maka selama 14 minggu dalam semester (karena ujian juga dinilai oleh komputer), maka penghematan waktu penilaian adalah 400*3*64.400=77.280.000 detik, atau21.466,67 jam

IL, Autograder, ITB - 5 Mei 2015 7

Page 8: Autograder_Oddysseus_ITB

Perbedaan

Pengajaran Programming

• Berkali-kali, latihan. Ujian tidak harus online

• Soal mulai dari belajar (paling sederhana) sampai kompleks

• Tidak cukup dinilai hasil eksekusinya, readability dan syarat-syarat lain seperti standard koding menjadi faktor penilaian

• Time limit dan memory limit hanya perlu untuk soal tertentu, atau di kuliah analisis algoritma

• Proses “koding” menjadi faktor penilaian

Lomba Pemrograman

• Hanya sesaat, harus online

• Soal tingkat tinggi, persoalan

kompleks terutama jika sudah

sampai tingkat dunia

• Program dinilai dari hasil

eksekusinya, tak ada standard

koding atau readability

• Time limit dan memory limit

sangat penting

• Proses koding tak dinilai

IL, Autograder, ITB - 5 Mei 2015 8

Page 9: Autograder_Oddysseus_ITB

Kuliah programming

• Tingkatan kuliah yang disuport oleh black box

autograder yang ada saat ini:

– Dasar Programming

– Struktur Data

– Object Oriented Programming

• Walau hanya mampu menilai blackbox (hasil

eksekusi), saat ini autograder disesuaikan untuk

menilai kuliah struktur data dan object oriented

programming sesuai dengan perkuliahan di IF

IL, Autograder, ITB - 5 Mei 2015 9

Page 10: Autograder_Oddysseus_ITB

Struktur Data dan OOP

• Ada latihan :

– membuat ADT/kelas

– Memakai ADT/kelas

• Untuk latihan membuat ADT/kelas, penilaian dilakukan dengan menggunakan “driver” yang diberikan. Jadi, ada konvensi yang harus dipenuhi.

• Untuk Latihan memakai kelas, akan ditetapkan konvensi koding di mana setiap procedure/function call atau method invocation, harus dituliskan pesan tertentu, atau memakai ADT/kelas yang disediakan.

• Jadi, untuk Struktur data dan OOP perlu sosialisasi

IL, Autograder, ITB - 5 Mei 2015 10

Page 11: Autograder_Oddysseus_ITB

Rencana Peningkatan Autograder

• Autograder akan ditambah kemampuannya untuk melakukan pemeriksaan terhadap source code (white box, static analysis) :

– Checker sederhana (misalnya untuk mengenali keyword, apakah versi harus rekursif, loop memakai bentuk tertentu)

– Challenge : siswa mensubmit test case, jika test case mendeteksi bug maka akan dapet point

– Memeriksa kemiripannya terhadap solusi (“plagiarism”)

– Static Code analysis : deteksi bads mell, ketaatan terhadap coding rules, .... Ada +/- 100 kriteria yang siap ditest oleh berbagai tools yang ada : CPP check, PMD, Findbugs,....

IL, Autograder, ITB - 5 Mei 2015 11

Page 12: Autograder_Oddysseus_ITB

Rencana Peningkatan Penilaian

• Penilaian untuk program reading yang saat ini

memanfaatkan “output only”

• Penilaian untuk menjawab isian singkat, yaitu

kode program yang harus dituliskan untuk

kerangka yang diberikan [akan diberikan

contoh]

IL, Autograder, ITB - 5 Mei 2015 12

Page 13: Autograder_Oddysseus_ITB

Rencana Peningkatan Doppel-Ganger

• Doppel adalah editor yang mampu menangkap proses mengetik kode program:– Banyaknya ketikan versus banyaknya karakter source

code

– Banyaknya kompilasi

– Proses “maju-mundur”

• Ganger adalah objek yang dapat berkomunikasi ke Autograder untuk minta kompilasi & eksekusi

• Kemampuan Dopel akan ditambah dengan beberapa kemampuan menilai proses koding yang lain (akan dipikirkan bersama)

IL, Autograder, ITB - 5 Mei 2015 13

Page 14: Autograder_Oddysseus_ITB

Dopel-Ganger

IL, Autograder, ITB - 5 Mei 2015 14

Page 15: Autograder_Oddysseus_ITB

Rencana Pembentukan Bank soal

• Bank soal akan dipakai bersama, dan diberi meta data :

– Bahasa

– Koding/AP/SD-1/SD-2/OOP-1/Oop-2

– Sulit/Sedang/Mudah

– Bidang [math, parser,...]

– Sumber

– Latihan Wajib (Yes/No)

• Mahasiswa akan diberi latihan wajib yang harus diselesaikan secara mandiri dan dinilai dengan komputer, sebagai bagian dari penilaian

• Ujian dengan soal tertentu.

IL, Autograder, ITB - 5 Mei 2015 15

Page 16: Autograder_Oddysseus_ITB

Persyaratan Untuk Gabung

• Menjaga :

– Kredibilitas

– Integritas

– Cinta programming

– Non profit

– Versi saat ini: hanya dapat diakses di Data Center ITB

• Lisence agreement : prinsip non-komersial

– Sistem Autograder “ kepunyaan” ISEC

– konten “kepunyaan” masing, ISEC mendapat izin memanfaatkan untuk bahan riset

IL, Autograder, ITB - 5 Mei 2015 16

Page 17: Autograder_Oddysseus_ITB

Pengembangan Bank Soal

• Bahan Latihan [wajib, repeatable]

• Bahan latihan khusus

– Kuis

– Test kecil

• Bahan Ujian :

– UTS

– UAS

IL, Autograder, ITB - 5 Mei 2015 17

Page 18: Autograder_Oddysseus_ITB

Soal isian

Inisialisasi

First-elmt

While (.....) do

Begin

(* 2 proses ....*)

(* next elmt *)

End;

Terminasi

IL, Autograder, ITB - 5 Mei 2015 18

Page 19: Autograder_Oddysseus_ITB

Bank Soal

• Soal akan dikelompokkan per tema :

– Koding dalam bahasa tertentu (C, Pascal, C++,..)

– Algoritma dan Programming

• Mudah

• Sedang

• Sulit

– Struktur Data

• Membuat kelas

• Memakai Kelas

IL, Autograder, ITB - 5 Mei 2015 19

Page 20: Autograder_Oddysseus_ITB

Jenis Instruksi

• Menulis kode, dinilai hasil – Blackbox– Tanpa cerita

– Dengan cerita

• Menulis kode dengan syarat tertentu, [checker] misalnya – Tanpa array

– Loop harus salah satu bentuk (while, repeat..)

– Rekursif

– Memakai struktur data tertentu

• Memakai “paket” yang sudah disediakan :– API sistem

– Mesin karakter

– Mesin kata

IL, Autograder, ITB - 5 Mei 2015 20