Bagaimana kita dapat mengevaluasi kinerja siswa dalam kursus sains komputasi?

10

Sebagai seseorang yang harus mengajar kursus dalam ilmu komputasi, saya dihadapkan dengan pertanyaan kuno: bagaimana saya mengevaluasi kemampuan siswa untuk mempelajari subjek yang tergantung pada aplikasi yang sulit untuk diuji dengan metode pengujian "standar" ( ujian tertulis atau lisan)? Bagian dari kursus tergantung pada pemahaman teori dan metode pada tingkat abstrak, dan untuk itu, saya ingin terus menggunakan tes tertulis untuk konsep-konsep tersebut. Namun, menguji pemahaman tentang penggunaan praktis metode ini membutuhkan pendekatan yang berbeda

Mengingat tantangan alami yang terkait tidak hanya dengan proliferasi platform yang berbeda (untuk MATLAB, Modelica, Mathematica, dan bahasa lainnya) tetapi juga dengan konektivitas internet dan keamanan pengujian, saya akan tertarik pada metode baru atau asli untuk secara praktis mengevaluasi pemahaman siswa tentang metode numerik. (Fitur yang mempromosikan keamanan uji sangat diinginkan.)

EDIT: Saya juga harus menyebutkan bahwa kelas saya mengajar adalah kursus tingkat pengantar, sehingga siswa memiliki basis pengetahuan yang relatif kecil untuk bekerja.

aeismail
sumber
1
Mengizinkan mereka bekerja pada proyek (mini?) Pilihan mereka, mengedit / meninjau secara kritis kode sumber terbuka seperti PLASMA / MAGMA / LAPACK / ScaLAPACK? Saya berbicara dari sudut pandang seorang siswa.
Pemeriksaan
Terima kasih atas komentarnya — itu mengingatkan saya bahwa saya lupa menyebutkan bahwa ini adalah kursus pengantar, jadi saya tidak seharusnya membawa konsep seperti pemrograman paralel dan optimalisasi kinerja — hanya fokus pada metode numerik dasar dan algoritma.
aeismail

Jawaban:

5

Inilah yang saya lihat sebagai asisten siswa dan pengajaran:

  • Proyek-proyek dalam pemrograman dan metode numerik bagus untuk menyatukan banyak konsep dan memaksa saya dan siswa lain untuk menjadi kreatif. Namun, dengan proyek komputasi, mungkin perlu mencurahkan sedikit waktu untuk pertukangan perangkat lunakketerampilan sehingga siswa menulis kode yang lebih teratur. Ketika saya masih mahasiswa dan tidak tahu apa-apa, saya punya kode spageti cut-and-paste yang mungkin sangat bagus di kelas. Anda mungkin ingin menghindari nasib itu dengan mengajari mereka beberapa praktik yang baik. Juga, jika Anda memberikan setiap orang proyek yang cukup mirip (misalnya, menghitung semua sifat termodinamika dalam daftar yang diberikan untuk satu set senyawa adalah satu proyek jangka panjang dalam kelas termodinamika sarjana; kemudian, itu adalah pekerjaan rumah selama seminggu) dalam termodinamika lulusan), pada dasarnya mengharapkan mereka secara praktis saling menyalin satu sama lain dan men-debug kode masing-masing.
  • Pekerjaan rumah , mingguan atau dua mingguan, adalah metode jangka pendek terbaik untuk mempelajari metode dan konsep baru. Lebih mudah untuk memprogram sesuatu, diberikan seminggu untuk melakukannya. Sekali lagi, perkirakan mereka akan lebih atau kurang menyalin satu sama lain dan men-debug kode masing-masing.
  • Kuis tidak benar-benar baik untuk apa pun selain beberapa metode pendek atau pertanyaan analisis. Anda tidak dapat melakukan pemrograman apa pun pada kuis, tetapi seharusnya juga ada sedikit kecurangan , maksud saya, kolaborasi. Anda juga dapat menguji pengkodean pensil-dan-kertas dalam kuis, yang bagus untuk konsep dasar, tetapi mungkin tidak adil untuk konsep lanjutan, atau apa pun yang membutuhkan perintah yang sangat khusus, karena siswa akan memiliki akses ke dokumentasi jika mereka mengkode pada komputer.
  • Ujian kurang lebih sama dengan kuis, jika diberikan di kelas, tetapi lebih lama, dan lebih sulit. Saya memiliki kelas yang memberikan ujian dibawa pulang dalam pekerjaan komputasi, dalam hal ini Anda dapat mengajukan pertanyaan yang lebih berorientasi pada komputasi dan mengharapkan mereka memprogram untuk memecahkan masalah. Namun, ujian untuk dibawa pulang memiliki masalah yang sama dengan pekerjaan rumah dan proyek tipe sarjana, dalam hal ini, mungkin lebih baik jika Anda membuat kebijakan kolaborasi yang lebih kejam untuk ujian untuk dibawa pulang. Saya sudah menjalani beberapa ujian dibawa pulang yang sangat bagus, jadi saya pikir ini bisa bekerja dengan baik jika instrukturnya cukup kreatif.
  • Laboratorium Komputasi kurang efektif daripada laboratorium basah analog di kelas sains, karena dengan komputer di depan Anda, jauh lebih mudah untuk melakukan kesalahan. Ada beberapa orang di kelas saya yang selalu menghabiskan waktu di laboratorium komputasi bermain poker online. Laboratorium ini mungkin paling efektif sebagai demonstrasi, atau sebagai pelajaran yang diawasi pada keterampilan praktis dalam ilmu komputasi jika Anda memiliki asisten pengajar yang cukup untuk berkeliaran di laboratorium dan memastikan bahwa orang mendapatkan bantuan dan tidak ada yang bermain-main online.
