Bối cảnh và vấn đề nghiên cứu

Trong công tác quản lý đào tạo tại các trường đại học, hoạt động kiểm tra, đánh giá tập trung kết thúc học phần và tổ chức thi tuyển sinh là quy trình định kỳ đòi hỏi tính bảo mật, chính xác và đồng bộ cao. Theo quy định chung, danh sách thí sinh trong phòng thi được phân bổ vị trí ngẫu nhiên dựa trên số thứ tự (STT) do Hội đồng thi cung cấp cho cán bộ coi thi (CBCT) ngay trước giờ bắt đầu ca thi. Cán bộ coi thi phải tự thiết kế, vẽ lại sơ đồ chỗ ngồi và ghi số báo danh (SBD) hoặc STT lên bảng hoặc trực tiếp lên bàn thi.

Tác giả chỉ ra bốn vấn đề hạn chế trong quy trình tổ chức thi truyền thống:

  1. Quá trình chuyển đổi từ SBD sang STT và vẽ sơ đồ thủ công tiêu tốn nhiều thời gian, đặc biệt tại các phòng thi có quy mô lớn hoặc có cấu trúc dãy bàn khác biệt với sơ đồ định dạng trước của Hội đồng thi.
  2. Thí sinh phải tập trung ngoài cửa, nhận STT từ CBCT và tự tìm kiếm vị trí ngồi trên bảng hoặc bàn thi, gây ùn tắc và mất nhiều thời gian nếu thí sinh chưa quen thuộc với sơ đồ phòng học.
  3. Thiếu sự liên kết dữ liệu giữa các phòng thi diễn ra đồng thời; khi thí sinh đi nhầm phòng, CBCT không có công cụ tra cứu tức thời để điều hướng thí sinh về đúng địa điểm thi.
  4. Lịch sử sơ đồ bố trí chỗ ngồi và tình trạng điểm danh không được lưu trữ tập trung trên hệ thống số, gây khó khăn cho công tác rà soát, hậu kiểm và xử lý khi phát sinh sự cố hoặc nghi ngờ gian lận thi cử.

Trước bối cảnh trường đại học từng bước triển khai mô hình phòng học thông minh (Smart Classroom), đề tài đặt ra mục tiêu xây dựng phần mềm "Hệ thống bổ trợ sắp xếp vị trí thí sinh trong phòng học thông minh" (tên hệ thống: Smart Class), đóng vai trò là một phân hệ chức năng hỗ trợ Hội đồng thi, CBCT và thí sinh.

Mục tiêu cụ thể của đề tài được phân định theo ba phân hệ:

  • Phân hệ 1 (Sắp xếp vị trí chỗ ngồi trong phòng thi): Số hóa sơ đồ phòng học; tự động hóa việc sắp xếp vị trí thí sinh theo các thuật toán định sẵn hoặc sơ đồ tùy chỉnh; cung cấp API mở rộng để kết hợp với mô-đun phát hiện gian lận qua camera.
  • Phân hệ 2 (Hướng dẫn trong phòng thi): Cung cấp tính năng trực quan hóa đường di chuyển (vẽ đường đi) từ cửa vào đến đúng vị trí ghế ngồi của thí sinh; tích hợp API điểm danh bằng thẻ sinh viên hoặc nhận diện khuôn mặt; hỗ trợ tra cứu chéo để hướng dẫn thí sinh đi nhầm phòng về đúng địa điểm thi.
  • Phân hệ 3 (Tra cứu lịch sử các ca thi đã diễn ra): Lưu trữ toàn bộ dữ liệu ca thi, sơ đồ bố trí thực tế, danh sách điểm danh và các vị trí ghi nhận có hành vi gian lận phục vụ công tác đối soát.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Quy trình tổ chức, phân bổ chỗ ngồi, điểm danh, điều hướng thí sinh trong phòng thi và mô hình dữ liệu của phòng học thông minh.
  • Phạm vi không gian và thực nghiệm: Khóa luận tập trung khảo sát và triển khai thử nghiệm tại các phòng học máy tính chuyên môn thuộc dãy I của Khoa Công nghệ Thông tin, Trường Đại học Sư phạm TP. Hồ Chí Minh; định hướng mở rộng sang các phòng học tiêu chuẩn dãy B và các phòng học có cấu trúc đặc thù.
  • Thời gian thực hiện: Năm 2023.

Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng trên nền tảng lý luận về chuyển đổi số trong giáo dục đại học và mô hình phòng học thông minh:

  • Chuyển đổi số trong môi trường sư phạm: Quá trình tái cấu trúc cách thức vận hành, quản lý dữ liệu và quy trình đào tạo thông qua công nghệ số, bao gồm tổ chức lớp học trực tuyến, quản lý học tập qua hệ thống VLE/LMS và số hóa quy trình kiểm tra, đánh giá.
  • Mô hình phòng học thông minh (Smart Classroom): Không gian học tập tích hợp công nghệ giáo dục tiên tiến với 4 đặc tính chủ đạo: (1) Môi trường học tập giàu công nghệ kết hợp không gian vật lý và không gian số; (2) Cung cấp công cụ công nghệ thông tin và truyền thông hỗ trợ đa dạng phương thức dạy học; (3) Khả năng thu thập, lưu trữ, tính toán và phân tích dữ liệu người học; (4) Môi trường học tập mở và thực tế.
