Quản lý kỳ thi trong tổ chức


Kỳ thi (contest) là một trong những tính năng quan trọng, hỗ trợ giáo viên tổ chức các cuộc thi lập trình cho học sinh trong tổ chức của mình. Thông qua các kỳ thi, học sinh có cơ hội giao lưu, đánh giá năng lực lập trình, đồng thời tạo thêm động lực học tập và rèn luyện kỹ năng giải quyết vấn đề.

Trên hệ thống oj.hncode.edu.vn, giáo viên có thể dễ dàng tạo, xem, chỉnh sửa và xóa các kỳ thi trong tổ chức của mình:

Tạo kỳ thi mới

Để tạo kỳ thi mới, bạn có thể làm theo các bước sau:

  1. Truy cập vào tổ chức của bạn.
  2. Có 2 cách để truy cập tính năng tạo kỳ thi:
  3. Cách 1: Bấm nút Thêm kỳ thi / Add contest nằm ở góc trên bên phải của trang tổ chức.
  4. Cách 2: Bấm vào tab Kỳ thi / Contests trong trang tổ chức, sau đó bấm vào nút Tạo mới / Create nằm ở góc trên bên phải của trang.

Khi đó, một cửa sổ tạo kỳ thi sẽ hiện ra như hình dưới đây:

Trong cửa sổ này, bạn cần điền các thông tin sau:

  • ID kỳ thi (Contest id): Mã định danh duy nhất cho kỳ thi, không được trùng với các kỳ thi khác trong hệ thống.
  • Tên kỳ thi (Contest name): Tên hiển thị của kỳ thi.
  • Thời gian bắt đầu (Start time): Thời gian bắt đầu của kỳ thi.
  • Thời gian kết thúc (End time): Thời gian kết thúc của kỳ thi.
  • Bài thi (Problems): Danh sách các bài thi trong kỳ thi. Bạn có thể thêm bài thi vào kỳ thi bằng cách tìm kiếm theo tên bài tập (problem name) hoặc mã bài tập (problem code).

Sau khi điền xong các thông tin, bấm nút Lưu / Save để hoàn tất việc tạo kỳ thi mới. Ngay khi tạo xong, bạn sẽ được chuyển đến trang chỉnh sửa kỳ thi vừa tạo. Thông tin chi tiết về việc chỉnh sửa kỳ thi sẽ được hướng dẫn trong phần tiếp theo.

Xem danh sách kỳ thi trong tổ chức

Để xem danh sách kỳ thi trong tổ chức, bạn có thể làm theo các bước sau:

  1. Truy cập vào tổ chức của bạn.
  2. Bấm vào tab Kỳ thi / Contests trong trang tổ chức. Khi đó, danh sách các kỳ thi trong tổ chức sẽ hiện ra như hình dưới đây.

Ở phần này, bạn có thể xem danh sách các kỳ thi được sắp xếp theo thời gian diễn ra. Có 4 trạng thái của kỳ thi:

  • Đang tham gia (Active): Danh sách các kỳ thi mà bạn đang tham gia.
  • Đang diễn ra (Ongoing): Danh sách các kỳ thi đang trong thời gian diễn ra.
  • Sắp diễn ra (Upcoming): Danh sách các kỳ thi chưa đến thời gian bắt đầu.
  • Đã diễn ra (Past): Danh sách các kỳ thi đã kết thúc.

  • Để xem chi tiết về một kỳ thi, bạn có thể bấm vào tên kỳ thi trong danh sách.

Khi đó, bạn sẽ được chuyển đến trang chi tiết của kỳ thi, nơi bạn có thể theo dõi thông tin về kỳ thi, danh sách bài tập, bảng điểm, và các thông tin khác liên quan đến kỳ thi.

Chỉnh sửa kỳ thi

Để chỉnh sửa kỳ thi, bạn có thể làm theo các bước sau:

  1. Bạn có thể truy cập trang chỉnh sửa kỳ thi bằng 2 cách:
  2. Cách 1: Ở danh sách kỳ thi, bấm vào nút Chỉnh sửa / Edit bên cạnh tên của kỳ thi mà bạn muốn chỉnh sửa.
  3. Cách 2: Ở trang chi tiết của kỳ thi, bấm vào nút Chỉnh sửa trong / Edit in nằm ở góc trên bên trái phía trên danh sách bài tập.

