3.1. Bài toán xếp Thời khóa biểu trong mô hình tổng thế quản lý đào tạo nhà trường
Trước tiên cần nhấn mạnh rằng bài toán xếp Thời khóa biểu chỉ là một khâu quan trọng trong mô hình quản lý đào tạo của mỗi nhà trường. Cần phân biệt 2 chức năng khác biệt nhau của bài toán Thời khóa biểu:
1- Lập, xếp Thời khóa biểu
2- Quản lý Thời khóa biểu
Hai chức năng trên có đặc thù chung là cùng liên quan chặt chẽ đến dữ liệu Thời khóa biểu nhưng về bản chất chúng hoàn toàn khác biệt nhau. Phần mềm lập, xếp thời khóa biểu có chức năng chính là tạo ra các mẫu thời khóa biểu phục vụ việc học tập và giảng dạy của học sinh, giáo viên trong nhà trường. Còn phần mềm quản lý thời khóa biểu lại có chức năng chính là truy vấn, thống kê, tìm kiếm thông tin thời khóa biểu. Phần mềm này có quan hệ chặt chẽ với các phần mềm quản lý khác của phòng đào tạo.
Hình 7. Mô hình bài toán liên quan đến Thời khóa biểu
Trong báo cáo này chúng ta chỉ quan tâm đến phần mềm lập, xếp thời khóa biểu. Phần mềm này tuy nhiên theo chúng tôi là rất quan trọng và là khâu cần có đầu tiên của việc Tin học hóa quản lý đào tạo nhà trường. Bắt đầu từ phần mềm xếp Thời khóa biểu, tiếp theo là quản lý Thời khóa biểu và những bước đi cần thiết đầu tiên của mỗi nhà trường.
Hình vẽ sau mô tả tổng thể các module quản lý chính của nhà trường Đại học, Cao đẳng nói chung có liên hệ với phần mềm Thời khóa biểu.
Hình 8. Mô hình các module quản lý của nhà trường Đại học và Cao đẳng
3.2. Các mô hình xếp tay Thời khóa biểu
Theo quan sát của chúng tôi, hiện tại trong các nhà trường Đại học, Cao đẳng của Việt Nam tồn tại 2 kiểu xếp TKB bằng tay như sau:
1. Phòng Đào tạo xếp Thời khóa biểu chi tiết 1 lần
Ở mô hình này toàn bộ việc sắp xếp Thời khóa biểu cho toàn trường được tiến hành 1 lần tại Phòng Đào tạo. Toàn bộ dữ liệu tập trung tại phòng đào tạo và tại đây công việc xếp thời khóa biểu được tiến hành đồng loạt cho đến kết quả cuối cùng.
Thông thường các trường đại học có mô hình đào tạo ổn định, đội ngũ giáo viên cơ hữu lớn được thực hiện theo mô hình này.
2. Việc xếp Thời khóa biểu chia làm 2 giai đoạn: Khoa/Bộ môn - Phòng đào tạo
Với mô hình này, tại phòng đào tạo thực hiện việc phân công lớp học và môn học và các định hướng đào tạo chính. Sau đó dữ liệu được chuyển về các khoa và bộ môn phân công thời khóa biểu cụ thể. Sau khi đã xếp sơ bộ tại Khoa/Bộ môn, dữ liệu được chuyển về phòng đào tạo để hoàn thiện.
Các trường đại học mới thành lập, các trường dân lập với đội ngũ giáo viên còn thiếu thông thường tiến hành xếp thời khóa biểu theo mô hình này.
3.3. Qui trình Xếp Thời khóa biểu bằng tay
Qui trình xếp Thời khóa biểu bằng tay đối với mô hình lớp niên chế có thể mô tả trong sơ đồ tổng quát dưới đây:
Hình 9. Qui trình xếp Thời khóa biểu tổng quát
Chú thích cho sơ đồ trên:
3.4. Hệ thống các đối tượng thông tin chính của Thời khóa biểu
Các đối tượng dữ liệu chính của bài toán xếp Thời khóa biểu được chia làm 4 loại sau đây:
Trong mô hình dữ liệu trên, các dữ liệu thuộc nhóm Dữ liệu gốc và Dữ liệu Từ điển sẽ có nội dung gần như cố định, ít thay đổi theo thời gian và được dùng nhiều lần. Nhóm các dữ liệu Kế hoạch giảng dạy và Dữ liệu TKB sẽ thay đổi thường xuyên và phụ thuộc vào từng Thời khóa biểu.
1. Dữ liệu từ điển (Dictionary Data)
Dữ liệu từ điển bao gồm các loại dữ liệu tham chiếu chính của toàn bộ phần mềm. Dữ liệu từ điển bao gồm:
A. Nhóm dữ liệu liên quan đến Chương trình đào tạo:
1. Hệ đào tạo (Training Program)
2. Ngành đào tạo (Branch)
3. Chuyên ngành đào tạo (Speciality)
4. Môn học Khung (Main Subject)
Mô hình quan hệ giữa các đối tượng trên đã được mô tả sơ bộ trong hình 3 và chính là Chương trình đào tạo KHUNG theo mô hình của Bộ Giáo dục & Đào tạo.
Chú ý: Khái niệm Môn học Khung trong mô hình của Bộ GD&ĐT sẽ được thể hiện thành Môn học Khung (Main Subject) trong TKBU, còn khái niệm Học phần sẽ được thể hiện thành Môn học (Subject) trong TKBU.
B. Nhóm dữ liệu liên quan đến tổ chức quản lý nhân sự nhà trường:
1. Trường (School)
2. Khoa (Faculty)
3. Bộ môn (Department)
Nhóm dữ liệu này đóng vai trò trung tâm vì chúng sẽ có quan hệ trực tiếp với hầu như tất cả các nhóm dữ liệu khác trong mô hình Thời khóa biểu nhà trường.
C. Nhóm dữ liệu liên quan đến cơ sở vật chất nhà trường
1. Vị trí, địa điểm (Site, Place)
2. Tòa nhà (Building)
Nhóm dữ liệu này có liên quan trực tiếp đến 2 đối tượng Thời khóa biểu chính là Lớp học và Hội trường. Mỗi Lớp học sẽ được gán một vị trí học xác định của nhà trường và mỗi hội trường phải nằm trong một tòa nhà xác định.
Mô hình quan hệ giữa các đối tượng này như sau:
D. Nhóm các dữ liệu tham chiếu khác
1. Danh sách Tỉnh, Thành phố (Province)
2. Danh sách Quận, Huyện (Distric)
3. Dân tộc (Nation)
4. Danh sách Quốc gia trên thế giới (Country)
Nhóm dữ tham chiếu này không đóng vai trò quan trọng trong mô hình bài toán Thời khóa biểu, tuy vậy nó sẽ quan trọng trong các mô hình quản lý nhân sự, quản lý giáo viên hay sinh viên.
2. Dữ liệu gốc Thời khóa biểu (TKB Origin Data)
Bao gồm các dữ liệu tham chiếu quan trọng dùng làm cơ sở chính trong mô hình bài toán Thời khóa biểu. Nhóm này bao gồm 4 đối tượng chính là Lớp học, Giáo viên, Hội trường và Môn học. Đây là nhóm dữ liệu quan trọng nhất của mô hình bài toán Thời khóa biểu.
1. Lớp học (Normal Class)
Lớp học được hiểu trong mô hình bài toán Thời khóa biểu là một đơn vị chính để sắp xếp Thời khóa biểu. Mỗi lớp học bao gồm một tập hợp cố định sinh viên được tập hợp từ một khóa học nào đó. Kiểu lớp như vậy được gọi LỚP NIÊN CHẾ (để phân biệt với LỚP TÍN CHỈ sẽ được trình bày sau).
Cần chú ý phân biệt khái niệm Lớp Thời khóa biểu trong TKBU với khái niệm Lớp quản lý sinh viên hay Lớp chuyên ngành.
Lớp thời khóa biểu (Normal Class) trong mô hình TKBU là các “lớp học” mang đặc thù của một Thời khóa biểu cụ thể. Các lớp học này có thể thay đổi theo từng học kỳ và phụ thuộc vào công việc xếp một thời khóa biểu cụ thể. Ngược lại Lớp quản lý sinh viên thường mang đặc tính cố định, không thay đổi theo năm học. Các lớp quản lý sinh viên này thường được xác định ngay sau khi sinh viên nhập học.
Ví dụ: Lớp XE1, XE2 là các lớp được tạo ra để quản lý sinh viên (Hệ học viên), các lớp XeQS35, ĐA34 là các lớp được chia theo chuyên ngành, chúng có thể không phải là các lớp theo Thời khóa biểu.
Các thông tin liên quan đến lớp học bao gồm:
Đi liền với khái niệm Lớp và Lớp ghép to (SuperClass) và Lớp tách nhỏ (SubClass).
Lớp Ghép To (SuperClass) là loại lớp được khởi tạo tạm thời dùng để thực hiện việc ghép các lớp thường cho các môn học cần ghép lớp.
Như vậy một Lớp Ghép To sẽ bao gồm một số lớp học bình thường.
Chú ý: cần phân biệt khái niệm Lớp ghép to (SuperClass) với khái niệm Lớp ghép (Union Class) sẽ được trình bày ở phần sau.
Lớp tách con (SubClass) được định nghĩa cho việc tách một lớp học thành các lớp nhỏ hơn để học tập các môn cần tách lớp. Mỗi lớp học bình thường (Normal Class) có thể có nhiều kiểu tách lớp con, mỗi kiểu tách như vậy được xác định bởi 2 thông tin: Mã tách lớp con (SplitCode) và số lượng lớp con cần tách.
Chú ý: cần phân biệt khái niệm SubClass với khái niệm Lớp tách (Split Class) sẽ được trình bày ở phần sau.
2. Giáo viên (Teacher)
Giáo viên là một trong các đối tượng chính của mô hình bài toán Thời khóa biểu.
Các thông tin thuộc tính của giáo viên là:
Mã giáo viên có thể cho phép là 6 ký tự (để thể hiện được trên màn hình và in ra thời khóa biểu.
3. Phòng học (Room)
Phòng học là đối tượng dữ liệu quan trọng thứ 3 và là cấu thành tạo nên dữ liệu Thời khóa biểu.
Các thông tin thuộc tính của phòng học là:
4. Môn học (Subject)
Môn học là một trong những đối tượng trung tâm nhất của bài toán xếp Thời khóa biểu. Môn học (Subject) chính là khái niệm HỌC PHẦN đã được mô tả trong mô hình Chương trình đào tạo của Bộ Giáo dục & Đào tạo. Do thói quen nên chúng tôi vẫn giữ tên MÔN HỌC để chỉ một module học tập trọn vẹn trong một học kỳ của một lớp học nào đó. Mỗi môn học sẽ tương ứng với một học phần của một chương trình đào tạo nào đó. Môn học sẽ được gán cho mỗi lớp học trong một học kỳ tạo ra bảng PCGD của lớp học này. Đồng thời môn học theo qui định sẽ do một bộ môn (hoặc khoa) trong nhà trường đảm nhiệm giảng dạy.
Môn học là một trong những khái niệm quan trọng nhất trong mô hình bài toán Thời khóa biểu và bài toán Quản lý chương trình đào tạo. Chúng ta sẽ xem xét kỹ hơn tại đây mô hình Môn học.
Trong mô hình bài toán Thời khóa biểu, môn học là đối tượng quản lý chính để tạo nên Chương trình đào tạo. Sơ đồ sau mô tả quan hệ giữa Môn học với các đối tượng khác:
Ví dụ đối với HVKTQS, theo truyền thống mã môn học được ký hiệu bởi 4 ký tự, trong đó 2 ký tự đầu tiên chỉ Bộ môn phụ trách môn học này. Ví dụ: Mã môn học 01HA, Toán rời rạc, 4 đvht chuẩn là môn học do bộ môn 01-Bộ môn Toán, khoa CNTT đảm nhiệm.
Theo chúng tôi, mỗi môn học phải được đặc trưng bởi các thông số chính sau đây trong mô hình chương trình đào tạo chi tiết:
- Là một đơn vị kiến thức học thuật được giảng dạy trọn vẹn trong phạm vi một học kỳ với số tiết dạy dao động từ 1 đến 6 đơn vị học trình (từ 15 - 90 tiết học).
- Thông tin tương ứng với Hệ, Ngành hoặc Chuyên ngành đào tạo cụ thể.
- Mỗi môn học sẽ tương ứng với một nội dung và đối tượng tiếp thu kiến thức cố định. Tùy thuộc vào tính chất, mục đích và đối tượng mà xác định môn học.
- Mỗi môn học nên được giao chính cho một bộ môn (hoặc khoa) phụ trách. Mỗi bộ môn (hoặc khoa) lại giao cho một vài giáo viên đảm nhiệm viết giáo án, bài tập, đề kiểm tra cho môn học này. Tuy nhiên trên thực tế giảng dạy có thể phân công cho một bộ môn khác hoặc giáo viên khác.
Ví dụ: mô hình mã bộ môn Học viện KTQS:
Mã môn học được qui định bởi 6 ký tự (là con số tối đa cho việc in dữ liệu TKB lớp của Học viện trên khổ giấy A3) với ý nghĩa như sau:
Giải thích thêm cho sơ đồ trên:
- 2 ký tự đầu tiên: không có gì phải bàn. Việc giao môn học cho đơn vị là bộ môn dạy chính như hiện nay là khá hợp lý. Với 2 ký tự để mã hóa các bộ môn chúng ta có thể mã hóa được 362 = 1296 bộ môn.
- 2 ký tự tiếp theo: dùng để chỉ hệ thống các môn học (học phần) được phân công cho Khoa hoặc Bộ môn đảm nhiệm. Hệ thống tên môn học này có thể thống nhất ở mức KHOA. Ví dụ với khoa CNTT, HA dùng ký hiệu môn Toán rời rạc, JG - phương pháp tính, JA - xử lý ảnh. Hệ thống Mã hóa tên môn này sẽ được qui định thống nhất trên qui mô toàn HVKTQS.
- 1 ký tự (số) tiếp theo: một chữ số từ 1 đến 9 chỉ ra số đơn vị học trình chuẩn của môn học này. Ký hiệu này có thể bỏ qua hoặc nếu bằng chữ số 0 dùng để chỉ sự không xác định số đơn vị học trình chuẩn của môn học này. Với cách ký hiệu này nhìn vào mã môn, học sinh và giáo viên có thể hiểu ngay số tiết cần dạy của môn học này.
- 1 ký tự sau cùng: ký tự này dùng để chỉ các đặc thù riêng biệt cho môn học này. Vi dụ môn học 01HA40 là Toán rời rạc dùng cho các lớp kỹ sư Tin học bình thường của Học viện, còn 01HA41 dùng để dạy cho các lớp hệ cao đẳng ngành CNTT với mức độ kiến thức nhẹ hơn, còn 01HA42 dùng để dạy cho lớp kỹ sư tài năng với sự chuyên sâu và nâng cao rõ rệt.
Với môn học chúng ta có 3 tham số dữ liệu: Mã môn, Tên môn, Tên đầy đủ môn học. Với ví dụ trên ta có:
Như vậy theo mô hình trên, các Khoa, Bộ môn sẽ cùng với Phòng Đào tạo quản lý thống nhất hệ thống 4 ký tự cuối của các môn học trong chương trình tổng thể đào tạo của Học viện. Phòng Đào tạo để quản lý chung chỉ việc thêm 2 ký tự chỉ mã bộ môn vào các mã môn học này.
Với mô hình qui định mới của mã môn học, phần mềm TKBU có thể thực hiện được một số chức năng cơ bản của công việc Quản lý Tổng thể Chương trình đào tạo.
3. Dữ liệu Kế hoạch giảng dạy (Scheduling Data)
Bao gồm các dữ liệu chuẩn bị cho kế hoạch giảng dạy của năm học hay học kỳ hiện thời. Các dữ liệu này là thông tin cần thiết trực tiếp để xếp Thời khóa biểu cho các lớp học. Đây là nhóm dữ liệu khá đồ sộ và phức tạp trong mô hình bài toán Thời khóa biểu.
1. Bảng PCGD
Bảng Phân công giảng dạy (PCGD) là bảng lưu trữ thông tin phân công học và dạy cho từng lớp học của học kỳ hiện thời. Với mỗi lớp cần xếp Thời khóa biểu, chúng ta cần gán một danh sách các môn học được phân bổ cho lớp này và danh sách các giáo viên dạy kèm theo.
Về lý thuyết sau khi đã thiết kế chương trình đào tạo tổng thể cho từng hệ, ngành và chuyên ngành, danh sách các môn học của lớp trong học kỳ hiện thời sẽ tự động được sinh ra. Trên thực tế phòng đào tạo sẽ phải điều chỉnh khá nhiều để phù hợp với tình hình triển khai giảng dạy cụ thể.
2. Lớp ghép (Union Class)
Lớp ghép là khái niệm lớp "ảo" dùng để chỉ việc ghép nhiều lớp học chung một môn học nào đó. Công việc ghép lớp với mục đích tăng hiệu suất giảng dạy của giáo viên.
Như vậy khá niệm "Lớp ghép" là hoàn toàn mới trong mô hình phần mềm TKBU. Mỗi lớp ghép sẽ phải tương thích với các lớp ghép thành viên của mình về môn học, khối lượng giảng dạy, giáo viên dạy tương ứng.
Mô hình lớp ghép được mô tả trong sơ đồ sau:
Mỗi Lớp ghép (Uclass) sẽ có tương ứng với một Lớp ghép to (SuperClass) đã trình bày trong phần trên. Hay nói cách khác, mỗi Lớp ghép to được tạo ra nhằm đáp ứng một hoặc nhiều lớp ghép, mỗi lớp ghép ứng với một môn học ghép nhất định.
Sơ đồ sau mô tả quan hệ thông tin giữa Lớp ghép to (SuperClass) và Lớp ghép (Union Class) được định nghĩa trong mô hình bài toán Thời khóa biểu TKBU.
Các "lớp ghép" được quản lý trong TKBU một cách độc lập.
Việc khởi tạo và thao tác trên các lớp ghép (hay lớp tách) là một việc hoàn toàn mới đối với các nhân viên tác nghiệp xếp thời khóa biểu. Tuy nhiên đây là những công việc cần thiết và là quan trọng trong mô hình bài toán xếp Thời khóa biểu trong các nhà trường Đại học & Cao đẳng.
3. Lớp tách (Split Class)
Lớp tách là khái niệm ngược lại với lớp ghép. Khi một lớp học bình thường học một môn học phải tách ra thành một vài lớp con nhỏ hơn, ta thu được khái niệm "lớp tách". Việc tách lớp được đặt ra đối với các môn học có nhu cầu học đặc biệt với số lượng học sinh hạn chế (ví dụ Ngoại ngữ, Thí nghiệm Hóa học, ....). Với mỗi lần tách lớp như vậy chúng ta cần tạo ra các lớp tách và TKBU quản lý danh sách các lớp tách một cách độc lập.
Trong mô hình TKBU, mỗi lớp tách (split class) bắt buộc phải liên kết với các lớp tách con (subclass) thông qua khái niệm Mã tách lớp (SplitCode). Mỗi mã tách lớp mô tả một kiểu tách một lớp học bình thường thành nhiều lớp nhỏ hơn (gọi là các lớp tách con, hay subclass) dùng để học các môn học cần tách lớp. Mỗi lớp học bình thường có thể có nhiều kiểu tách lớp khác nhau, mỗi kiểu tách lớp lại có thể tương ứng với nhiều môn học tách (lớp tách) khác nhau. Dữ liệu lớp tách là một trong những mô hình phức tạp nhất của bài toán thời khóa biểu Đại học.
4. Lớp tín chỉ
Lớp tín chỉ là khái niệm lớp học đặc biệt được thiết lập dựa trên các môn học phân cho giáo viên giảng dạy trong học kỳ hiện thời và học sinh đăng ký học tự do. Mô hình lớp tín chỉ hiện là mô hình học chính thức của hầu hết các trường đại học trên thế giới. .
Tại Việt Nam cũng đã bắt đầu hình thành hình thức học này, tuy nhiên cho đến thời điểm hiện nay rất ít các trường tại Việt Nam sử dụng mô hình lớp tín chỉ.
5. Giai đoạn thời khóa biểu (Keyweek)
Đây là mô hình thời khóa biểu TUẦN của các lớp được chia thành nhiều giai đoạn trong một học kỳ. Mô hình này là khá phổ biến trong các nhà trường Đại học, Cao đẳng của Việt Nam.
Theo mô hình này, TKB của mỗi lớp học trong nhà trường được chia thành nhiều giai đoạn, trong mỗi giai đoạn thời khóa biểu của các tuần là giống nhau. Việc phân bổ Thời khóa biểu các lớp học dạng TUẦN theo các giai đoạn trong học kỳ sẽ phát huy tối đa hiệu quả sử dụng nguồn nhân lực trong nhà trường, tuy nhiên đổi lại mô hình dữ liệu thời khóa biểu sẽ trở nên tương đối phức tạp.
6. Kế hoạch ngày nghỉ và môn học
Dữ liệu lưu trữ các ngày và buổi nghỉ trong năm học hiện thời.
7. Yêu cầu giáo viên
Dữ liệu lưu trữ các yêu cầu cụ thể của giáo viên. Mô hình yêu cầu giáo viên trong TKBU là mô hình theo tuần. Màn hình nhập yêu cầu giáo viên có dạng sau:
4. Dữ liệu Thời khóa biểu (TKB Data)
Đây là khối dữ liệu lớn nhất và phức tạp nhất của phần mềm: dữ liệu Thời khóa biểu cụ thể trong học kỳ hiện thời. Có 3 khối dữ liệu thời khóa biểu: thời khóa biểu Lớp học, thời khóa biểu Giáo viên, thời khóa biểu Hội trường.
Một màn hình đặc biệt của phần mềm được thiết kế để làm việc với các Thời khóa biểu này. Chúng ta có thể xem, thao tác đồng thời với 3 loại thời khóa biểu trên màn hình.
Một đặc điểm rất quan trọng của màn hình Thời khóa biểu của phần mềm TKBU là 2 khái niệm sau đây:
1. Khái niệm đồng bộ Thời khóa biểu
Đây là khái niệm rất quan trọng chỉ ra tự tương thích và đồng bộ giữa 3 thời khóa biểu lớp, giáo viên, phòng học thể hiện trên màn hình. Khi một ô TKB được chọn trong 1 trong 3 thời khóa biểu trên, các ô thời khóa biểu của 2 thời khóa biểu còn lại luôn chỉ ra đúng vị trí và các đối tượng đang có tại ô hiện thời.
Việc thể hiện thời khóa biểu một cách đồng bộ là một công cụ rất tốt giúp người xếp Thời khóa biểu có cách nhìn tốt nhất trong việc tư duy xếp của mình. Đây là một đặc điểm rất mạnh của phần mềm TKBU.
2. Khái niệm ô thời khóa biểu lớp đồng bộ và chưa đồng bộ
Một đặc thù nữa rất cơ bản của TKBU là chức năng cho phép xếp dữ liệu trên TKB lớp "trước khi" đồng bộ dữ liệu. Chức năng này cho phép người xếp Thời khóa biểu sẽ tiến hành xếp theo 2 giai đoạn:
Giai đoạn 1: xếp nhanh dữ liệu lên TKB lớp mà chưa cần quan tâm đến việc trùng giờ, trùng tiết giáo viên hay hội trường.
Giai đoạn 2: tinh chỉnh, đồng bộ Thời khóa biểu, hoàn thiện chức năng xếp Thời khóa biểu.
Với thời khóa biểu dạng TUẦN mô hình xem và điều chỉnh dữ liệu Thời khóa biểu tương tự trên, điểm khác duy nhất là màn hình thể hiện theo thời gian là một TUẦN LỄ.
Hình sau mô tả một khuôn dạng của thời khóa biểu tuần.
3.5. Qui trình xếp Thời khóa biểu mới
Sau khi cài đặt và sử dụng phần mềm Hỗ trợ xếp Thời khóa biểu, qui trình xếp Thời khóa biểu sẽ được mô tả như sau:
Từ sơ đồ trên ta có nhận xét sau đây:
- Sau khi đưa ứng dụng phần mềm vào công việc xếp Thời khóa biểu, mặc dù chỉ là bước đầu, nhưng hầu hết các công đoạn chính của quá trình nhập, xếp Thời khóa biểu sẽ được thực hiện trên máy tính.
- Với việc áp dụng phần mềm Hỗ trợ xếp Thời khóa biểu, qui trình xếp thực tế sẽ phải thay đổi lại cho phù hợp. Phòng Đào tạo sẽ phải đóng vai trò quan trọng nhất trong việc xếp và điều hành công việc quản lý Thời khóa biểu trong nhà trường. Các Khoa, Bộ môn chỉ còn đóng vai trò cung cấp thông tin tham khảo cho phòng Đào tạo thực hiện công việc của mình.
Bùi Việt Hà
|