Geoff Oxberry
sumber
5

Saya telah memberi kuliah, mengajar, atau membantu dalam berbagai kursus yang berkaitan dengan metode numerik dan komputasi, dari tingkat sarjana tingkat atas hingga tingkat pascasarjana tingkat lanjut. Berikut adalah elemen-elemen yang saya temukan bermanfaat sebagai instruktur:

Proyek Penelitian

Untuk kelas lanjutan, proyek penelitian (menggabungkan penelitian numerik, biasanya beberapa pengembangan perangkat lunak, dan penulisan) adalah cara yang sangat baik bagi siswa untuk mengikat dalam penelitian mereka dengan kursus akademik mereka. Saya pikir suatu proyek harus bersifat wajib dalam kursus tingkat pascasarjana, tetapi untuk sarjana mereka lebih baik diganti dengan pekerjaan yang lebih terarah.

Memprogram Tugas Rumah

Inti dari setiap kelas ilmu komputasi adalah tugas pemrograman yang dapat diakses. Untuk siswa yang tidak memiliki pengalaman pemrograman Anda perlu mencadangkan tugas Anda dengan beberapa sesi pengantar untuk lingkungan pemrograman, dan idealnya semacam "ruang bantuan" yang ditawarkan baik oleh departemen Anda atau organisasi siswa seperti SIAM. Membiarkan banyak kerangka kerja dan bahasa pemrograman bisa sulit, saya menerima program yang ditulis dalam bahasa apa pun tetapi hanya mendukung satu lingkungan, biasanya tersedia secara bebas di laboratorium komputer Universitas (sistem operasi, editor, shell, interpreter, dll ...)

Kuis

Saya sangat suka kuis pendek 10-15 menit di kelas sekali setiap minggu atau setiap minggu. Ini adalah umpan balik dua arah yang baik: para siswa melihat bagaimana mereka melakukan hal yang bertentangan dengan harapan saya dan terhadap satu sama lain, dan saya melihat konsep mana yang mereka pukul dan hilang. Gaya evaluasi ini tidak umum digunakan di Eropa, dan saya pikir ini memalukan.

Pemeriksaan

Pemeriksaan adalah pensil dan kertas, dengan analisis algoritma, fragmen kode, dan teknik matematika. Saya tidak pernah berpartisipasi dalam ujian laboratorium komputer, baik sebagai siswa atau instruktur / evaluator. Saya pikir hal terdekat yang saya lihat adalah mengharuskan siswa untuk menunjukkan pekerjaan rumah atau proyek mereka serta menjawab pertanyaan tentang desain atau implementasi.

Hambatan Ketidakjujuran

Baik sebagai siswa dan sebagai instruktur, saya telah melihat ketidakjujuran yang cukup dalam sistem akademik untuk menghindari mengandalkan kehormatan untuk lebih dari 50% dari nilai siswa. Ini berarti bahwa evaluasi seperti proyek dan pekerjaan rumah, di mana akses ke sumber daya eksternal dapat menyebabkan ketidakjujuran akademik, tidak berkontribusi lebih dari 50% dari nilai kursus.