Loại phòng học khảo sát Trang bị thiết bị Mục đích phục vụ phòng học thông minh
Phòng học chuyên môn dãy I Trang bị đầy đủ máy tính, camera giám sát góc rộng, màn hình trình chiếu. Bổ trợ điểm danh khuôn mặt, nhận diện hành vi gian lận, hiển thị sơ đồ vị trí và đường đi trực quan.
Phòng học tiêu chuẩn dãy B Trang bị camera giám sát, bảng tính điện tử/máy chiếu, mạng nội bộ. Trình chiếu thông tin ca thi, tăng cường giao tiếp giữa CBCT, thí sinh và hệ thống quản trị.

Phương pháp nghiên cứu:

  • Phương pháp phân tích và tổng hợp: Kế thừa và nghiên cứu các mô-đun phòng học thông minh đã được phát triển bởi các nhóm nghiên cứu đồng khóa (điểm danh bằng khuôn mặt, phát hiện hành vi gian lận qua camera, đo lường độ hứng thú của người học) để thiết kế giao tiếp liên mô-đun qua RESTful API.
  • Phương pháp khảo sát thực địa: Khảo sát cấu trúc vật lý các phòng máy dãy I để chuẩn hóa mô hình hình học phòng học (dạng lưới chữ nhật gồm các hàng ngang, hàng dọc, hành lang di chuyển, vị trí cửa ra vào đối diện bàn giảng viên).
  • Phương pháp thiết kế và phát triển phần mềm: Áp dụng quy trình phân tích hướng đối tượng, mô hình hóa Use Case, sơ đồ hoạt động (Activity Diagram), thiết kế cơ sở dữ liệu quan hệ và xây dựng ứng dụng web theo kiến trúc phân tách Front-end và Back-end.

Thiết kế và triển khai hệ thống

Hệ thống Smart Class được thiết kế và cài đặt hoàn chỉnh dưới dạng ứng dụng web đa tầng với kiến trúc tách biệt giữa giao diện người dùng và hệ thống xử lý trung tâm.

1. Công nghệ và môi trường phát triển

Thành phần Công nghệ / Thư viện sử dụng Vai trò trong hệ thống
Hệ điều hành Windows 11, Debian Môi trường phát triển và máy chủ triển khai
Front-end TypeScript, Next.js, NextAuth, Mantine, SWR, Axios Xây dựng giao diện tương tác, trực quan hóa sơ đồ lưới và thuật toán vẽ đường di chuyển
Back-end Python 3, Django, Django REST Framework (DRF) Xử lý nghiệp vụ logic, cung cấp RESTful API, thực thi thuật toán phân bổ vị trí
Cơ sở dữ liệu PostgreSQL Lưu trữ dữ liệu quan hệ, ràng buộc toàn vẹn dữ liệu sinh viên, phòng học, ca thi
Công cụ thiết kế Figma, DBeaver, Diagram.io Thiết kế giao diện (UI/UX), quản trị CSDL và vẽ sơ đồ hệ thống

