Các giải pháp giúp chấm điểm tự động lập trình trực tuyến

09:52, 25/01/2022

Dịch bệnh Covid-19 kéo dài là cơ hội cho các ngành đẩy mạnh cuộc cách mạng số hóa, trong đó có Giáo dục. Từ khi dịch đến nay, chúng ta đã thích ứng linh hoạt với dịch bệnh thông qua việc thực hiện tổ chức học tập và kiểm tra theo hình thức trực tuyến.

Từ năm 2022, Bộ Giáo dục và Đào tạo sẽ triển khai môn Tin học ở lớp 3, 7, 10. Theo đó môn Tin học sẽ xuyên suốt từ lớp 3 tới lớp 12 và nội dung lập trình chiếm thời lượng đáng kể. Vì vậy, nhu cầu xây dựng một hệ thống chấm điểm tự động lập trình trực tuyến giúp giáo viên theo dõi quá trình tiến bộ của học sinh là cần thiết.

Việc chấm điểm tự động lập trình hiện nay thường được dùng để đánh giá học sinh giỏi. Mục đích của việc chấm điểm tự động lập trình ngoài việc giúp học sinh và giáo viên biết ngay kết quả chấm khi thực hiện từng bài tập. Từ đó rèn luyện kỹ năng lập trình ở học sinh thông qua việc áp dụng các kiến thức được học ở trên lớp, từng bước cải thiện thuật toán trên hai phương diện thời gian và không gian bộ nhớ sử dụng.

Công việc trên được thực hiện trực tuyến hoặc trực tiếp thông qua các hệ thống chấm điểm tự động lập trình. Tuy nhiên, việc xây dựng các hệ thống này thường triển khai cho số lượng học sinh lớn. Điều này gây khó khăn cho giáo viên khi dạy học, bồi dưỡng học sinh giỏi quy mô nhỏ với số lượng từ 3 - 30 học sinh, đặc biệt là các giáo viên tại các khu vực nông thôn, nơi điều kiện kinh tế còn hạn chế.

Hệ thống chấm điểm tự động lập trình Themis Web.

Ngoài cách trên, ta có thể tận dụng lượng bài tập có sẵn, dồi dào tại các website rèn luyện kỹ năng lập trình như VNOI, Codeforces, Ntucoder... để giao bài cho học sinh. Việc sử dụng các bài tập có sẵn tại các hệ thống trên đôi khi không phù hợp với từng lớp, đối tượng học khác nhau về lượng kiến thức cần cung cấp. Giáo viên cần làm chủ hệ thống bài tập và chỉ cần theo dõi các học sinh do mình giảng dạy. Mặt khác, nếu tự triển khai, xây dựng một hệ thống lớn như vậy rất vất vả trong cài đặt, quản trị, dẫn đến tốn kém nguồn lực không cần thiết.

Vì vậy, một hệ thống chấm điểm tự động lập trình tốt cần đảm bảo những yêu cầu sau:

- Cho phép tổ chức khóa học. Từ đó đánh giá quá trình tiến bộ của học sinh trong suốt thời gian học thông qua bảng xếp hạng các bài tập học sinh đã làm.

- Cho phép tổ chức các kỳ thi để đánh giá chất lượng học sinh định kỳ hoặc đột xuất. Có thể tổng hợp các code của học sinh sau kì thi để nộp lại cho Trường.

- Cho phép giới hạn thời gian chạy khác nhau khi học sinh cài đặt bài tập trên các ngôn ngữ lập trình khác nhau bởi mục tiêu chính của giáo viên là giúp học sinh rèn luyện kĩ năng lập trình.

- Hoạt động 24/24 giúp học sinh có thể làm bài tập vào bất cứ khoảng thời gian nào.

Bảng xếp hạng các bài tập của học sinh trên Themis Web.

Ba giải pháp chấm điểm lập trình với tính năng đơn giản sau đây sẽ giúp giáo viên Tin học thực hiện các mục tiêu trên. Đồng thời có đánh giá, so sánh các ưu, nhược điểm của từng hệ thống để từ đó giáo viên có cơ sở lựa chọn, tùy vào mục đích và khả năng của mình.

1. Hệ thống VNOJ

VNOJ hiện đang triển khai cho các giáo viên và các đối tượng không phải giáo viên nếu có nhu cầu.

- Ưu điểm:

+ Hệ thống hỗ trợ tốt việc quản lý các cuộc thi.