Aron Ahmadia
sumber
Saya pikir poin terakhir sangat penting — saya masih akan memiliki ujian tertulis di kelas untuk membahas poin-poin yang dapat diuji dalam format itu. Setidaknya itu akan menjadi dua pertiga kelas. Saya juga akan memastikan bahwa ada tulisan yang menyertai proyek di luar kelas, sehingga siswa harus menghabiskan setidaknya beberapa waktu untuk terlibat dengan materi. Saya mungkin juga melakukan beberapa pengacakan input dan mengubah masalah untuk mengurangi godaan dan kemampuan untuk menipu.
aeismail
@AronAhmadia: Kuis mingguan adalah standar di universitas-universitas Jerman di seluruh departemen meskipun mereka sepenuhnya mandiri.
Deathbreath
@aeismail: Orang Amerika memiliki pemahaman yang sangat sempit (berbatasan dengan orang yang menggelikan dalam beberapa kasus) tentang plagiarisme. Tahun pertama Anda mungkin dapat menjaga siswa dari berkolaborasi, tetapi tahun-tahun berikutnya, Fachschaft akan membuat katalog tugas Anda dan akan semakin sulit untuk mengajukan masalah yang belum diselesaikan ke tingkat yang substansial pada tahun-tahun sebelumnya.
Deathbreath
@Deathbreath: (ke Aron) Kuis mingguan tidak standar di sini di Aachen — setidaknya tidak dalam Teknik Mesin. Saya bahkan tidak tahu apakah saya diizinkan memberi mereka. (Bukannya aku ingin.)
aeismail
@Deathbreath: (untuk saya) Jika siswa menggunakan ujian yang lalu untuk mempelajari metodologi, saya senang membiarkan mereka menggunakannya. Saya lebih khawatir bahwa mereka belajar cara menggunakan alat. Yang mengatakan, saya mengubah konten kursus dari tahun ke tahun, jadi siapa pun yang mendapatkan skor sempurna dalam barang-barang lama dan telur angsa dalam barang-barang baru mungkin agak curiga terlalu banyak mengandalkan Fachschaft .
aeismail
5

Beberapa jawaban lain menyarankan proyek individual. Saya melakukan itu di kelas perangkat lunak elemen hingga dan ini sangat menyenangkan; Saya percaya itu juga sangat instruktif bagi siswa. Pada saat yang sama, itu juga sangat intensif waktu: terakhir kali saya memiliki 18 siswa dan itu praktis merupakan pekerjaan penuh waktu untuk seluruh semester untuk mengawasi proyek-proyek ini. Jadi kita harus memiliki kelas yang cukup kecil untuk membuat pekerjaan itu berhasil.

Wolfgang Bangerth
sumber
Sebagai catatan, saya telah menuliskan pengalaman saya dalam publikasi # 39 di math.tamu.edu/~bangerth/publications.html#x-reviewed
Wolfgang Bangerth
2

Menurut pendapat jujur ​​saya, saya pikir ujian akhir adalah untuk menerapkan pengetahuan Anda di wilayah asing. Saya akan mengusulkan proyek terapan yang dirancang untuk menguji kemampuan siswa untuk memilih model yang efektif, diskritisasi, metode pendekatan / pemecah, paralelisme yang dapat dieksploitasi, perkiraan kesalahan dan analisis numerik, serta metode visualisasi untuk menggambarkan fenomena fisik tertentu dari minat komputasi. Saya akan melangkah lebih jauh dengan meminta siswa untuk membenarkan setiap pilihan berdasarkan ukuran masalah / akurasi yang diharapkan. Kuncinya adalah mengetahui metode mana yang sesuai di bawah kendala fenomena yang sedang diselidiki. Siswa dapat memilih untuk memilih fenomena yang mereka pilih. Tetapi jika Anda ingin membuatnya lebih menantang, tugaskan setiap siswa proyek komputasi dalam bidang yang tidak terkait dengan penelitian disertasi mereka.

Paul
sumber
Mahasiswa saya adalah mahasiswa tahun kedua, jadi mereka jauh dari memiliki bidang penelitian disertasi mereka. :-) Tapi pikiran itu pasti dihargai.
aeismail