2. Thuật toán sắp xếp vị trí thí sinh

Hệ thống tích hợp 4 thuật toán sắp xếp vị trí tự động:

Tên thuật toán Nguyên lý phân bổ
Tuyến tính theo chiều ngang Sắp xếp số thứ tự thí sinh liên tục theo từng hàng ngang, từ trái sang phải, lần lượt từ trên xuống dưới.
Tuyến tính theo chiều dọc Sắp xếp số thứ tự thí sinh liên tục theo từng hàng dọc, từ trên xuống dưới, lần lượt từ trái sang phải.
Chẵn lẻ theo chiều ngang Phân tách danh sách thí sinh thành tập số chẵn và số lẻ, bố trí xen kẽ theo từng hàng ghế ngang.
Chẵn lẻ theo chiều dọc Phân tách danh sách thí sinh thành tập số chẵn và số lẻ, bố trí xen kẽ theo các cột ghế dọc.

3. Thiết kế mô hình dữ liệu

Cơ sở dữ liệu của hệ thống gồm 4 bảng thực thể chính được thiết kế chuẩn hóa:

Tên bảng CSDL Tên thực thể Các thuộc tính chính Diễn giải chức năng
smart_class_student Sinh viên (Student) id, first_name, last_name, code (MSSV), class_code, dob, created, modified Lưu trữ hồ sơ định danh của sinh viên/thí sinh.
smart_class_room Phòng học (Room) uuid, name, capacity, row, column, aisle, teacher_desk, created, modified Lưu trữ cấu hình hình học, số hàng, số cột, lối đi và vị trí bàn giáo viên.
smart_class_examsession Ca thi (Exam Session) id, name, start_time, end_time, room_id (FK), created, modified Quản lý thông tin thời gian, tên môn thi và liên kết tới phòng học cụ thể.
smart_class_studentsession Bố trí ca thi (Student Session) id, exam_session_id (FK), student_id (FK), index, row, location_id, attendance Bảng trung gian quản lý tọa độ chỗ ngồi (hàng, cột, vị trí) và trạng thái điểm danh của từng thí sinh.

4. Quy trình xử lý và kiến trúc giao diện

  • Quy trình tạo ca thi và sắp xếp: Hội đồng thi nhập thông tin ca thi và tải lên tệp danh sách thí sinh (hỗ trợ tệp Excel). Hệ thống kiểm tra tính hợp lệ của MSSV/SBD so với bảng Student; nếu sai sót sẽ thông báo lỗi. Người dùng chọn 1 trong 4 thuật toán gợi ý hoặc tùy chỉnh thủ công để hệ thống sinh sơ đồ tọa độ.
  • Quy trình điểm danh và điều hướng: Thí sinh thực hiện điểm danh tại cửa phòng qua mã sinh viên hoặc mô-đun nhận diện khuôn mặt. Nếu hợp lệ, hệ thống hiển thị sơ đồ và vẽ đường đi từ cửa qua hành lang tới vị trí ghế. Nếu thí sinh không thuộc ca thi của phòng, hệ thống tự động truy vấn chéo các ca thi đang hoạt động cùng thời điểm; nếu tìm thấy, hệ thống thông báo tên phòng và hướng dẫn thí sinh di chuyển sang đúng phòng thi.
  • Kiến trúc giao diện: Giao diện gồm Header cố định (Logo Smart Class, nút đổi Theme sáng/tối, nhãn phiên bản v1.0), Navbar điều hướng (Manage Session, Manage Student, Manage Room), vùng Nội dung chính linh hoạt theo phân hệ và Footer hiển thị thông tin tác giả.

Nội dung chính theo từng chương

Phần Tổng quan

Trình bày lý do chọn đề tài xuất phát từ yêu cầu số hóa quy trình coi thi và tối ưu hóa thời gian tổ chức tại phòng thi. Xác định mục tiêu tổng quát, mục tiêu cụ thể của 3 phân hệ, phạm vi áp dụng tại dãy I và cấu trúc bố cục toàn bộ khóa luận gồm 4 chương chính.

