intTypePromotion=1
ADSENSE

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

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:3

3
lượt xem
1
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài viết 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 trình bày hai công cụ CodeRunner và Virtual Programming Lab được 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 các môn học lập trình tại khoa CNTT – Trường Đại học Thủy lợi.

Chủ đề:
Lưu

Nội dung Text: 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

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

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2