+ Có thể tận dụng hạ tầng máy chủ của VNOJ bởi hệ thống này xây dựng cho số lượng người học lớn.

- Nhược điểm:

+ Không giới hạn được thời gian chạy khác nhau giữa các ngôn ngữ lập trình. Ví dụ: cùng một bài tập chấm giới hạn đối với các ngôn ngữ Pascal, C/C++ là 1 giây, Java, Python là 2 giây. Bất cập này không phù hợp khi triển khai chương trình giáo dục phổ thông mới. Vì hiện nay hai bộ sách giáo khoa mới Cánh diều và Kết nối tri thức với cuộc sống sắp đưa vào sử dụng ngôn ngữ Python đối với học sinh cấp THPT.

+ Không tổng hợp được các code của học sinh sau kì thi để nộp lại cho Trường.

+ Trình chấm ngoài đối với các bài toán có nhiều đáp án đúng chưa hỗ trợ ngôn ngữ lập trình Pascal. Do sách giáo khoa trước đây vẫn sử dụng Pascal nên nếu không hỗ trợ trình chấm ngoài bằng Pascal sẽ không kế thừa được các bài tập đã xây dựng trước đây của giáo viên.

+ Không theo dõi được toàn bộ quá trình học tập của học sinh trong cả khóa học bởi hệ thống chỉ xây dựng dành riêng cho việc tổ chức các cuộc thi.

+ Chỉ có thể chấm các bài toán nhập dữ liệu từ bàn phím và xuất kết quả ra màn hình.

2. Hệ thống ucode.vn

Hệ thống ucode.vn đã được triển khai trong Hội thi Tin học trẻ toàn quốc năm 2021. Hiện nay, hệ thống ucode đang triển khai tới các giáo viên có nhu cầu tại các trường công.

- Ưu điểm:

+ Sau khi xây dựng khóa học, giáo viên có thể theo dõi được quá trình tiến bộ của học sinh thông qua bảng xếp hạng các bài tập học sinh đã làm.

+ Tốt khi tổ chức các cuộc thi trực tuyến. Cho phép giới hạn thời gian chạy khác nhau giữa các ngôn ngữ lập trình.

+ Có thể tổng hợp các code của học sinh sau kì thi để nộp lại cho Trường.

+ Hỗ trợ các hình thức nhập xuất dữ liệu màn hình/bàn phím hoặc file.

- Nhược điểm: Việc hiển thị tên các bài tập chỉ là các số thứ tự 1, 2, 3... sẽ khó theo dõi vì tính chất của các bài tập khác nhau, không bình đẳng.

Thời gian sắp tới hệ thống sẽ bổ sung, hỗ trợ trình chấm ngoài.

3. Hệ thống Themis Web

Đây là hệ thống với lõi là phần mềm chấm điểm lập trình tự động Themis chạy trên hệ điều hành Windows của TS. Lê Minh Hoàng. Để học sinh có thể làm bài tập trực tuyến trên môi trường Web có thể cài đặt mã nguồn trên máy chủ ảo VPS hoặc sử dụng thêm phần mềm Radmin-VPN để chuyển đổi các máy tính trên mạng Internet thành một mạng LAN nội bộ.

- Ưu điểm:

+ Cài đặt đơn giản, dễ sử dụng với giáo viên.

+ Giáo viên có thể theo dõi được quá trình tiến bộ của học sinh thông qua bảng xếp hạng các bài tập học sinh đã làm. Bảng xếp hạng được trình bày hợp lý.

+ Có thể chuyển đổi hệ thống để tổ chức kì thi khi cần thiết.

+ Có thể tổng hợp các code của học sinh sau kì thi để nộp lại cho Trường.

+ Hỗ trợ các hình thức nhập xuất và trình chấm ngoài các ngôn ngữ lập trình.

- Nhược điểm: Không cho phép giới hạn thời gian chạy khác nhau giữa các ngôn ngữ lập trình.

Themis Web đôn đốc các thí sinh chưa tham dự kì thi qua Email.

Trên đây là toàn bộ các đánh giá và giải pháp giúp giáo viên lựa chọn một hệ thống chấm điểm tự động lập trình đáp ứng với nhu cầu của mình. Tùy từng hoàn cảnh, địa phương giáo viên có thể lựa chọn riêng một hệ thống phù hợp nhất.

Tô Sơn