Chương 1. Cơ sở lý thuyết

Khái quát về chuyển đổi số trong giáo dục và vai trò của phòng học thông minh. Trình bày 4 đặc trưng của Smart Classroom. Phân tích kết quả khảo sát thiết bị thực tế tại dãy I và dãy B của Khoa CNTT, khẳng định tính tương thích để triển khai hệ thống. Giới thiệu mô hình bài toán bố trợ thi cử và chi tiết hóa nguyên lý hoạt động của 4 thuật toán sắp xếp vị trí (tuyến tính ngang, tuyến tính dọc, chẵn lẻ ngang, chẵn lẻ dọc).

Chương 2. Phân tích và thiết kế hệ thống

Xác định bài toán chi tiết và các ca sử dụng thực tế của 3 nhóm tác nhân (Hội đồng thi, Cán bộ coi thi, Thí sinh). Thiết lập bảng đặc tả yêu cầu chức năng và phi chức năng cho hệ thống chung và từng phân hệ:

  • Yêu cầu phi chức năng kiểm tra tính hợp lệ của danh sách tải lên, ngăn chặn dữ liệu sinh viên không tồn tại trong CSDL.
  • Yêu cầu chức năng vẽ đường đi và tra cứu liên phòng thi.
  • Xây dựng sơ đồ Use Case tổng thể, sơ đồ hoạt động (Activity Diagram) cho luồng tạo ca thi, luồng điểm danh - chỉ đường và luồng tra cứu lịch sử.
  • Thiết kế mô hình dữ liệu quan hệ với 4 thực thể (smart_class_room, smart_class_student, smart_class_examsession, smart_class_studentsession) và mô hình hóa giao diện (Header, Navbar, Footer, Main Content).

Chương 3. Cài đặt và thử nghiệm

Mô tả chi tiết môi trường phát triển (Python 3, Django, DRF, Next.js, TypeScript, PostgreSQL) và các công cụ hỗ trợ (Figma, DBeaver, Diagram.io). Định nghĩa cơ chế phân quyền người dùng (Quản trị/Hội đồng thi có toàn quyền tạo lập; CBCT có quyền điểm danh và điều chỉnh vị trí).

Trình bày các kịch bản thử nghiệm thực tế kèm ảnh chụp giao diện:

  • Màn hình quản lý danh mục phòng học, sinh viên và ca thi.
  • Giao diện nhập thông tin ca thi, tải tệp Excel danh sách thí sinh và lựa chọn thuật toán sắp xếp.
  • Màn hình hiển thị sơ đồ tổng thể phòng thi, giao diện vẽ đường dẫn điều hướng thí sinh đến đúng tọa độ ghế.
  • Giao diện thông báo điểm danh, cảnh báo sai phòng và hiển thị lịch sử ca thi đã hoàn thành.

Chương 4. Kết luận và hướng phát triển

Đánh giá mức độ hoàn thành so với mục tiêu đề ra ban đầu của khóa luận. Tổng kết khả năng ứng dụng thực tế của hệ thống Smart Class tại các phòng máy chuyên môn của Khoa CNTT và vạch ra các hướng mở rộng kỹ thuật trong giai đoạn tiếp theo.


Kết quả và đóng góp

1. Kết quả chính đạt được

  • Xây dựng hoàn chỉnh phần mềm "Smart Class" với đầy đủ 3 phân hệ chức năng hoạt động đồng bộ trên nền tảng Web: phân hệ sắp xếp vị trí, phân hệ điều hướng trong phòng thi và phân hệ tra cứu lịch sử ca thi.
  • Số hóa thành công cấu trúc phòng học dạng lưới tọa độ, hỗ trợ nhập liệu tự động từ danh sách Excel và triển khai thành công 4 thuật toán phân bổ vị trí chỗ ngồi tự động.
  • Phát triển tính năng vẽ luồng di chuyển trực quan trên giao diện đồ họa, giúp thí sinh xác định vị trí ghế ngồi ngay sau khi điểm danh hợp lệ.
  • Xây dựng cơ chế liên kết dữ liệu thời gian thực giữa các ca thi, giải quyết triệt để tình huống thí sinh nhầm lẫn phòng thi trong các đợt thi tập trung quy mô lớn.
  • Lưu trữ toàn bộ dữ liệu vị trí, trạng thái điểm danh và nhật ký ca thi trên hệ quản trị cơ sở dữ liệu PostgreSQL, cho phép rà soát và kết xuất dữ liệu lịch sử chính xác.

