Một số trao đổi với thầy và các anh

Kính gửi thầy và các anh admin Small cuom1999 CaiWinDao ami, qua một thời gian sử dụng trang LQDOJ, em thấy có một số vấn đề như sau

1) Điểm của các bài tập chưa phản ánh chính xác độ khó.

Em nghĩ nên có một quy ước rõ ràng khi tính điểm độ khó cho các bài.
Như vậy sẽ tiện hơn cho các bạn khi luyện tập, có thể dễ dàng tìm bài phù hợp với trình độ của mình.

Vấn đề này xảy ra vì các nguyên nhân sau :

  • Tác giả bài tập chưa chỉnh điểm
  • Quan điểm, đánh giá của mỗi người mang tính chủ quan nhất định.

Theo kinh nghiệm của em, các bài tập thường khó vì những lí do sau :

  • Đòi hỏi kiến thức nâng cao (dùng thuật toán khó / ít gặp / chưa học)
  • Khó trong cách tư duy ra lời giải
  • Khó trong cách cài đặt

2) Một số Dạng bài / Nhóm bài phục vụ cho thiểu số / mục đích cá nhân

Có đúng là "Nhóm bài" được dùng để báo hiệu về "nguồn" của một số bài tập : từ kì thi nào / từ Online Judge nào / có phải là bài tập contest? v.v. ... không mấy anh?
Hiện nay, khi có các giáo viên sử dụng LQDOJ, em quan sát thấy người ta tạo "Nhóm bài" mới để dễ quản lí những bài tập mà mình đã tạo. Đây là một nhu cầu, tuy nhiên cách giải quyết theo em thấy chưa hợp lí. Những bài tập này đều là riêng tư, còn phần "Nhóm bài" thì mọi user đều có thể truy cập được, dẫn tới tình trạng sau :

  • người dùng bình thường truy cập vào Nhóm bài A sẽ thấy trắng trơn
  • người ra đề quên set quyền riêng tư cho bài tập (như thầy Đông thì xóa đề đi, nhưng có 1 bài quên đặt không công khai nên bị ý kiến - em phải đi xóa bình luận rồi ẩn bài đi hộ thầy)

Ngoài ra tệ hơn nữa là có giáo viên tạo "Dạng bài" mới để đưa bài private lên (4 mục BAITAPCOBAN). Trong khi "Dạng bài" - gán nhãn bài tập vốn để người làm bài có thể dễ dàng tìm, luyện tập theo từng chuyên đề. Xét thấy người này đã chuyển bài qua nhóm bài / tổ chức của họ nên em đã xóa 4 mục này đi. Bây giờ nếu muốn tag bài cơ bản thì đã có "Bài cơ bản"

"Dạng bài" và "Nhóm bài" thì hiển thị với mọi users, vì thế nên cần phải giữ cho chính xác, minh bạch, gọn gàng nhất có thể.

Em không biết mục đích thật sự của các giáo viên này là gì. Em tự đoán mò ra được lí do sau :

  • Để họ tìm bài cho dễ?
  • Để học sinh (của họ) tìm bài cho dễ?

Theo em được biết thì hiện tại LQDOJ đã có các tính năng sau :

  • trong lúc tạo bài tập, thêm tên của mình vào mục "tác giả" - creator. Trong phần Bài tập trên admin panel, có thể gõ tên của mình vào trong thanh tìm kiếm.
  • https://lqdoj.edu.vn/user/tên_tài_khoản/solved, tìm tới phần "Các bài tập đã ra".

Nếu phải nhờ các anh thêm tính năng cho tiện thì em có vài đề xuất sau

  • thêm nút "Bài tập tôi đã thêm" trong phần "Bài tập" của giao diện Admin.
    Trong này hiển thị tất cả bài tập mà người dùng A được liệt kê là Creators, Curators, hoặc đưa bài lên server nhưng không tự liệt kê mình vào các mục trên.
  • trong mục Tổ chức, có thể hiển thị "Bài tập của tổ chức" / "Kì thi của tổ chức" một cách rõ ràng hơn (thêm tab "Bài tập" / "Kì thi") chứ không chỉ là bài tập riêng gần đây / kì thi riêng gần đây. Cả thành viên lẫn admin của tổ chức đều có thể nhanh chóng tìm lại toàn bộ bài tập / tài nguyên trong đợt training đó (đương nhiên em biết hiện tại mình chỉ cần vào mục kì thi và search theo tên tổ chức là ra)

