nguyenviet3057 / huce-schedule

1 stars 0 forks source link

Tổng quan Project

Giao diện hiện có

Một số lưu ý

  1. Thuật toán sắp xếp lịch giảng dạy dự kiến:

    • Bước 1: Xét môn có duy nhất 1 giảng viên dạy => ưu tiên xếp trước

    • Bước 2: Xét các lớp khóa mới ưu tiên xếp trước, Các môn có nhiều giảng viên dạy thì theo tỉ lệ trọng số để chia lớp, vẫn tính lớp ghép = 2x lớp đơn (Chuẩn hóa tỉ lệ và kiểm tra bộ số theo tỉ lệ có tổng đúng bằng tổng số lượng lớp của học phần - phân biệt lớp ghép và lớp đơn, giảm/tăng 1 lớp cho 1 số trong bộ nếu tổng bộ số bị vượt quá tổng số lượng lớp - ưu tiên không bị trùng lịch đối với các lịch đã được sắp xếp và tiếp đến thường ưu tiên cho hệ số alpha cao hơn để tinh chỉnh, sao cho không có lớp học phần nào bị trống giảng viên)

  2. Lưu ý khác cần chú ý:

    • Thay đổi dữ liệu Mã học phần 471752, Mã lớp học 64PM2: Tuần học 257 -> 578 (SQL schedule_detail_1109_20230826 -> now: UPDATE schedule_detail SET WEEK_STUDY = ' 5 78 ' AND WEEKS = '[15,17,18]' WHERE CLASS_CODE = 471752 AND ENROLL_CLASS = '64PM2' AND DAY_STUDY = 7) (Do không khớp lịch của 2 lớp này do được ghép chung vào 1 lớp, chỉ khác đúng 1 tuần) Issues 1
    • Thay đổi dữ liệu Mã học phần 471791, Mã lớp học 65PM5, 65PM6, thứ 3, Tuần ' 45 ': tiết 4-6 (ca 2) -> tiết 1-3 (ca 1) <UPDATE schedule_detail SET SESSION = 1 WHERE CLASS_CODE = 471791 AND ENROLL_CLASS IN ('65PM5', '65PM6') AND START_DATE = '2023-04-11'> (Do bị trùng lịch, môn này chỉ có 1 giảng viên nhưng dạy tất cả các lớp trong cùng 1 ca, 1 ngày) Issues 2
    • Thay đổi dữ liệu Mã học phần 471791, Mã lớp học 65PM3, 65PM4, thứ 4, Tuần ' 7 ': tiết 4-6 (ca 2) -> tiết 1-3 (ca 1) <UPDATE schedule_detail SET SESSION = 1 WHERE CLASS_CODE = 471791 AND ENROLL_CLASS IN ('65PM3', '65PM4') AND START_DATE = '2023-02-22'> (Do bị trùng lịch, môn này chỉ có 1 giảng viên nhưng dạy tất cả các lớp trong cùng 1 ca, 1 ngày) Issues 2