2. Giải pháp và đề xuất của tác giả

  • Đề xuất quy trình tổ chức thi số hóa khép kín: Hội đồng thi khởi tạo ca thi và phân vị trí trên phần mềm -> Thí sinh quét mã điểm danh và nhận lộ trình di chuyển trực quan -> Cán bộ coi thi theo dõi tình trạng điểm danh và vị trí trên màn hình giám sát -> Hệ thống tự động khóa và lưu trữ hồ sơ ca thi sau khi kết thúc.
  • Chuẩn hóa cấu trúc dữ liệu phòng học thông minh thành các tham số hình học (row, column, aisle, teacher_desk), tạo tiền đề để cấu hình cho nhiều loại phòng học khác nhau.

3. Đóng góp về mặt học thuật và kỹ thuật

  • Tác giả tự xác định đề tài đã đóng góp một mô-đun phần mềm chuyên biệt về quản lý vị trí và điều hướng thi cử vào hệ sinh thái phòng học thông minh của Khoa Công nghệ Thông tin, Trường Đại học Sư phạm TP.HCM.
  • Cung cấp các giao diện lập trình ứng dụng (RESTful API) chuẩn hóa, cho phép kết nối liền mạch với các mô-đun AI đã được nghiên cứu trước đó như hệ thống điểm danh nhận diện khuôn mặt và hệ thống giám sát hành vi gian lận qua camera.

Hạn chế và hướng nghiên cứu tiếp

1. Hạn chế

  • Hệ thống mới chỉ được khảo sát, cài đặt và thử nghiệm thực tế trên sơ đồ phòng học máy tính chuyên môn thuộc dãy I của Khoa Công nghệ Thông tin, chưa triển khai thực tế trên diện rộng toàn trường.
  • Thuật toán bố trí và mô hình hiển thị hiện tại tối ưu cho các phòng học có cấu trúc hình chữ nhật chuẩn với các hàng ghế thẳng; chưa hỗ trợ cấu hình tự động cho các giảng đường bậc thang hình cánh cung hoặc các phòng thi có bố cục bàn ghế phi tiêu chuẩn.

2. Hướng nghiên cứu tiếp

  • Mở rộng phạm vi áp dụng phần mềm sang hệ thống phòng học tiêu chuẩn tại dãy B và các phòng học có cấu trúc đặc biệt trong trường đại học.
  • Tích hợp sâu với mô-đun trí tuệ nhân tạo phát hiện gian lận qua camera để tự động đánh dấu và cảnh báo trực tiếp vị trí thí sinh có hành vi bất thường trên sơ đồ phòng thi theo thời gian thực.
  • Kết hợp dữ liệu vị trí với mô-đun đánh giá độ tập trung, mức độ tương tác và hứng thú của người học trong các hoạt động học tập thường nhật tại phòng học thông minh.

Giá trị tham khảo

  • Đối với sinh viên và người nghiên cứu ngành Công nghệ Thông tin / Công nghệ Phần mềm: Khóa luận là tài liệu tham khảo thực tế về quy trình xây dựng ứng dụng web phân tách bằng TypeScript/Next.js và Python/Django REST Framework; cung cấp giải pháp mẫu về mô hình hóa cơ sở dữ liệu quan hệ cho bài toán xếp chỗ và thuật toán biểu diễn đồ họa tọa độ lưới.
  • Đối với các nhóm phát triển hệ thống Phòng học thông minh (Smart Classroom): Tài liệu cung cấp thiết kế chuẩn về API liên kết giữa các phân hệ quản lý hành chính và các mô-đun xử lý hình ảnh (nhận diện khuôn mặt, phát hiện hành vi qua camera).
  • Đối với cán bộ quản lý khảo thí và tổ chức đào tạo: Đề tài gợi mở phương án chuyển đổi số quy trình coi thi, giảm tải áp lực cho cán bộ coi thi và rút ngắn thời gian chuẩn bị phòng thi tại các kỳ thi tập trung.

