1. Trang chủ
  2. » Luận Văn - Báo Cáo

Triển khai hệ thống upcoder để chấm bài tự động học phần kỹ thuật lập trình 1

22 19 0
Tài liệu đã được kiểm tra trùng lặp

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 1,18 MB

Nội dung

ỦY BAN NHÂN DÂN TP.HCM TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC KHOA CÔNG NGHỆ THÔNG TIN SÁNG KIẾN KINH NGHIỆM NĂM HỌC 2021 -2022 Tên sáng kiến: Triển khai hệ thống Upcoder để chấm tự động học phần Kỹ thuật lập trình Tên người viết sáng kiến: Phan Thị Trinh Chức danh: Giảng viên Đơn vị: Khoa Cơng nghệ thơng tin TP Hồ Chí Minh, năm 2022 -1- MỤC LỤC Phần mở đầu I 1.1 Đặt vấn đề 1.1.1 Lý chọn sáng kiến kinh nghiệm 1.1.2 Mục đích sáng kiến kinh nghiệm 1.2 Tổng quan II Phần nội dung 2.1 Cơ sở lý luận vấn đề: Dựa vào nào? 2.2 Cơ sở thực tiễn (Thực trạng vấn đề nghiên cứu) 2.3 Các biện pháp tiến hành để giải vấn đề: 11 2.4 Hiệu SKKN 18 2.5 Những học kinh nghiệm rút từ trình áp dụng sáng kiến, kinh nghiệm, giải pháp thân 20 III Kết luận Kiến nghị 20 3.1 Kết luận 20 3.2 Kiến nghị 21 Tài liệu tham khảo 21 -2- DANH MỤC CHỮ VIẾT TẮT SKKN: Sáng kiến kinh nghiệm ACM-ICPC: ACM International Collegiate Programming Contest IDE: Integrated Development Environment HCMC: Ho Chi Minh City DANH MỤC HÌNH ẢNH Hình 1: Sơ đồ mơ tả bước học đánh giá học phần Hình 2: Trang chủ Upcoder 11 Hình 3: Thiết kế chương cho học phần 12 Hình 4: Thiết kế nội dung tập testcase 13 Hình 5: Danh sách tập 14 Hình 6: Giao diện làm thực hành 14 Hình 7: Kết chấm tự động 15 Hình 8: Giao diện thiết kế kiểm tra, thi 16 Hình 9: Danh sách kỳ thi 17 Hình 10: Giao diện theo dõi tiến trình học tập sinh viên 18 Hình 11: Biểu đồ so sánh tỷ lệ sinh viên rớt Kỹ thuật lập trình 20 DANH MỤC BẢNG BIỂU SỐ LIỆU Bảng 1: Chi tiết số liệu sinh viên rớt Kỹ thuật lập trình năm 2020-2021 19 Bảng 2: Chi tiết số liệu sinh viên rớt Kỹ thuật lập trình năm 2021-2022 19 Bảng 3: So sánh số liệu sinh viên rớt Kỹ thuật lập trình năm 2020-2021 2021-2022 19 -3- I Phần mở đầu 1.1 Đặt vấn đề 1.1.1 Lý chọn sáng kiến kinh nghiệm Trong năm học vừa qua, hiệu suất đào tạo ngành Công nghệ thông tin thấp Điều mối trăn trở chủ nhiệm khoa tập thể giáo viên khoa Công nghệ thông tin Lý hiệu suất đào tạo thấp xuất phát từ nhiều nguyên nhân như: nhiều sinh viên đăng ký học để xin giấy hoãn nghĩa vụ quân sự, sinh viên chọn ngành học không phù hợp nên chuyển ngành học chừng, sinh viên khơng đủ điều kiện tài theo học nên bỏ học để làm, sinh viên không đủ tư để theo học, ….Trong lý khách quan chủ quan trên, chủ nhiệm khoa tập thể giáo viên khoa Cơng nghệ thơng tin ln tìm cách khắc phục để giảm số lượng sinh viên bỏ học Là giáo viên nhiều năm giảng dạy môn sở ngành Công nghệ thông tin, nhận thấy tình trạng sinh viên năm nhất, ngành cơng nghệ thơng tin gặp khó khăn, nợ học phần Kỹ thuật lập trình học kỳ đầu năm lý dẫn tới hiệu suất đào tạo thấp Đa phần sinh viên năm gặp khó khăn đặc thù mơn học địi hỏi nhiều tư thiếu trang thiết bị máy tính thực hành, dẫn tới học khơng hiệu bị rớt nhiều, dẫn tới nợ học phần Kỹ thuật lập trình Theo đó, vào học kỳ thứ năm năm sau, em khơng thể theo học mơn lập trình nâng cao tiếp theo, dẫn đến học tập kém, chán nản bỏ học Đặc biệt bối cảnh dịch bệnh, sinh viên phải học online, đến trường nên việc học tập bị thiếu trang thiết bị nghiêm trọng Giáo viên mơn giảng dạy online khó khăn để hướng dẫn, giám sát trình thực hành làm tập em Vấn đề cấp thiết đặt để nâng cao chất lượng hiệu học phần Kỹ thuật lập trình 1, tạo cho sinh viên có hứng thú học tập chủ động, nhằm giảm số lượng sinh viên bỏ học -4- Chính lý nêu trên, tơi định chọn đề tài SKKN: “Triển khai hệ thống Upcoder để chấm tự động học phần Kỹ thuật lập trình 1” Đề tài áp dụng cho sinh viên ngành Công nghệ thông tin, học kỳ năm 2021-2022, học phần Kỹ thuật lập trình Hệ thống có tính sinh viên đăng nhập vào hệ thống làm chấm tự động Giáo viên theo dõi, giám sát, đánh kịp thời góp ý điều chỉnh cho sinh viên q trình học 1.1.2 Mục đích sáng kiến kinh nghiệm Hệ thống Upcoder để chấm tự động học phần Kỹ thuật lập trình triển khai nhằm mục đích nâng cao hiệu học học phần Kỹ thuật lập trình cho sinh viên năm nhất, giảm số lượng sinh viên rớt học phần này, giảm số lượng sinh viên bỏ học, nâng cao hiệu suất đào tạo ngành Công nghệ thông tin 1.2 Tổng quan Hệ thống tự động chấm lập trình sinh viên trường đại học giới thiết kế ứng dụng nhiều năm qua Đặc biệt năm gần đây, hệ thống tự động chấm lập trình phát triển ứng dụng ngày nhiều lĩnh vực giáo dục lĩnh vực khác tuyển dụng, việc làm Hiện nay, ACM-ICPC xem kỳ thi lập trình lâu đời danh giá dành cho sinh viên trường đại học cao đẳng giới Trong năm đầu tổ chức kỳ thi, hệ thống chấm bán tự động triển khai để chấm điểm lập trình đội thi Qua thời gian, hệ thống chấm nâng cấp theo hướng tự động hóa ngày cao Ở Việt Nam, kỳ thi Olympic Tin học sinh viên toàn quốc ban tổ chức triển khai hệ thống chấm lập trình tự động hồn tồn cho khối thi cá nhân từ năm 2016 Dựa phát triển mạnh mẽ tảng Internet, khóa học lập trình trực tuyến mở ngày nhiều Người học tham gia học tập -5- thời điểm, nơi phù hợp với điều kiện cá nhân Trong trình học tập trực tuyến, hệ thống chấm tự động sử dụng lẽ tất yếu Ngoài ra, hệ thống đánh giá tự động ứng dụng ngày nhiều vào trình tuyển dụng, đánh giá lập trình viên Với phiên thử nghiệm ban đầu, hệ thống Codility đem lại hiệu cao việc hỗ trợ công ty sàng lọc ứng viên tham gia tuyển dụng vào vị trí lập trình viên Trong vịng sơ loại, cơng ty đưa số tốn yêu cầu tất ứng viên làm qua hệ thống chấm tự động Hơn 90% ứng viên bị loại khơng làm trọn vẹn tốn dễ số Chính vậy, sáng kiến kinh nghiệm đề xuất hệ thống trực tuyến Upcoder, tự động chấm lập trình sinh viên khoa Cơng nghệ thơng tin Qua đó, góp phần tăng hiệu việc dạy học môn Kỹ thuật lập trình 1, nâng cao hiệu suất đào tạo ngành Công nghệ thông tin II Phần nội dung 2.1 Cơ sở lý luận vấn đề: Dựa vào nào? - Học phần Kỹ thuật lập trình 1: học phần sở chuyên ngành giúp sinh viên ngành Công nghệ thông tin sinh viên ngành Truyền thơng & Mạng máy tính có kiến thức kỹ lập trình, từ sinh viên hình thành tư lập trình có khả sử dụng ngơn ngữ lập trình để giải số tốn máy tính Mục tiêu học phần sinh viên có thể: + Phân biệt dạng lập trình Trình bày bước để giải tốn máy tính; Mơ tả thuật toán lưu đồ/mã giả + Phân biệt hằng, biến, kiểu liệu bản, toán tử, cấu trúc điều khiển, cấu trúc lặp + Sử dụng thành thạo cấu trúc điều kiện cấu trúc lặp + Sử dụng thành thạo hàm, mảng chiều để giải toán theo yêu cầu -6- + Hình thành tư lập trình tư thuật toán để giải số tốn vừa nhỏ theo hướng lập trình thủ tục + Sử dụng thành thạo công cụ IDE soạn thảo, gỡ lỗi chạy chương trình + Ln viết code theo chuẩn + Thường xuyên chủ động tìm hiểu vấn đề Làm tập theo yêu cầu Giảng viên nộp quy định - Phần mềm chấm tự động công cụ hỗ trợ quan trọng kỳ thi lập trình kỳ thi lập trình quốc tế ACM/ICPC Ưu điểm việc sử dụng phần mềm chấm tự động so với cách chấm truyền thống là: + Tự động hóa thao tác cho điểm, tránh nhầm lẫn lên điểm xếp hạng + Quá trình cho điểm thực hoàn toàn khách quan test xây dựng từ trước, không bị ảnh hưởng ý kiến chủ quan hay tâm lý người chấm + Việc in ấn bảng biểu, lấy số liệu thống kê thực hoàn toàn tự động xác Những số liệu thống kê tích hợp vào phần mềm khác để làm báo cáo rút kinh nghiệm cho kỳ thi sau + Sau kỳ thi kết thúc, liệu cho kỳ thi cơng bố thí sinh khác luyện tập thi, sau dùng chương trình chấm tự động để tự đánh giá Việc giúp ích cho việc rèn luyện, nâng cao kỹ lập trình - Hệ thống chấm lập trình tự động Upcoder: khoa Công nghệ thông tin trường Đại học Sư phạm TP Hồ Chí Minh phát triển áp dụng từ năm 2016 cho việc học tập, rèn luyện kỹ lập trình thi mơn Lập trình bản, Lập trình nâng cao, Lập trình hướng đối tượng, Cấu trúc liệu, Lý thuyết đồ thị Năm 2017, hệ thống Upcoder sử dụng cho kỳ thi Olympic Tin học ACM/ICPC Asia HCMC 2017, đánh giá cao tính xác, tiện dụng, khả hỗ trợ cho việc chấm lập trình tự động -7- 2.2 Cơ sở thực tiễn (Thực trạng vấn đề nghiên cứu) Phần lớn trường đại học, cao đẳng nước có đào tạo ngành Cơng nghệ thơng tin ngành liên quan đến lập trình Do rèn luyện kỹ thơng qua tập lập trình cho sinh viên ngành cần thiết Tuy nhiên, quy trình dạy, học đánh giá mơn lập trình trường đại học cao đẳng đa phần dừng lại mức thủ cơng Hình 1: Sơ đồ mơ tả bước học đánh giá học phần Quy trình có số nhược điểm sau: - Giữa hai bước liền kề ln có thời gian trễ định (thường đến ngày) lúc giáo viên gặp sinh viên ngược lại - Giáo viên phải dành nhiều thời gian để đánh giá làm, sinh viên phải chờ đợi phản hồi từ giáo viên, dẫn tới hiệu dạy học đánh giá không cao -8- - Giáo viên phải thu thập làm sinh viên, biên dịch chương trình chấm điểm, dựa việc so sánh kết chương trình với đáp án có sẵn sử dụng test với thao tác thủ công để kiểm lỗi Những điều khiến việc chấm lập trình bị chậm, dễ sai sót, khơng khách quan, dẫn đến lãng phí thời gian công sức giáo viên - Số lượng sinh viên lớp thực tế trường đơng nên giáo viên khó đảm bảo đánh giá hết công việc sinh viên buổi thực hành lớp Bài tập sinh viên nhà làm có hội đánh giá đầy đủ mức độ sai Thời gian để tất sinh viên trao đổi trực tiếp với giáo viên không đủ dẫn đến nhiều sinh viên không nắm vững kiến thức kỹ lập trình Từ sinh viên bị yếu kỹ lập trình Từ thực trạng trên, tơi đề xuất với ban chủ nhiệm khoa hợp tác triển khai hệ thống chấm lập trình tự động Upcoder để chấm tự động học phần Kỹ thuật lập trình học kỳ năm học 2021-2022 Sau học kỳ triển khai hệ thống Upcoder, nhận thấy thuận lợi khó khăn sau: - Thuận lợi: + Trong bối cảnh dịch bệnh Covid-19 kéo dài, sinh viên phải học online hệ thống góp phần hỗ trợ sinh viên học tập, thực hành rèn luyện kỹ lập trình thơng qua hệ thống tập phong phú giảng viên đưa lên Hệ thống tập phân loại theo chương từ đến nâng cao giúp sinh viên tự học, tự thực hành củng cố lại kiến thức học cách dễ dàng, hiệu + Giảng viên không cần chấm bài, hệ thống tự chấm điểm dựa vào testcase (đáp án) giảng viên thiết lập cho câu hỏi Sinh viên biết điểm + Cách tính điểm dựa vào số testcase mà sinh viên làm đúng, ví dụ có 10 testcase, sinh viên làm testcase điểm Khi không diễn kỳ thi, sinh viên rèn luyện kĩ lập trình đáp ứng chuẩn đầu cách thực hành tập lớp, nhà hệ -9- thống Các tập hệ thống phân chia cấp độ khác nhau: bản, trung bình, nâng cao, olympic, … + Hệ thống có tích hợp điểm thưởng cho làm (100% test), hệ thống phân cấp coder dựa vào tổng số điểm thưởng nhận (các cấp độ: coder sơ sinh, coder mầm non, coder tiểu học, coder thcs, coder thpt, coder cao đẳng coder đại học, …) tăng hứng thú sinh viên tham gia vào hệ thống Ngoài ra, sinh viên dùng điểm thưởng để tham khảo làm bạn khác trường hợp gặp tập khó + Sinh viên thực hành tập Upcoder điện thoại, máy tính bảng hay máy tính Việc giải vấn đề khó khăn thiếu trang bị máy tính thực hành, hỗ trợ cho sinh viên học tập tốt học phần Kỹ thuật lập trình + Thi theo hình thức ACM, Olympic, sinh viên phải có khả code chạy chương trình, làm test để có số điểm tương ứng + Hệ thống có tích hợp qt copy phát copy sinh viên, chống gian lận đảm bảo công thi cử + Hệ thống hỗ trợ giảng viên in điểm sau làm xong, chấm lại trường hợp cần thiết Ngồi ra, kỳ thi, hệ thống có xếp hạng điểm sinh viên theo thời gian thực suốt kỳ thi để giảng viên theo dõi, đánh giá tiến trình làm sinh viên + Mỗi làm sinh viên hệ thống lưu lại, cần sinh viên xem lại làm - Khó khăn: + Hệ thống triển khai hợp tác với khoa Công nghệ thông tin trường Đại học Sư phạm TP Hồ Chí Minh nên có cố phải đợi bên hợp tác xử lý nên nhiều thời gian + Khi triển khai, có số giảng viên cịn e ngại nên chưa triển khai hồn tồn cho tất lớp Kỹ thuật lập trình khoa học kỳ năm học 2021-2022 - 10 - 2.3 Các biện pháp tiến hành để giải vấn đề: Hợp tác tích hợp hệ thống chấm tự động Upcoder trường Đại học Sư phạm thành phố Hồ Chí Minh vào cho khoa Cơng nghệ thông tin trường Cao đẳng Công nghệ Thủ Đức Các bước thực cho đề tài bao gồm: Giai đoạn 1: Cài đặt hệ thống Upcoder  Liên hệ đại điện hệ thống Upcoder bên khoa Công nghệ thông tin, trường Đại học Sư phạm Thành Phố Hồ Chí Minh, hợp tác sử dụng phần mềm miễn phí cho sinh viên trường Cao đẳng công nghệ Thủ Đức với mục đích học tập  Cài đặt hệ thống lên host khoa Công nghệ thông tin với tên miền tdc: http://upcoder.tdc.edu.vn/ Hình 2: Trang chủ Upcoder Giai đoạn 2: Tổ chức, thiết kế tập, kiểm tra đánh giá học phần Kỹ Thuật lập trình  Tổ chức nội dung cho học phần Kỹ thuật lập trình - 11 - Hình 3: Thiết kế chương cho học phần  Thiết kế nội dung cho cho học phần Kỹ thuật lập trình 1, tập phân loại từ cấp độ đến nâng cao, theo chương để sinh viên lựa chọn rèn luyện nâng cao kĩ lập trình  Thiết kế testcase chấm tự động cho - 12 - Hình 4: Thiết kế nội dung tập testcase - 13 - Hình 5: Danh sách tập Hình 6: Giao diện làm thực hành - 14 - Hình 7: Kết chấm tự động  Thiết kế thi kiểm tra đánh giá: - 15 - Hình 8: Giao diện thiết kế kiểm tra, thi - 16 - Hình 9: Danh sách kỳ thi Giai đoạn 3: Tạo tài khoản giáo viên cho giáo viên môn, tập huấn giáo viên cách sử dụng hệ thống để áp dụng cho tất lớp học học phần Kỹ thuật lập trình Giai đoạn 4: Triển khai sử dụng cho sinh viên Giảng viên tiến hành tạo tài khoản quản lý sinh viên ngành Cơng nghệ thơng tin khóa 21 hệ thống dựa vào danh sách lấy từ trang online Giảng viên hướng dẫn sinh viên tham gia thực hành hệ thống Sau chương, sinh viên thực hành hệ thống tập tương ứng với nội dung học từ đến nâng cao - 17 - Hình 10: Giao diện giáo viên theo dõi tiến trình học tập sinh viên 2.4 Hiệu SKKN Sau học kỳ triển khai áp dụng hệ thống Upcoder vào môn Kỹ thuật lập trình cho sinh viên khoa Cơng nghệ thơng tin đạt kết sau: - Xây dựng hệ thống tập phong phú cho môn Kỹ thuật lập trình 1, giúp cho sinh viên tự học, tự rèn luyện thực hành thông qua PC, tablet smartphone - Việc sử dụng hệ thống Upcoder vào giảng dạy giúp giáo viên giám sát trình thực hành sinh viên suốt khóa học, giảm tải việc chấm cho giáo viên - Sinh viên học chủ động tích cực hơn, nâng cao hiệu học tập - 18 - - Những kết cụ thể đạt được: Sau sử dụng hệ thống Upcoder vào giảng dạy, số lượng sinh viên rớt học phần Kỹ thuật lập trình năm học 2021-2022 giảm so với năm học 2020-2021 - Bảng thống kê sinh viên thi rớt học phần Kỹ thuật lập trình 1, học kỳ năm học 2020-2021 CSC106052 02 03 05 06 07 09 10 11 12 13 Tổng 49 49 55 41 49 53 35 33 49 28 Rớt 36 38 36 19 19 43 17 19 15 10 Tỉ lệ 73% 78% 65% 46% 39% 81% 49% 58% 31% 36% Bảng 1: Chi tiết số liệu sinh viên rớt Kỹ thuật lập trình năm 2020-2021 - Bảng thống kê sinh viên thi rớt học phần Kỹ thuật lập trình 1, học kỳ năm học 2021-2022 CSC106052 02 05 06 07 08 09 10 11 12 13 14 Tổng 59 49 55 58 51 51 52 52 54 54 55 Rớt 16 13 14 17 18 13 19 24 12 Tỉ lệ 27% 18% 24% 14% 27% 33% 35% 25% 35% 44% 22% Bảng 2: Chi tiết số liệu sinh viên rớt Kỹ thuật lập trình năm 2021-2022 Bảng so sánh năm học: Năm học 2020-2021 2021-2022 Tổng 441 590 Rớt 252 163 Tỷ lệ 57.14% 27.63% Bảng 3: So sánh số liệu sinh viên rớt Kỹ thuật lập trình năm 2020-2021 2021-2022 - 19 - Biểu đồ so sánh tỷ lệ sinh viên rớt học phần 60.00% 50.00% Tỷ lệ 40.00% 30.00% 20.00% 10.00% 0.00% 2020-2021 2021-2022 Năm học Hình 11: Biểu đồ so sánh tỷ lệ sinh viên rớt Kỹ thuật lập trình 2.5 Những học kinh nghiệm rút từ trình áp dụng sáng kiến, kinh nghiệm, giải pháp thân Sau sử dụng hệ thống Upcoder để hỗ trợ giảng dạy cho học phần Kỹ thuật lập trình 1, học kỳ năm học 2021-2022, rút điều sau: - Để cải thiện nâng cao hiệu dạy học, giáo viên nên mạnh dạn đưa sáng kiến, giải pháp thực tiễn vào giảng dạy - Thơng qua q trình áp dụng sáng kiến vào giảng dạy, học nhiều kỹ cách tổ chức hệ thống tập, giao theo dõi trình thực hành sinh viên cách hợp lý khoa học - Thông qua trình áp dụng sáng kiến kinh nghiệm, tơi đổi số phương pháp dạy học kiểm tra đánh giá, tạo hứng thú học tập, giúp sinh viên học tập tích cực chủ động hơn, từ nâng cao hiệu dạy học III Kết luận Kiến nghị 3.1 Kết luận - 20 - - Việc triển khai hệ thống Upcoder vào học phần Kỹ thuật lập trình góp phần nâng cao chất lượng học tập sinh viên thông qua hệ thống tập phong phú - Hệ thống có tích hợp điểm thưởng phân cấp coder cho sinh viên dựa điểm thưởng tăng hứng thú sinh viên tham gia vào hệ thống - Trong bối cảnh dịch bệnh Covid-19, việc triển khai hệ thống Upcoder góp phần khắc phục tình trạng thiếu trang thiết bị học tập sinh viên Nhờ tính đa dạng nhiều tảng hệ thống Upcoder, sinh viên học tập qua PC, tablet smartphone hồn thành khóa học cách hiệu quả, đồng thời tích lũy kiến thức kỹ lập trình, đủ lực tham gia học phần - Dựa vào hiệu triển khai, hệ thống tiếp tục áp dụng cho học phần Kỹ thuật lập trình học kỳ năm học 2021-2022, năm học sau 3.2 Kiến nghị - Tiếp tục triển khai hệ thống Upcoder vào học phần Kỹ thuật lập trình học kỳ năm học 2021-2022 năm học sau - Cần có triển khai đồng giảng viên khoa Công nghệ thơng tin để tăng tính hiệu quả, nâng cao chất lượng cho học phần Kỹ thuật lập trình 2, tăng hứng thú học tập sinh giảm số lượng sinh viên nghỉ học - Nếu được, khoa mua phần mã nguồn hệ thống Upcoder để làm chủ cơng nghệ, chủ động việc xử lý cố, không phụ thuộc vào bên hợp tác Tài liệu tham khảo Tran Tien (2019), “An automatic assessment system for programming exercises”, Journal of Transportation Science and Technology, Vol 34, Nov 2019 - 21 - Dang Son, Tran Tu, Phung Ngoc (2013), “The Ute Online Judge”, Journal of Technical Education Science, 2013 http://upcoder.hcmue.edu.vn - 22 -

Ngày đăng: 09/10/2023, 09:45

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w