Có một hướng giải quyết khác nữa :

  • thêm quyền riêng tư vào Nhóm bài. Trong trường hợp của thầy Đông, em thấy thầy có tạo dạng bài a_luyen tap và nhóm bài a_luyen tap, chứa toàn bài riêng của thầy. Tuy nhiên chỉ có ai trả tiền học cho thầy mới được tiếp cận những bài tập này. Và thầy dạy cho quá nhiều đối tượng khác nhau nên với mỗi bài thầy không đi set-up lại là : dành riêng cho n tổ chức, khá bất tiện. Vì thế em nghĩ nhóm bài + dạng bài a_luyen tap của thầy Đông nên có thêm mục chỉ định người dùng nhìn thấy được : chỉ mình tác giả hoặc thành viên tổ chức + một số người dùng được chỉ định thấy được Nhóm bài này (người dùng bình thường sẽ không thấy tên nhóm bài hiện ra trong drop-down list --> gọn gàng hơn)
  • hoặc đơn giản hơn là tạo Nhóm bài riêng, chỉ mình giáo viên đó thấy, không cần phân quyền, học sinh học thì cứ thêm vào từng contest một (như thầy Đông đang làm). Và khi tạo nhóm bài riêng thì cần phải thông qua admin.

Có khi chỉ đơn giản là nhờ thầy Small trao đổi với các thầy một tí, đỡ công mấy anh code.

3) Xem xét lại hệ thống dạng bài / nhóm bài

Theo mấy anh,

  • có nên rà soát kĩ khi thêm dạng bài và nhóm bài mới : Cần phải thông qua kiểm duyệt viên, phải chờ được approve như khi propose bài tập chẳng hạn.
  • có cần xem lại, điều chỉnh các dạng bài để chuyên nghiệp, chính xác, đầy đủ hơn (qua hơn 1 năm thì trang mình đã có rất nhiều dạng, chỉ cần phải xem lại để loại bỏ đi những cái không cần thiết / thêm những cái mới cho chính xác thôi)

Ngoài ra em có một đề xuất : Một số dạng bài hiện nay có quan hệ bao hàm nhau. Ví dụ Sàng thuộc về Số học, Segment Tree thuộc về CTDL đặc biệt. Mình có nên thêm một số cung một chiều vào để tạo thành DAG nhằm phục vụ cho việc tìm kiếm. Ví dụ khi em gõ Đồ thị thì nó sẽ tự hiện ra Khớp,cầu DFS,BFS Chu trình Euler, Thành phần liên thông, ... chứ không cần phải thêm "(đồ thị)" vào đằng sau tên nữa (như em mới fix). Tương tự nếu em gõ Số học thì ra Sàng, ra Tổ hợp. Em gõ Quy hoạch động thì ra đủ dạng Quy hoạch động phụ khác. Nhân tiện lúc đang nhắc đến tính năng tìm kiếm thì liệu mình có thể làm thế này : Ngoài việc tạo quan hệ cha-con cho các dạng bài thì mình thêm một số từ khóa nữa. Một dạng bài A sẽ có một danh sách các từ khóa, là tên viết tắt hoặc tên tiếng anh của dạng đó. Ví dụ khi em gõ QHĐ hay DP thì sẽ tìm kiếm được tương ứng là "Quy hoạch động", gõ "string" ra được xử lý xâu,... (mục đích : vừa tiện tra cứu, vừa giúp tên của dạng bài không bị dài)

Nếu thầy & mấy anh thấy cái gì cần thiết và hợp lí, và mấy anh sắp xếp được thời gian để code thì xin nhờ mấy anh ạ.

Bình luận (1)

Mới nhất
Tải bình luận...