Khi đó, bạn sẽ được chuyển đến trang chỉnh sửa kỳ thi như hình dưới đây:

Trong trang này, bạn có thể chỉnh sửa các thông tin sau:

  • Công khai (Publicly visible): chọn chế độ Công khai / Riêng tư cho kỳ thi. Nếu kỳ thi được đặt ở chế độ công khai, bất kỳ ai trong tổ chức cũng có thể tham gia kỳ thi mà không cần sự chấp thuận của quản trị viên. Ngược lại, nếu kỳ thi được đặt ở chế độ riêng tư, chỉ những người được mời mới có thể tham gia kỳ thi.
  • ID kỳ thi (Contest id): Mã định danh duy nhất cho kỳ thi, không được trùng với các kỳ thi khác trong hệ thống.
  • Tên kỳ thi (Contest name): Tên hiển thị của kỳ thi.
  • Thời gian bắt đầu (Start time): Thời gian bắt đầu của kỳ thi.
  • Thời gian kết thúc (End time): Thời gian kết thúc của kỳ thi.
  • Format kỳ thi (Contest format): Chọn định dạng của kỳ thi. Có nhiều định dạng khác nhau như ACM, OI, IOI, v.v. Mỗi định dạng sẽ có cách tính điểm và xếp hạng khác nhau.
  • Tác giả (Authors): Danh sách các tác giả của kỳ thi.
  • Người quản lý (Curators): Danh sách các quản trị viên của kỳ thi.
  • Testers: Danh sách các người kiểm thử của kỳ thi.
  • Giới hạn thời gian (Time limit): Trong thời gian diễn ra kỳ thi, bạn có thể giới hạn thời gian làm bài cho mỗi thí sinh. Ví dụ: nếu bạn đặt giới hạn thời gian là 120 phút, thì mỗi thí sinh sẽ có 120 phút để hoàn thành bài thi kể từ khi họ bắt đầu làm bài. Giới hạn thời gian này sẽ được áp dụng cho tất cả các thí sinh tham gia kỳ thi. Nếu bạn không muốn giới hạn thời gian làm bài, bạn có thể để trống trường này. Định dạng thời gian là HH:MM:SS (giờ:phút:giây).
  • Đóng băng sau (Freeze after): Sau khi kỳ thi diễn ra một khoảng thời gian nhất định, bạn có thể chọn đóng băng bảng điểm để thí sinh không thể xem được điểm số của mình và của các thí sinh khác. Ví dụ: nếu bạn đặt đóng băng sau 30 phút, thì sau 30 phút kể từ khi kỳ thi bắt đầu, bảng điểm sẽ bị đóng băng và không cập nhật thêm nữa. Bạn có thể để trống trường này nếu không muốn đóng băng bảng điểm. Định dạng thời gian là HH:MM:SS (giờ:phút:giây).
  • Không bình luận (No comments): Nếu bạn chọn tùy chọn này, thí sinh sẽ không thể bình luận hoặc hỏi đáp về các bài thi trong kỳ thi. Điều này có thể hữu ích để tránh việc thí sinh chia sẻ thông tin về bài thi trong quá trình kỳ thi diễn ra.
  • Ẩn nhãn kỳ thi (Hide problem tags): Nếu bạn chọn tùy chọn này, nhãn của các bài tập trong kỳ thi sẽ không được hiển thị cho thí sinh. Điều này giúp tránh việc thí sinh biết trước về độ khó hoặc chủ đề của các bài tập trong kỳ thi.
  • Công khai bảng điểm (Public scoreboard): Nếu bạn chọn tùy chọn này, bảng điểm của kỳ thi sẽ được hiển thị công khai cho tất cả mọi người, bao gồm cả những người không tham gia kỳ thi. Ngược lại, nếu bạn không chọn tùy chọn này, chỉ những người tham gia kỳ thi mới có thể xem bảng điểm.
  • Khả năng hiển thị của bảng điểm (Scoreboard visibility): khả năng hiển thị bảng điểm đối với các thí sinh tham gia kỳ thi. Có 3 tùy chọn:
  • Hiển thị (Always): Bảng điểm sẽ luôn được hiển thị cho thí sinh trong suốt thời gian diễn ra kỳ thi.
  • Ẩn trong thời gian kỳ thi (Hidden for duration of contest): Bảng điểm sẽ bị ẩn trong suốt thời gian diễn ra kỳ thi và chỉ hiển thị sau khi kỳ thi kết thúc.
  • Ẩn trong thời gian tham gia (Hidden for duration of participation): Bảng điểm sẽ bị ẩn trong suốt thời gian thí sinh tham gia kỳ thi và chỉ hiển thị sau khi thí sinh hoàn thành kỳ thi.
  • Hiển thị điểm (Precision points): số chữ số thập phân được hiển thị trong bảng điểm. Ví dụ: nếu bạn đặt giá trị này là 2, thì điểm số sẽ được hiển thị với 2 chữ số thập phân (ví dụ: 95.00).
  • Giới hạn bài nộp (Rate limit): số lần nộp bài tối đa trong 1 phút. Nếu bạn không muốn giới hạn số lần nộp bài, bạn có thể để trống trường này.
  • Mô tả (Description): Mô tả chi tiết về kỳ thi, bao gồm các quy định, hướng dẫn, và thông tin quan trọng khác liên quan đến kỳ thi.
  • Hình ảnh Open Graph (Open Graph image): Hình ảnh đại diện cho kỳ thi khi chia sẻ trên các mạng xã hội hoặc nền tảng khác.
  • Hình ảnh ghi để logo (Logo override image): hình ảnh sẽ được thay thế cho logo mặc định trong kỳ thi.
  • Tổng kết kỳ thi (Contest summary): Tóm tắt nội dung và các thông tin quan trọng của kỳ thi.
  • Mật khẩu truy cập (Access code): Nếu bạn muốn bảo vệ kỳ thi bằng mật khẩu, bạn có thể đặt mật khẩu truy cập ở đây. Chỉ những người biết mật khẩu mới có thể tham gia kỳ thi.
  • Thí sinh riêng tư (Private contestants): Nếu bạn chọn tùy chọn này, chỉ những thí sinh được mời mới có thể tham gia kỳ thi. Bạn có thể thêm thí sinh vào danh sách này bằng cách nhập tên đăng nhập (username) của họ.
  • Xem bảng điểm kỳ thi (View contest scoreboard): Nếu bạn muốn giới hạn quyền xem bảng điểm của kỳ thi, bạn có thể thêm người dùng vào danh sách này bằng cách nhập tên đăng nhập (username) của họ. Chỉ những người trong danh sách này mới có thể xem bảng điểm của kỳ thi.
  • Chặn tham gia (Personae non gratae): Nếu bạn muốn ngăn chặn một số người dùng tham gia kỳ thi, bạn có thể thêm họ vào danh sách này bằng cách nhập tên đăng nhập (username) của họ. Những người trong danh sách này sẽ không thể tham gia kỳ thi.
  • Bài thi (Problems): Danh sách các bài thi trong kỳ thi. Mỗi bài tập có các thuộc tính như sau:
    • Thứ tự (Order): Thứ tự hiển thị của bài tập trong kỳ thi.
    • Bài tập (Problem): Tên bài tập. Bạn có thể thay đổi bài tập bằng cách tìm kiếm theo tên bài tập (problem name) hoặc mã bài tập (problem code).
    • Điểm (Points): Số điểm tối đa của bài tập trong kỳ thi.
    • Thành phần (Partial): Chỉ định xem bài tập này có tính điểm thành phần hay không. Nếu có, thí sinh sẽ nhận được điểm dựa trên số lượng test case mà họ vượt qua. Nếu không, thí sinh sẽ chỉ nhận được điểm tối đa nếu họ vượt qua tất cả các test case của bài tập.
    • Hiển thị test (Visible testcases): Chỉ định xem các test case của bài tập có được hiển thị cho thí sinh hay không. Nếu có, thí sinh có thể xem các test case và kết quả của mình sau khi nộp bài. Nếu không, thí sinh sẽ không thể xem các test case và kết quả của mình.
    • Số lần nộp tối đa (Max submissions): Giới hạn số lần nộp bài cho mỗi thí sinh đối với bài tập này. Nếu bạn không muốn giới hạn số lần nộp, bạn điền giá trị là 0.
    • Xóa (Delete): xóa bài tập khỏi kỳ thi. Nếu bạn tích ô này, bài tập sẽ bị xóa khỏi kỳ thi khi bạn lưu lại các thay đổi.

Sau khi chỉnh sửa xong các thông tin, bấm nút Lưu / Save để lưu lại các thay đổi.