Minggu, 21 Juni 2015

Kajian Artikel Ilmiah - OverCode: Visualizing Variation in Student Solutions to Programming Problems at Scale

OverCode: Visualizing Variation in Student Solutions to Programming Problems at Scale

ELENA L. GLASSMAN, JEREMY SCOTT, and RISHABH SINGH, MIT CSAIL
PHILIP J. GUO, MIT CSAIL and University of Rochester
ROBERT C. MILLER, MIT CSAIL


In MOOCs, a single programming exercise may produce thousands of solutions from learners. Understanding solution variation is important for providing appropriate feedback to students at scale. The wide variation among these solutions can be a source of pedagogically valuable examples and can be used to refine the autograder for the exercise by exposing corner cases. We present OverCode, a system for visualizing and exploring thousands of programming solutions. OverCode uses both static and dynamic analysis to cluster similar solutions, and lets teachers further filter and cluster solutions based on different criteria. We evalu-ated OverCode against a nonclustering baseline in a within-subjects study with 24 teaching assistants and found that the OverCode interface allows teachers to more quickly develop a high-level view of students’ understanding and misconceptions, and to provide feedback that is relevant to more students’ solutions.

Reza Fahlevi (G64120003)

Program merupakan serangkaian perintah yang berupa kode yang digunakan oleh sang programmer untuk membuat aplikasi atau untuk menyelesaikan masalah. Setiap program dapat dibentuk melalui berbagai macam bahasa pemograman. Setiap bahasa pemograman memiliki cirri khasnya sendiri dan cirri khas itulah yang menjadi daya tarik tersendiri bagi para programmer. Dalam membuat suatu program biasanya di dasari oleh latar belakang programmer itu sendiri diantaranya logika, pengalaman, serta budaya programmernya sendiri. Untuk itu tidak jarang dijumpai banyak kasus susunan kode program yang berbeda antara satu programmer dengan programmer lain namun memiliki output atau hasil yang sama.

Pada kasus ini penulis membahas tentang sistem yang dapat menvisualisasi dan mengeksploarsi variasi dari ratusan solusi pemogramman yang dapat meng-grade secara otomatis, sistem tersebut dinamakan OverCode. OverCode digunakan bagi lembaga yang memiliki kelas pemogramman dimana banyak para murid yang diharuskan menyelesaikan satu permasalah yang sama. OverCode menggunakan tekhnik novel clustering yang melihat dari kesamaan clean code nya. Cluster tersebut berisi serangkaian dari solusi yang memiliki komputasi sama tetapi variable berbeda atau urutan statement nya yang berbeda. OverCode dapat memberikan sudut pandang baru bagi para pengajar pemogramman bahwa variasi dari kode program itu tak dapat dihindari. Jadi tidak ada solusi mutlak dalam menangani suatu permasalahan dalam dunia pemograman.

Dalam interface aplikasi OverCode terdapat panel yang dinamakan stack pada kolom pertama yang menampung jumlah solusi berbeda dari permasalahan yang sama. Panel berikutnya pada kolom kedua terdapat sintaks yang beda namun memiliki makna sama. Pada kolom ketiga terdapat panel baris dari tiap kode yang sama yang digunakan oleh programmer dengan jumlah frekuensinya. Dalam proses analisisnya OverCode menggunakan tekhnik pipeline, tahapan analisisnya yaitu: Reformat solutions, Execute solutions, Extract variable sequence, Identify common variables, Rename common and unique variables,  dan Make stacks.  

Dengan adanya sistem para guru atau pengajar dapat dengan mudah mengetahui kondisi murid secara keseluruhan apakah murid tersebut paham atau tidak. Jadi pengajar atau guru dapat dengan cepat mengevaluasi hasil kinerja nya, dan mengambil tindak lanjutnya.

6 komentar:

  1. mungkin bisa juga nih sistem OverCode di terapkan di Ilmu Komputer IPB hahaha

    BalasHapus
  2. kajian ini merupakan suatu hal yang baru bagi saya mengenai sistem OverCode. keseluruhan kajian jelas dan mudah dimengerti. Keep your good work!

    BalasHapus
  3. Overcode bermanfaat sekali bagi instansi yang mempunyai klass pemrograman.
    luar biasa :)

    BalasHapus
  4. Fahmi Tajudin: bisa mi biar tambah greget belajar algornya haha
    Gaza: Iya za buat gua juga ini baru, makasih komennya
    Ilham: Bener ham aplikasinya memang bermanfaat, makasih komennya :)

    BalasHapus
  5. Fahmi Tajudin: bisa mi biar tambah greget belajar algornya haha
    Gaza: Iya za buat gua juga ini baru, makasih komennya
    Ilham: Bener ham aplikasinya memang bermanfaat, makasih komennya :)

    BalasHapus
  6. Komentar ini telah dihapus oleh pengarang.

    BalasHapus