Rabu, 17 Juni 2015

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

ELENA L. GLASSMAN, JEREMY SCOTT, and RISHABH SINGH, MIT CSAIL, MIT CSAIL
PHILIP J. GUO, MIT CSAIL and University of Rochester
ROBERT C. MILLER, MIT CSAIL
URL = http://dl.acm.org/citation.cfm?doid=2744768.2699760

Pengkaji = Atikah Rahayu Mandasari

Abstrak
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 evaluated
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.
Categories and Subject Descriptors: H.5.m. [Information Interfaces and Presentation (e.g., HCI)]:
Miscellaneous
General Terms: Design, Algorithms
Additional Key Words and Phrases: Programming education, learning at scale

Pengkaji : Atikah Rahayu Mandasari

Ulasan

Pada kajian ini mengkaji tentang bagai mana masiswa dengan mudah memahami kode dalam pemograman. Pada kesempatan ada cara untuk menvisualisasi solusi permasalahan mahasiswa adalah OverCode, sebuah sistem untuk memvisualisasikan dan mendalami variasi dalam ribuan solusi pemrograman. OverCode dirancang untuk membayangkan solusi yang benar dalam pengertian bahwa mereka sudah berlalu perataan otomatis biasanya sebuah tes kelas pemrograman di skala. Autograder yang tidak dapat memberikan umpan balik lebih lanjut pada solusi yang benar, dan ini namun ada mungkin masih baik dan variasi buruk pada solusi yang benar

Implementasi
Antarmuka pengguna OverCode-implementasi tergantung pada sebuah analisis pipa-solusi canonicalizes dengan cara-cara yang dirancang untuk agar pembacaannya manusia, yang disebutkan di sini sebagai cleaning
- Analisa Pipeline :OverCode saat ini diimplementasikan untuk Python, namun langkah-langkah pipeline digambarkan  berikutnya siap menjenderalisasi untuk bahasa-bahasa lain yang umumnya digunakan untuk mengajar programming.
ü    Solusi memformat ulang. Untuk penampilan yang konsisten, solusi yang memformat kembali untuk memiliki baris konsisten indentasi token dan spasi.
Kode 1 solusi memformat Ulang
ü   Menjalankan solusi. Masing program dijalankan sekali, menggunakan kasus tes yang sama. Selama setiap langkah eksekusi, nama-nama dan nilai-nilai variabel global dan lokal, serta kembali nilai-nilai dari fungsi, dicatatkan sebagai sebuah  trace program .
Kode 2 Menjalankan Solusi
ü      Mengekstrak urutan variabel. Selama langkah sebelumnya, Python eksekusi mencatat nilai-nilai semua dalam lingkupsetelah setiap eksekusi pernyataan variabel dalam program Python. Log yang dihasilkan adalah dirujuk sebagai trace program 
Kode3 Mengekstrak Urutan Variabel
ü  Mengidentifikasi variabel umum. Kita menganalisis semua jejak program, mengidentifikasi variabel yang identik urutan.
Kode 4.Mengidentifikasi variabel umum
ü  Mengganti nama variabel yang unik dan umum. Variabel yang sama mungkin memiliki
nama yang berbeda di setiap trace program. Nama yang diberikan untuk setiap variabel umum adalah nama variabel yang diberikan paling sering variabel yang umum di semua trace  program.
ü                  ü  Membuat tumpukan/Stack. Kita iteraterasi melalui solusi , membuat solusi tumpukan/stack
            yang sama-sama set baris kode.Kita membandingkan set baris kode karena
           solusi kemudian dengan otomatis memerintahkan baris yang tidak tergantung pada satu sama lain masih dapat                  masuk ke stack yang sama.

Kesimpulan
Sistem OverCode untuk memvisualisasikan ribuan Python .solusi pemrograman untuk membantu guru mendalami variasi di didalamnya. OverCode menggunakan ringan analisis statis dan dinamis untuk menghasilkan kumpulan solusi serupa dan menggunakan mengganti nama variabel untuk mempresentasikan solusi



-


1 komentar: