Microsoft Word 249 Kieu Tuan Dung doc Tuyển tập Hội nghị Khoa học thường niên năm 2019 ISBN 978 604 82 2981 8 219 TÍCH HỢP CÔNG CỤ HỖ TRỢ GIẢNG DẠY VÀ HỌC TẬP CÁC MÔN LẬP TRÌNH VÀO MOODLE Kiều Tuấn Dũ[.]
Tuyển tập Hội nghị Khoa học thường niên năm 2019 ISBN: 978-604-82-2981-8 TÍCH HỢP CƠNG CỤ HỖ TRỢ GIẢNG DẠY VÀ HỌC TẬP CÁC MƠN LẬP TRÌNH VÀO MOODLE Kiều Tuấn Dũng Trường Đại học Thủy lợi, email: dungkt@tlu.edu.vn GIỚI THIỆU CHUNG Học lập trình máy tính khó khăn nên địi hỏi nỗ lực, chăm từ sinh viên để đạt kết tốt Sinh viên cần làm nhiều tập viết nhiều chương trình để cải thiện khả lập trình Trong báo này, tơi trình bày hai cơng cụ CodeRunner Virtual Programming Lab sử dụng để tích hợp vào Moodle nhằm nâng cao chất lượng giảng dạy, học tập mơn học lập trình khoa CNTT – Trường Đại học Thủy lợi câu hỏi cho phép người quản lý nội dung khóa học lập trình đặt câu hỏi lập trình câu trả lời sinh viên mã ngơn ngữ lập trình Mã sau tự động đánh giá cách chạy kiểm thử trường hợp khác (test-cases) cung cấp người quản lý khóa học CodeRunner sử dụng để tiến hành kiểm tra lập trình ngơn ngữ C, C ++, Java, Python, JavaScript, PHP, MATLAB, v.v PHƯƠNG PHÁP NGHIÊN CỨU Phân tích, tổng hợp khái quát hóa nghiên cứu, báo, viết, tài liệu có liên quan đến việc xây dựng hệ thống chấm điểm tập lập trình Triển khai xây dựng hệ thống thực nghiệm đánh giá kết dựa Moodle KẾT QUẢ NGHIÊN CỨU Việc cài đặt CodeRunner VPL cần trải qua hai bước [1]: Đầu tiên, cần cài đặt (một cách dễ dàng) CodeRunner VPL vào Moodle Thứ hai, để ngăn chặn cố phát sinh sinh viên chạy thử mã, việc sử dụng mã xấu mã độc không chủ ý, làm ảnh hưởng đến hệ thống Moodle, cần cài đặt máy chủ sandbox (với CodeRunner máy chủ JobeServer, với VPL máy chủ JailServer) chạy tách biệt với máy chủ Moodle 3.1 CodeRunner Ngồi dạng câu hỏi mặc định có sẵn Moodle, CodeRunner cung cấp loại Hình Mơi trường thực thi CodeRunner Hình Đánh giá tự động CodeRunner Các loại câu hỏi có CodeRunner bao gồm: c_function, c_program, cpp_function, cpp_program, java_class, java_method, java_program, php, python2, python3 v.v 219 Tuyển tập Hội nghị Khoa học thường niên năm 2019 ISBN: 978-604-82-2981-8 3.2 Virtual Programming Lab (VPL) Hình Qui trình chấm điểm CodeRunner Trong kiến trúc CodeRunner, với trường hợp kiểm thử, mẫu Twig sử dụng để hợp câu trả lời sinh viên với mẫu câu hỏi mã nguồn kiểm thử để tạo chương trình thực thi (được biên dịch sơ bộ) VPL mạnh CodeRunner [2], nhiên sử dụng chúng để bổ trợ cho Xem xét cách sinh viên học ngơn ngữ lập trình Sinh viên viết chương trình kiểm thử để xem liệu có hiểu hay khơng, sinh viên chép mã nguồn mạng, trường hợp CodeRunner giải pháp tốt nhất, VPL cung cấp tùy chọn để kiểm tra đạo văn Hình Mơi trường thực thi VPL Hình Ví dụ mẫu dạng c_function Giáo viên cung cấp test-case dạng: Test case 1: printf("%d\n", sqr(-9)); Output: 81 Test case 2: printf("%d\n", sqr(11)); Output: 121 Mỗi test-case câu trả lời sinh viên bọc vào chương trình dựa theo mẫu Twig: Một ưu điểm khác VPL giáo viên viết trước giải pháp cho chương trình trường hợp kiểm thử để đánh giá mã tự động Càng nhiều kiểm thử, việc đánh giá nghiêm ngặt Các ngơn ngữ lập trình VPL hỗ trợ bao gồm Ada, C, C++, Fortran, Java, Pascal, Prolog, SQL, Scheme Ví dụ chương trình C++ có tên main.cpp, in lời chào “Hello World” Chương trình thực trực tiếp từ mơi trường VPL Máy chủ JailServer tự động phát ngôn ngữ đưa kết hình Hình Ví dụ việc đặt test-case vào mẫu Hình Đánh giá tự động VPL 220 Tuyển tập Hội nghị Khoa học thường niên năm 2019 ISBN: 978-604-82-2981-8 Hình ảnh cho thấy, có kiểm thử sử dụng đoạn mã vượt qua tập lệnh kiểm tra Hình Một ví dụ khác tạo test-case cho tập Lập trình C++ Ngồi ưu điểm gồm tính kiểm tra đạo văn, tính tự động gán trình biên dịch để kiểm tra chương trình, viết chạy chương trình tương tác trình duyệt mơ tả trên, VPL cịn cho phép thực chương trình máy sinh viên mà cần nhiều thời gian để hoàn thành tải lên hệ thống Một ưu điểm khác VPL cho phép chạy thử nghiệm chương trình nhiều lần trước đệ trình lần cuối để chấm điểm Trong CodeRunner, việc xác nhận khơng xác dẫn tới việc giảm điểm đánh giá VPL cịn có chức vơ hiệu hóa việc dán mã nguồn từ bên KẾT LUẬN Việc triển khai hệ thống hỗ trợ chấm điểm mơn lập trình đánh giá có hiệu cho môn Tin học đại cương năm học 2018 – 2019 dựa Phần mềm chấm thi Offline máy thí sinh [5]: sinh viên làm tập hứng thú chấm điểm liên tục, giáo viên giảm thiểu áp lực phải ngồi chấm sinh viên Tuy viên, phần mềm chạy Offline nên: giáo viên chưa có quyền can thiệp để tự tạo đề, sinh viên tải phần mềm máy để làm tập dựa số lượng cố định khơng có phần nhận xét giáo viên cho sinh viên Hệ thống học tập tích hợp dựa Moodle tích hợp CodeRunner VPL giúp cho Sinh viên vừa tham gia vào khóa học, vừa làm tập, thi trực tiếp nhận kết chấm thi lập trình tự động với việc rõ TestCase Giáo viên sử dụng hệ thống việc giảng dạy việc đánh giá kết sinh viên cách hiệu TÀI LIỆU THAM KHẢO [1] https://opensourceforu.com [2] https://moodle.org [3] Richard Lobb and Jenny Harlow, Coderunner: A Tool for Assessing Computer Programming Skills, acm Inroads, 2016 DOI: 10.1145/2810041 [4] D Thiebaut, Automatic Evaluation of Computer Programs using Moodle’s Virtual Programming, CCSCNE2015 [5] https://bitlylink.com/DnaXq 221 ... làm tập dựa số lượng cố định khơng có phần nhận xét giáo viên cho sinh viên Hệ thống học tập tích hợp dựa Moodle tích hợp CodeRunner VPL giúp cho Sinh viên vừa tham gia vào khóa học, vừa làm tập, ... khác tạo test-case cho tập Lập trình C++ Ngồi ưu điểm gồm tính kiểm tra đạo văn, tính tự động gán trình biên dịch để kiểm tra chương trình, viết chạy chương trình tương tác trình duyệt mơ tả trên,... triển khai hệ thống hỗ trợ chấm điểm mơn lập trình đánh giá có hiệu cho mơn Tin học đại cương năm học 2018 – 2019 dựa Phần mềm chấm thi Offline máy thí sinh [5]: sinh viên làm tập hứng thú chấm