Câu hỏi thường gặp

1. Hệ thống Smart Class gồm những phân hệ chính nào?

Hệ thống gồm 3 phân hệ chính:

  • Phân hệ 1: Bổ trợ sắp xếp vị trí chỗ ngồi trong phòng thi (tạo ca thi, nhập danh sách thí sinh, chạy thuật toán phân bổ chỗ ngồi).
  • Phân hệ 2: Hướng dẫn trong phòng thi (điểm danh, vẽ đường đi đến chỗ ngồi, tra cứu và điều hướng thí sinh đi nhầm phòng).
  • Phân hệ 3: Tra cứu lịch sử các ca thi đã diễn ra (xem lại sơ đồ bố trí, vị trí điểm danh và các vị trí có ghi nhận gian lận).

2. Khóa luận đề xuất những thuật toán sắp xếp vị trí nào cho phòng thi?

Tác giả đề xuất 4 thuật toán sắp xếp cơ bản: (1) Tuyến tính theo chiều ngang; (2) Tuyến tính theo chiều dọc; (3) Chẵn lẻ theo chiều ngang; (4) Chẵn lẻ theo chiều dọc. Ngoài ra, hệ thống cho phép Hội đồng thi tự nhập sơ đồ phân bổ tùy chỉnh theo nhu cầu.

3. Hệ thống xử lý như thế nào khi thí sinh đi nhầm phòng thi?

Khi thí sinh điểm danh tại một phòng nhưng không có tên trong danh sách ca thi của phòng đó, hệ thống sẽ tự động truy vấn số báo danh/mã sinh viên tại tất cả các ca thi khác đang diễn ra đồng thời. Nếu tìm thấy thông tin, hệ thống sẽ hiển thị thông báo tên phòng thi chính xác và hướng dẫn thí sinh di chuyển về đúng địa điểm. Nếu không tìm thấy ở bất kỳ ca thi nào, hệ thống sẽ phát cảnh báo lỗi.

4. Công nghệ nào được sử dụng để xây dựng hệ thống?

Hệ thống sử dụng ngôn ngữ TypeScript với framework Next.js (kết hợp Mantine, NextAuth, Axios, SWR) cho phần giao diện Front-end; ngôn ngữ Python 3 với Django và Django REST Framework cho phần xử lý Back-end; cơ sở dữ liệu quan hệ PostgreSQL; cùng các công cụ phân tích thiết kế Figma, DBeaver và Diagram.io trên hệ điều hành Windows 11 và Debian.

5. Hệ thống đã được triển khai thử nghiệm tại địa điểm nào?

Hệ thống được khảo sát và triển khai thực nghiệm tại các phòng học máy tính chuyên môn thuộc dãy I của Khoa Công nghệ Thông tin, Trường Đại học Sư phạm TP. Hồ Chí Minh trong các kỳ thi tập trung kết thúc học phần.


Kết luận

Khóa luận tốt nghiệp "Hệ thống bổ trợ sắp xếp vị trí thí sinh trong phòng học thông minh" của sinh viên Nguyễn Danh Trung và Trần Lê Chánh Hạnh đã giải quyết thành công bài toán tự động hóa quy trình phân bổ chỗ ngồi, điểm danh và điều hướng thí sinh trong kỳ thi tập trung. Bằng việc kết hợp kiến trúc Next.js, Django REST Framework và PostgreSQL, công trình đã xây dựng một giải pháp phần mềm hoàn chỉnh gồm 3 phân hệ, tích hợp 4 thuật toán sắp xếp và tính năng điều hướng trực quan. Đề tài đóng góp một mô-đun thiết thực vào hệ sinh thái phòng học thông minh của Trường Đại học Sư phạm TP. Hồ Chí Minh, đồng thời mở ra tiềm năng tích hợp sâu rộng với các công nghệ giám sát và nhận diện tự động trong tương lai.