Một giải pháp xây dựng hệ thống chấm bài tự động hỗ trợ dạy học lập trình

5 79 0
Một giải pháp xây dựng hệ thống chấm bài tự động hỗ trợ dạy học lập trình

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài viết này đề xuất một giải pháp xây dựng hệ thống chấm bài tự động hỗ trợ cho việc dạy học lập trình. Bài viết đã triển khai hệ thống chấm bài tự động để hỗ trợ việc dạy học thực hành và đánh giá kết quả học tập.

UED Journal of Sciences, Humanities & Education – ISSN 1859 - 4603 TẠP CHÍ KHOA HỌC XÃ HỘI, NHÂN VĂN VÀ GIÁO DỤC Nhận bài: 30 – 07 – 2016 Chấp nhận đăng: 25 – 09 – 2016 http://jshe.ued.udn.vn/ MỘT GIẢI PHÁP XÂY DỰNG HỆ THỐNG CHẤM BÀI TỰ ĐỘNG HỖ TRỢ DẠY HỌC LẬP TRÌNH Phạm Anh Phương Tóm tắt: Kỹ lập trình nhân tố quan trọng, định phát triển lực giải vấn đề ngành nghề Công nghệ thông tin Việc xây dựng hệ thống để hỗ trợ cho việc dạy học lập trình điều cần thiết Bài báo đề xuất giải pháp xây dựng hệ thống chấm tự động hỗ trợ cho việc dạy học lập trình Chúng tơi triển khai hệ thống chấm tự động để hỗ trợ việc dạy học thực hành đánh giá kết học tập Sau triển khai, tiến hành đánh giá kết thông qua việc khảo sát chất lượng mức độ hài lịng sinh viên sau khóa học Lập trình C/C++ Kết quảphản hồi từ phía người học cho thấy phương pháp tiếp cận đạt hiệu tích cực, tạo hứng thú cho người học Từ khóa: kỹ lập trình; hệ thống chấm tự động; chuẩn đầu ra; lực giải vấn đề; ngành nghề Công nghệ thông tin Đặt vấn đề Đối với ngành đào tạo liên quan đến Cơng nghệ thơng tin (CNTT), kỹ lập trình nhân tố định việc phát triển lực giải vấn đề sinh viên ngành CNTT Việc giảng dạy huấn luyện kỹ thực hành cho mơn học có liên quan đến lập trình thường gặp khó khăn sau: - Với tập thực hành lập trình thường phải thỏa mãn tính chất thuật tốn như: tính đắn, tính hiệu tính phổ dụng [2] Tuy nhiên, sinh viên thường không biện luận hết tất trường hợp toán đặt chưa biết giải thuật cài đặt đạt tính hiệu hay chưa [1] - Mặt khác, với thực trạng 30 sinh viên/ nhóm thực hành việc hướng dẫn, tư vấn, uốn nắn kỹ thực hành cho em đạt chuẩn đề nhiều thời gian công sức * Liên hệ tác giả Phạm Anh Phương Trường Đại học Sư phạm - Đại học Đà Nẵng Email: paphuong@yahoo.com 108 | - Một thực trạng nhiều sinh viên chưa xác định đầu vào (input) đầu (output) toán số khác lại hay tùy tiện thêm bớt liệu vào/ nên thường không đáp ứng định dạng chuẩn mực kỳ thi Olympic ACM/ICPC [3] Để hỗ trợ em tự kiểm tra kết trình học tập, rèn luyện kỹ lập trình đồng thời giảm thiểu thời gian công sức giảng viên việc xây dựng hệ thống chấm tự động hỗ trợ dạy học điều cần thiết Trên giới có nhiều hệ thống chấm tự động, chẳng hạn như: - Hệ thống PC^2 [4] sử dụng mơ hình ClientServer PC2 (Programming Contest Control system) dự án Đại học California State phát triển với hỗ trợ tập đoàn IBM PC2 phần mềm thiết kế để hỗ trợ kỳ thi lập trình, PC2 cho phép thí sinh (nhóm thí sinh) gửi làm trực tuyến cho ban giám khảo Giám khảo biên dịch lại chương trình, thực hiện, xem mã nguồn thí sinh trả kết cho thí sinh Ngồi hình thức chấm tay, PC2 hỗ trợ chấm tự động giúp giảm hao phí sức lao Tạp chí Khoa học Xã hội, Nhân văn & Giáo dục, Tập 6, số (2016), 108-112 ISSN 1859 - 4603 - Tạp chí Khoa học Xã hội, Nhân văn & Giáo dục, Tập 6, số (2016), 108-112 động người, cải thiện tốc độ nâng cao hiệu công tác chấm - Một hệ thống huấn luyện lập trình online, có tổ chức thi định kỳ: CodeForce [5] nhiều người đam mê lập trình quan tâm Ở Việt Nam có số hệ thống huấn luyện lập trình, chấm tự động online thường xuyên tổ chức thi định kỳ để rèn luyện kỹ năng, tiêu biểu như: VNOI [6], NTUCoder Đại học Nha Trang [7] Ngoài ra, nhiều trường đại học nước quốc tế triển khai hệ thống huấn luyện lập trình cho sinh viên với nhiều mức độ, quy mơ khác nhằm nâng cao kỹ lập trình cho sinh viên Việc xây dựng triển khai hệ thống phức tạp, địi hỏi chi phí công sức lớn Trong điều kiện sở vật chất hạn chế nhưhiện nay, việc tận dụng mạng cục Internet kết hợp số phần mềm có sẵn để xây dựng hệ thống chấm tự động hỗ trợ giảng dạy mơn học lập trình việc làm khả thi, hỗ trợ tốt cho việc rèn luyện kỹ lập trình cho sinh viên Phần cịn lại báo cấu trúc sau: phần giới thiệu quy trình nộp chấm tự động; phần đề xuất xây dựng hệ thống nộp chấm tự động hỗ trợ trình dạy học lập trình; phần đánh giá kết triển khai thực nghiệm thảo luận số vấn đề sau triển khai Cuối phần kết luận với số ý kiến đề xuất Hình Quy trình nộp chấm tự động 2.1 Viết code Sau trang bị kiến thức cần thiết, với đề cho, sinh viên thực bước sau: - Bước 1: Đọc để hiểu đề toán - Bước 2: Xác định đầu vào đầu tốn - Bước 3: Phácthảo mơ hình để giải tốn - Bước 4: Phân tích chi tiết cụ thể toán - Bước 5: Chọn củng cố mơ hình tối ưu để giải toán - Bước 6: Phân rã giải pháp chọn thành modul nhỏ để lập trình - Bước 7: Viết mã lệnh - Bước 8: Chạy thử nghiệm Quy trình nộp chấm tự động Sau sơ đồ triển khai quy trình nộp chấm tự động (Hình 1): - Bước 9: Kiểm tra tính đắn, tính phổ quát tính hiệu chương trình 2.2 Nộp Sau kiểm tra, hoàn thiện làm mình, sinh viên nộp làm lên hệ thống chấm thông qua trang website tạo để hỗ trợ việc nộp thuận tiện 2.3 Hệ thống chấm Hệ thống sau nhận sinh viên tự động biên dịch, chạy chương trình chấm kết theo test đáp án mà xây dựng Sau chấm xong, hệ thống tự động thông báo cho người học kết làm mình: 109 Phạm Anh Phương nhiệm vụ hoàn thành, ngược lại người học phải quay lại để kiểm tra sai sót đâu, cập nhật viết code gởi lại cho hệ thống chấm Trong giai đoạn này, giáo viên tham gia hỗ trợ, tư vấn cho sinh viên điểm sai, thiếu sót người học để họ hồn thiện kỹ thực hành Xây dựng hệ thống nộp chấm tự động Bước 2: Thiết kế trang nộp tự động Ngoài user password, trang web cịn có thêm thơng tin: Tên tốn (Problem ID), chọn ngơn ngữ lập trình (Programming Language) vùng Source code (chứa nội dung đoạn code chương trình sau hồn thiện) Cuối nút Submit để nộp lên hệ thống (Hình 4) Để triển khai xây dựng hệ thống, thực theo trình tự sau: 3.1 Cơ sở vật chất môi trường xây dựng hệ thống - Máy chấm: dùng máy sever laptop - Hệ thống máy tính cá nhân để làm - Hệ thống mạng cục mạng internet: kết nối máy làm với máy chấm - Phần mềm chấm tự động: Themis 3.2 Xây dựng website nộp tự động Chúng sử dụng ngôn ngữ PHP sở liệu MySQL để xây dựng website nộp tự động (Hình 2) Hình Trang nộp tự động 3.3 Xây dựng test cho đáp án Đây công đoạn vất vả tốn nhiều thời gian Mỗi test gồm file text: *.INP: chứa liệu đầu vào *.OUT: chứa liệu đầu Có nhiều cách để sinh liệu: Làm thủ công; dùng Excel tạo mảng liệu copy sang file text; viết chương trình để sinh liệu… Hình Mơ hình tương tác web PHP với MyQL Các bước tiến hành xây dựng website nộp thực sau: Bước 1: Xây dựng sở liệu người học, sinh viên có tài khoản (user) mật (password) (Hình 3) Để đánh giá xác phân loại sinh viên, test phải biện luận hết tình tốn đặt ra, kể trường hợp ngoại lệ 3.4 Tích hợp hệ thống Sau hồn thành test đáp án, chúng tơi tiến hành cài đặt hệ thống chấm tự động: Bước 1: Tạo thư mục chứa đáp án, copy test vào thư mục Bước 2: Tạo thư mục chứa làm học sinh, thư mục học sinh thư mục Bước 3: Cấu hình Themis - F2: Chọn thư mục chứa đáp án - F3: Chọn thư mục chứa làm học sinh Hình Cơ sở liệu người học 110 Sau hồn tất, sinh viên nộp thông qua hệ thống website, hệ thống chấm trả kết để sinh viên theo dõi (Hình 5) ISSN 1859 - 4603 - Tạp chí Khoa học Xã hội, Nhân văn & Giáo dục, Tập 6, số (2016), 108-112 việc điều tra khảo sát: Hoàn toàn đồng ý, Đồng ý, Khơng có ý kiến, Khơng đồng ý Hồn tồn khơng đồng ý Hình Giao diện chấm tự động Đánh giá kết triển khai Bảng Bộ câu hỏi đánh giá khóa học hệ thống hỗ trợ dạy học lập trình Việc triển khai hệ thống chấm tự động hỗ trợ dạy học giúp giảm bớt nhiều thời gian công sức hướng dẫn thực hành trình đánh giá học tập sinh viên Để đánh giá thêm điểm mạnh điểm yếu triển khai hệ thống nộp chấm tự động, thực khảo sát với 50 sinh viên lớp 15CNTT Khoa Tin học, Trường Đại học Sư phạm – Đại học Đà Nẵng tham gia với nhóm học phần Lập trình C/C++ Mục đích để đánh giá tính hiệu mức độ hài lòng người học tính hiệu hệ thống nộp chấm tự động, cải thiện kỹ lập trình sinh viên, Bảng thể 10 vấn đề mà quan tâm, câu hỏi có đáp án với cấp độ hài lịng người học đưa cho Hình Phản hồi sinh viên Các kết khảo sát Hình cho thấy mức độ hài lịng sinh viên sau khóa học Mức cao "Hồn tồn đồng ý" "Đồng ý" phần lớn câu hỏi Tuy nhiên, câu 4, tỷ lệ chọn "Hoàn toàn đồng ý" thấp tỷ lệ chọn “Đồng ý” cho thấy hệ thống giáo trình tập chưa hồn thiện cần phải tiếp tục điều chỉnh Ngoài ra, câu số có 8% có phản ứng "Khơng có ý kiến" 14% “Không đồng ý” Chúng vấn, tìm hiểu thêm tính khách quan làm tập nhóm sử dụng hệ thống chấm tự động để đánh giá số em cho rằng: việc phân nhóm chưa đồng đều, có số em yếu may mắn nhóm có bạn giỏi điểm cao bạn nhóm khác; số em khác lại phàn nàn tính nghiêm túc, trung thực kiểm tra, đánh giá Điều cho thấy cần phải tìm cách điều chỉnh lại cách đánh giá để tạo công bằng, hợp lý khâu đánh giá Một số em khác lại tỏ ý e ngại sử dụng hệ thống chấm tự động để đánh giá kết học tập với lý “máy chấm khơng có tình cảm!” Nhìn cách tổng thể, phản hồi sinh viên cung cấp hình ảnh tích cực nói chung phương pháp huấn luyện kỹ lập trình chúng tơi Kết luận Việc xây dựng hệ thống chấm tự động hỗ trợ dạy học lập trình điều cần thiết nhằm nâng cao chất lượng dạy học, đồng thời tạo hứng thú cho sinh viên trình học tập Kết phản hồi từ phía sinh viên cho thấy số kết tích cực cịn 111 Phạm Anh Phương nhiều vấn đề cần phải điều chỉnh, bổ sung để chất lượng đào tạo ngày nâng cao hơn, đặc biệt hệ thống tập rà sốt lại quy trình kiểm tra, đánh giá Chúng tiếp tục nghiên cứu để xây dựng hệ thống website dạy học lập trình, tổ chức kỳ thi online, tạo diễn đàn trao đổi học thuật Đó hướng phát triển chúng tơi tương lai Tài liệu tham khảo Programming in CDIO’S Team Settings, Proceedings of the 10th Annual International CDIO Conference, Universitat Politècnica de Catalunya, Barcelona, Spain [2] Phạm Anh Phương (2012), Giáo trình lập trình sở, NXB Thơng tin Truyền thông [3] ACM/ICPC (2014), ACM/ICPC World Finals, http://icpc.baylor.edu/worldfinals [4] http://www.ecs.csus.edu/pc2/ [5] http://codeforces.com/ [6] http://vnoi.info/ [7] http://laptrinh.ntu.edu.vn/ [1] Phuong A PHAM, Man D NGUYEN, Long Q NGUYEN, Bao N LE (2014), Learning Computer A SOLUTION TO THE CONSTRUCTION OF AN AUTOMATIC MARKING SYSTEM TO SUPPORT PROGRAMMING TRAINING Abstract: The programming skill is an important factor critical to the development of problem-solving capabilities in the IT profession Hence it is necessary to construct a system to support programming skill training This article proposes a solution to the construction of a system to support programming skill training We operated this system to facilitate practical teaching and learning as well as evaluate learning outcomes Then we evaluated the results by conducting a survey of learners’ quality and satisfaction level after the basic C/C++ course Findings from learners’ feedback prove that the approach we adopted has resulted in significant effects, arousing learners’ interest in learning Key words: programming skill; automatic marking system; outcome; problem-solving capabilities; IT profession 112 ... đồng ý Hình Giao diện chấm tự động Đánh giá kết triển khai Bảng Bộ câu hỏi đánh giá khóa học hệ thống hỗ trợ dạy học lập trình Việc triển khai hệ thống chấm tự động hỗ trợ dạy học giúp giảm bớt nhiều... Phần cịn lại báo cấu trúc sau: phần giới thiệu quy trình nộp chấm tự động; phần đề xuất xây dựng hệ thống nộp chấm tự động hỗ trợ trình dạy học lập trình; phần đánh giá kết triển khai thực nghiệm... cực nói chung phương pháp huấn luyện kỹ lập trình chúng tơi Kết luận Việc xây dựng hệ thống chấm tự động hỗ trợ dạy học lập trình điều cần thiết nhằm nâng cao chất lượng dạy học, đồng thời tạo

Ngày đăng: 07/11/2020, 12:28

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan