1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng phân hệ xếp lịch thi và tích hợp vào hệ thống Moodle tại trường Đại học Kinh tế, Đại học Đà Nẵng

5 0 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Nội dung

Bài viết Xây dựng phân hệ xếp lịch thi và tích hợp vào hệ thống moodle tại trường Đại học Kinh tế, Đại học Đà Nẵng trình bày kết quả đã được xây dựng và phát triển một phân hệ xếp lịch thi được thực hiện trên hệ thống Moodle, ứng dụng cụ thể tại Trường Đại học Kinh tế, Đại học Đà Nẵng. Phân hệ xếp lịch thi này có sử dụng giải thuật backtracking với một số kỹ thuật kiểm tra trước để tự động xếp lịch thi.

ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 1(86).2015 103 XÂY DỰNG PHÂN HỆ XẾP LỊCH THI VÀ TÍCH HỢP VÀO HỆ THỐNG MOODLE TẠI TRƯỜNG ĐẠI HỌC KINH TẾ, ĐẠI HỌC ĐÀ NẴNG DEVELOPING THE EXAM TIME TABLE PLUGIN AND INTEGRATING IT INTO MOODLE AT THE UNIVERSITY OF DANANG, UNIVERSITY OF ECONOMICS Vũ Hà Tuấn Anh Trường Đại học Kinh tế, Đại học Đà Nẵng; anh.vht@due.edu.vn Tóm tắt - Xếp lịch thi phần công việc quan trọng mà sở đào tạo phải làm trước kết thúc học kỳ Việc tạo công cụ cho phép lập lịch thi học kỳ cần thiết cho sở đào tạo, lập lịch thi học kỳ tích hợp vào hệ thống Moodle quan tâm từ nhiều trường đại học, Moodle hệ thống quản lý học tập nguồn mở nhiều trường học áp dụng Bài báo trình bày kết xây dựng phát triển phân hệ xếp lịch thi thực hệ thống Moodle, ứng dụng cụ thể Trường Đại học Kinh tế, Đại học Đà Nẵng Phân hệ xếp lịch thi có sử dụng giải thuật backtracking với số kỹ thuật kiểm tra trước để tự động xếp lịch thi Kết thực cho thấy khả ứng dụng phân hệ xếp lịch thi hữu ích có khả phát triển chức khác hệ thống quản lý học tập Moodle Abstract - Scheduling exam time tables is an important part that training institutions always have to before the end of a semester Developing a tool that allows universities to schedule exam time tables is essential, Furthermore, a plugin with exam time tables integrated into Moodle is the great concern of many universities Moodle is a learning management system provided freely as a open source software used by a variety of institutions and universities This paper presents the results of building and developing an exam time table module integrated into Moodle, specifically applied at the University of Economics, The University of Danang This exam time table plugin uses backtracking algorithm with a number of technical inspections done before the exam time table being automatically scheduled The result shows that the application of the exam time table plugin is helpful and has the ability to develop other functions on Moodle Từ khóa - xếp lịch thi; phân hệ xếp lịch thi; hệ thống quản lý học tập; module tích hợp; Moodle; giải thuật backtracking Key words - schedule exam time table; exam time table module; learning management system; plugin; Moodle; backtracking algorithm Đặt vấn đề Ứng dụng công nghệ thông tin vào trường học nhiều nhà quản lý giáo dục quan tâm, đặt biệt hệ thống quản lý học tập Moodle ngày áp dụng rộng rãi Việt Nam giới [8] Có nhiều ứng dụng triển khai trường học phải tốn nhiều chi phí cao, cần hỗ trợ phát triển nhà làm hệ thống thông tin, nhiên áp dụng hệ thống quản lý giáo dục Moodle giúp trường học giảm thiểu nhiều chi phí mà lại hưởng nhiều chức sẵn có hệ thống Bởi hệ thống quản lý giáo dục Moodle hệ thống mã nguồn mở khơng khơng tốn quyền phần mềm mà hỗ trợ nhiều nhà phát triển giới [9] Hệ thống quản lý học tập Moodle hỗ trợ nhiều cho nhà quản trị hệ thống Alex Buchner [1] hướng dẫn cài đặt cấu hình triển khai William H Rice [11] hướng dẫn cho nhà giáo xây dựng học, dạy dựa hệ thống Moodle Đối với nhà lập trình, Martin Dougiamas cộng đồng lập trình Moodle [9] giúp nhiều viết để giúp cách điều chỉnh hay viết thêm chức Đáng ý sách hướng dẫn phát triển thêm phần mở rộng Jonathan More [7] hướng dẫn chi tiết cách phát triển thêm chức để gắn vào Moodle Giải thuật để giải toán xếp lịch thi có nhiều tác giả mơ hình tốn thành dạng lập trình ràng buộc Trong có cơng trình Boizumault cộng [2] thực xếp lịch thi cho trường đại học Catholique de l'Ouest Angres, Pháp Cơng trình sử dụng ngơn ngữ lập trình logic có ràng buộc miền trị hữu hạn CHIP Bài toán xếp lịch thi vấn đáp cho kỳ thi tuyển sinh vào trường Ecole des Mines de Nantes, Pháp, David P [5] giải giải thuật giải hệ ràng buộc với kỹ thuật tu chỉnh lặp Buke, Newall Weare [4] sử dụng giải thuật di truyền cho toán xếp lịch thi học kỳ họ gọi giải thuật memetic Boufflet Negre [3] giải toán xếp lịch thi cho trường Đại học Kỹ thuật Compiègne Pháp giải thuật tabu search White Zhang [10] sử dụng giải thuật tabu search cho trường Đại học Ottawa Canada Trong plugins [9] hệ thống Moodle chưa thấy có chức xếp lịch thi học kỳ hay chức tương tự tích hợp vào hệ thống quản lý học tập Moodle Tại trường Đại học Kinh tế, Đại học Đà Nẵng, Phòng Đào tạo sử dụng cơng cụ sẵn có Excel để xếp lịch thi Cách làm đáp ứng nhu cầu xếp lịch thi nhà trường khó làm chức hữu ích q trình xếp lịch thi kiểm tra việc trùng lịch sinh viên học chế tín Bài báo trình bày cách thực tế việc khảo sát, phân tích, thiết kế, xây dựng chức xếp lịch thi học kỳ tích hợp vào hệ thống Moodle với yêu cầu dựa theo trường hợp cụ thể Trường Đại học Kinh tế, Đại học Đà Nẵng Trong đó, báo có sử dụng giải thuật backtracking với số kỹ thuật kiểm tra trước dành riêng cho việc xếp lịch thi để tự động xây dựng lịch thi Đóng góp cơng trình thực phân hệ xếp lịch tích hợp vào hệ thống Moodle trường hợp cụ thể Trường Đại học Kinh tế, Đại học Đà Nẵng Cơng trình tự xây dựng giải thuật backtracking theo mơ hình Dechter Frost [6], bổ sung kỹ thuật kiểm tra trước giúp giải thuật backtracking thực thuận lợi Phương pháp thực 2.1 Khảo sát thực tế Khảo sát thực tế quan sát liệu Trường Đại học Kinh tế, Đại học Đà Nẵng làm liệu điển hình cho tốn xếp lịch thi học kỳ, qua cho thấy rõ cơng việc lập lịch thi học kỳ 104 Vũ Hà Tuấn Anh Hình Lịch học tập sinh viên Trường Đại học Kinh tế Hình Lịch thi sinh viên Trường Đại học Kinh tế Chuẩn bị cho học kỳ mới, Phòng Đào tạo tiến hành cho sinh viên đăng ký tín học tập trực tuyến trang web daotao.due.edu.vn Lấy mẫu lịch học tập sinh viên cụ thể Hình 1, có thơng tin: Lớp sinh hoạt; Mã sinh viên; Họ tên sinh viên; Mã học phần; Tên học phần; Số tín chỉ; Lớp tín chỉ; Học kỳ Vào gần cuối học kỳ, thầy phịng Đào tạo tiến hành xếp lịch thi công bố trang web nhà trường Thơng tin lịch thi trình bày Excel Hình cụ thể gồm: Mã học phần; Tên học phần; Số tín chỉ; Tuần; Giờ; Ngày; Phịng thi 2.2 Phân tích liệu lịch thi Phân tích số liệu tổng kết đánh giá thông tin bảng đăng ký học tập sinh viên sau: tên học phần (courseName), mã số khoa (departID), năm học sinh viên (enrolYear), số tiết (duration), số sinh viên (numberStudents) Course Exam + courseID : string + courseName : string + departID : string + enrolYear : string + duration : int + numberStudents : int + period : int + roomID : string + choosed : bool + domain : int[] + exams + domainRemain : int + markFail : int + Course ( ) + copyCourse ( ) + Exam ( ) + copyExam ( ) + groupTeams GroupTeam Solution + objective : int + numberWeeks : int + domainSize : int + domainRooms : string[] + Solution ( ) + copySolution ( ) + computeFeasibility ( ) + computeObjective ( ) + computeDeltaObjectiv + moveTheExam ( ) * + rooms Room Building + courseID : string + groupNo : string + numberStudents : int + roomID : string + buildingID : string * + capacity : int + rooms + buildingID : string + numberRooms : int + capacity : int + GroupTeam ( ) + Room ( ) + Building ( ) Bảng Bảng tổng kết đăng ký học tập tín Tên bảng Thuộc tính Tổng số mẫu tin Đăng ký Mã sinh viên, mã học phần, lớp 51191 học phần tín chỉ, học kỳ Sinh viên Mã sinh viên, họ lót, tên, lớp 7055 Học phần Mã học phần, tên học phần, số tín 200 Phịng Tên phịng, sức chứa Student + studentID : string * + studentName : string + students + departID : string + enrolYear : string + classID : string Class * + classID : string + className : string + classes + departID : string Depart + departID : string + departName : string + Depart ( ) + Class ( ) + Student ( ) Hình Thiết kế cấu trúc theo mơ hình UML 75 (5 khu nhà) Đăng ký học phần gồm có thơng tin mã sinh viên, mã học phần, lớp tín Dữ liệu sinh viên gồm có mã sinh viên, tên, họ lóp, lớp sinh hoạt Dữ liệu học phần gồm có mã học phần, tên học phần, số tín 2.3 Thiết kế cấu trúc Để xây dựng thành cơng chương trình xếp lịch thi học kỳ, cần phải xây dựng liệu toán, với mục tiêu dễ dàng thực ý đồ giải thuật vào chương trình Chương trình cần có khả nhập liệu cho tất thông tin cần thiết làm tảng cho việc xếp lịch thi Dữ liệu toán xếp lịch thi học kỳ thiết kế theo UML Hình thiết kế cụ thể sau: Học phần (Course): Là liệu công tác giáo vụ, bao gồm thông tin mã số (courseID), Nhóm sinh viên (GroupTeam): Là liệu mơ tả việc chia nhóm sinh viên theo học phần đó, bao gồm thơng tin mã số học phần (courseID), số nhóm sinh viên (groupNo), tổng số sinh viên nhóm (numberStudents) Mơn thi (Exam): Là liệu việc xếp lịch thi Môn thi kế thừa thông tin học phần, môn thi xác định lời giải lịch thi cịn thêm thơng tinh tiết thứ (period), phòng thi (roomID) Lời giải (Solution): Lời giải cấu tạo bao gồm tất mơn thi, mơn thi gán tiết gán phòng thi Phòng thi (Room): Là liệu cơng tác giáo vụ Phịng thi tài nguyên thường dùng cho việc xếp lịch học tập lịch thi học kỳ ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 1(86).2015 Từng thời điểm phòng thi sử dụng cho học phần mơn thi khác Phịng thi có liệu mã số phòng thi (roomID), mã số tòa nhà (buildingID), sức chứa (capacity) Sinh viên (Student): Là thông tin sinh viên tham gia học trường Sinh viên đối tượng công tác giáo vụ Thông thường sinh viên chia theo học lớp, tùy vào trường đại học mà cách tổ chức lớp học chặt lỏng lẻo, nghĩa sinh viên gán cứng theo lớp không thiết phải cứng nhắc theo lớp Thơng tin đối tượng sinh viên có nội dung mã số sinh viên (studentID), tên sinh viên (studentName), mã lớp (classID), mã khoa (departID), sinh viên theo học năm thứ (enrolYear) 2.4 Giải thuật xếp lịch thi Tham khảo mã giả giải thuật backtracking giáo sư Rina Dechter trường đại học California [6], tác giả xây dựng sơ đồ khối giải thuật backtracking với số kỹ thuật giúp kiểm tra trước để xây dựng nên lịch thi đề nghị cho nhà quản lý lịch thi Bắt đầu Xây dựng ma trận xung đột môn thi Sắp xếp danh sách môn thi, ca thi, phịng thi Cịn mơn thi chưa xét False True Chọn môn thi danh sách xếp Phục hồi danh sách mơn thi, ca thi, phịng thi Nếu chọn môn thi False True Chọn ca thi 105 Các miền trị để chạy giải thuật tập hợp thời gian thi cho trước, tập hợp phòng theo thời gian thi xây dựng phục vụ cho giải thuật Giải thuật backtracking xếp lịch thi tiến hành vịng lặp xem xét mơn thi chưa xét, mơn thi chọn mơn thi để xem xét, chọn thời gian thi để gán cho mơn thi đó, sau chọn phịng thi cho mơn thi Nếu việc chọn lựa mơn thi, thời gian thi, phịng thi thành cơng giải thuật cập nhật số liệu cần thiết di chuyển đến môn thi Nếu giải thuật không chọn môn thi, thời gian thi hay phịng thi thích hợp giải thuật qua trở lại khôi phục trị gán môn thi trước đó, đánh dấu mơn thi khơng thành cơng để xét sau Giải thuật chạy tiếp môn thi hết môn thi cần xem xét 2.4.1 Kỹ thuật xây dựng ma trận xung đột học phần thi Hai học phần thi xung đột hai học phần có sinh viên tham gia thi hai học phần Như vậy, hai học phần xung đột khơng phép tổ chức thi thời điểm Để trình bày việc xung đột học phần, ta dùng ma trận xung đột Giả sử có n học phần, ta lập ma trận xung đột với n hàng, n cột giá trị ma trận số sinh viên học tham gia thi hai học phần CM ma trận xung đột n x n, n số học phần CM(i,j) = tổng số sinh viên tham gia học phần i học phần j CM(i,j) = khơng có sinh viên tham gia học phần i học phần j Theo ví dụ Hình học phần đụng độ với học phần 45, học phần đụng độ với học phần 34, học phần không đụng độ với học phần khác … n-2 0 45 34 0 n-1 45 0 89 56 34 0 0 … 0 0 0 n-2 89 0 32 n-1 56 0 32 Hình Ma trận xung đột học phần Nếu chọn ca thi False True Chọn phòng thi Nếu chọn phịng thi False True Cập nhật danh sách mơn thi, ca thi, phịng thi chọn Kết thúc Hình Giải thuật backtracking xếp lịch thi Giải thuật bắt đầu việc xây dựng danh sách môn thi (học phần thi), thời gian thi (tiết thi), phòng thi Để thực ma trận xung đột sử dụng cấu trúc liệu mảng hai chiều, chiều có kích thước tổng số mơn thi Hoặc thực ma trận xung đột mảng hai chiều kích thước thay đổi tùy vào số học phần xung đột 2.4.2 Kỹ thuật mơ hình hóa miền trị thời gian thi Thời gian thi lịch thi quy định sau: số ca thi ngày 4, số ngày tuần Tổng số thời gian thi tuần 20 Giả sử chọn tuần để xếp lịch thi, ta có ca x ngày x tuần = 120 ca thi, xây dựng miền trị môn thi từ đến 119 Tổng quát hóa kỹ thuật xây dựng miền trị này: cho quy định số ca thi ngày p, số ngày tuần d, số tuần thi w, tổng số ca thi n = p x d x w, miền trị từ đến n-1 106 Vũ Hà Tuấn Anh Ngược lại, với số i miền trị, ta dễ dàng xác định tuần, thứ ca thi sau: wi = i / (p x d) di = (i mod (p x d) / p pi = (i mod (p x d)) mod p Kỹ thuật mơ hình hóa miền trị so với cách xem miền trị theo tuần, ngày, ca tỏ hữu hiệu nhiều phải thao tác lập trình, giúp đơn giản hóa q trình tính tốn chọn tiết, đồng thời chuyển đổi dễ dàng cần 2.4.3 Kỹ thuật thứ tự học phần thi Nhận xét thấy học phần có ràng buộc chặt khó xếp vào thời khóa biểu, học phần phải xếp sau độ khó cao khơng xếp được, học phần khó xếp nên xếp trước tiên Đây cách tiếp cận theo hướng thứ tự biến nhằm loại bỏ nhánh khơng đến kết Để định nghĩa độ khó xếp học phần ta định nghĩa hàm tính điểm ưu tiên sau: Hình Màn hình quản lý học phần markFail = x*domainSize/markDomain + y*markConflict + z*markStudent; Trong đó: domainSize: kích thước tổng miền trị học phần markDomain: kích thước miền trị cịn lại học phần xét markConflict: số học phần xung đột với học phần xét markStudent: số sinh viên tham gia học phần xét x,y,z: tham số quy định từ chương trình Sau tính tốn điểm ưu tiên tồn học phần, ta xếp chúng vào danh sách theo thứ tự tăng dần, danh sách gọi danh sách học phần first-fail Và học phần có điểm cao chọn để xếp lịch thi trước Kỹ thuật phải thực đầu giải thuật backtracking, điểm ưu tiên môn thi cập nhật sau bước lặp giải thuật để bảo đảm giải thuật chọn học phần có độ khó cao Kết thực 3.1 Kết xây dựng phân hệ tích hợp vào Moodle Để thực tích hợp chức thêm vào hệ thống Moodle, nghiên cứu cài đặt XAMPP 1.8.2, cài đặt Moodle 2.7 sử dụng Apache, PHP MySQL tích hợp XAMPP 1.8.2 Cơng trình thực viết plugin dạng block để tích hợp vào Moodle, theo người sử dụng Moodle thêm plugin vào Moodle dễ dàng Người sử dụng khai thác menu bên block xếp lịch thị để quản lý liệu liên quan đến việc xếp lịch thi quản lý học phần, quản lý phòng thi, quản lý sinh viên, quản lý thông tin sinh viên đăng học phần Điển hình quản lý học phần trình bày Hình Sau chuẩn bị xong liệu cần thiết, người sử dụng khai thác chức quản lý lịch thi như: xây dựng ma trận học phần xung đột, tạo lịch thi lịch thi thực xếp lịch thi cho môn thi Hình Màn hình thêm học phần thi Lịch thi môn thi cần chọn thời gian phịng thi cho khơng có sinh viên thi thời điểm, thời điểm mơn thi trùng phịng thi Giao diện thêm học phần vào lịch thi thấy Hình 3.2 Kết xây dựng giải thuật backtracking Để thực giải thuật backtracking với kỹ thuật kiểm tra trước, báo thực chức xây dựng ma trận học phần xung đột Hình Hình Chức xây dựng ma trận học phần xung đột Kết thực ma trận học phần xung đột thể Bảng khoảng 28 phút 11 giây: Bảng Kết thực ma trận học phần xung đột Tổng số học phần 200 Tổng số sinh viên đăng ký học phần 51.191 Thời gian bắt đầu 23:02:08 Thời gian kết thúc 23:30:19 Thời gian thực 28 phút 11 giây ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 1(86).2015 Giải thuật backtracking sử dụng ma trận học phần xung đột thực người sử dụng chọn chức tự động xếp lịch thi Hình 107 lịch thi học kỳ tự động, việc có ý nghĩa lớn cho nhà quản lý đào tạo Phân hệ xếp lịch thi tích hợp vào hệ thống quản lý học tập Moodle làm tiền đề cho nhiều nhà phát triển tiếp tục phát triển phân hệ phù hợp với sở đào tạo phát triển thêm giải thuật khác áp dụng vào việc xếp lịch thi học kỳ Với hệ thống quản lý học tập Moodle, nhà phát triển tích hợp nhiều chức phục vụ cho trường học phù hợp với môi trường TÀI LIỆU THAM KHẢO Hình Thực xếp lịch thi tự động Kết giải thuật backtracking thực Bảng cho thấy thời gian để giải thuật thực xong 07 giây Bảng Kết thực xếp lịch thi tự động Tổng số học phần 200 Tổng số sinh viên đăng ký học phần 51.191 Thời gian bắt đầu 17:24:05 Thời gian kết thúc 17:24:12 Thời gian thực 07 giây Thời gian để chạy giải thuật backtracking khả quan, nhiên thời gian xây dựng ma trận học phần xung đột lâu, người sử dụng chờ đợi để có lịch thi xếp tự động Kết luận Xếp lịch thi học kỳ cơng việc khó công tác nhà quản lý đào tạo, báo trình bày cơng việc mà cơng trình thực bao gồm khảo sát, phân tích, thiết kế xây dựng phân hệ xếp lịch thi học kỳ, đồng thời tích hợp phân hệ vào hệ thống quản lý học tập Moodle Trong phân hệ xếp lịch thi học kỳ có sử dụng giải thuật backtracking với kiểm tra cần thiết giúp xếp [1] Alex Buchner, Moodle Administration, An administrator’s guide to configuring, securing, customizing, and extending Moodle, PACKT Publishing, 2011 [2] Boizumault, P., Delon, Y and Peridy, L., Constraint Logic Programming for Examination Timetabling, Journal of Logic Programming, 26, 217-233, 1996 [3] Boufflet, J P and Negre, S., Three Methods Used to Solve an Examination Timetabling Problem, Lecture Notes in Computer Science 1153, Springer-Verlag, 327-344, 1996 [4] Burke, E., Newall, J.P & Weare, R F A Memetic Algorithm for University Exam Timebling, Lecture Notes in Computer Science 1153, Springer-Verlag, 241-250, 1996 [5] David, P., A Constraint-based Approach for Examination Timetabling using Local Repair Techniques, Proc of Practice and Theory of Automated Timetabling, PAPAT’97, Toronto, Canada, August, 132-145, 1997 [6] Dechter, R., Frost, D., Backjump-based Backtracking for Constraint Satisfaction Problems, Artificial Intelligence, 136, 147-188, 2002 [7] Jonathan Moore, Michael Churchward, Moodle 1.9 Extension Development, Customize and extend Moodle by using its robust plugin systems, PACKT Publishing, 2010 [8] Martin Dougiamas and et al, About Moodle, from https://docs.moodle.org/27/en/About_Moodle, retrieved 15/8/2014 [9] Martin Dougiamas and et al, Developer documentations are for developers who work with Moodle code, plugins and themes,from https://docs.moodle.org/dev/Main_Page, retrieved 15/8/2014 [10] White G.M., Zhang J., Generating Complete University Timetables by Combining Tabu Search with Constraint Logic, In: E Burke, M Carter (Eds.): PATAT’97, LNCS 1408, pp 187-198, 1998, Springer-Verlag Berlin Heidelberg 1998 [11] William H Rice IV, Moodle E-Learning Course Development, A complete guide to successful learning using Moodle, PACKT Publisng, 2006 (BBT nhận bài: 09/11/2014, phản biện xong: 12/01/2015) ... thực bao gồm khảo sát, phân tích, thi? ??t kế xây dựng phân hệ xếp lịch thi học kỳ, đồng thời tích hợp phân hệ vào hệ thống quản lý học tập Moodle Trong phân hệ xếp lịch thi học kỳ có sử dụng giải... dụng vào việc xếp lịch thi học kỳ Với hệ thống quản lý học tập Moodle, nhà phát triển tích hợp nhiều chức phục vụ cho trường học phù hợp với mơi trường TÀI LIỆU THAM KHẢO Hình Thực xếp lịch thi. .. lớn cho nhà quản lý đào tạo Phân hệ xếp lịch thi tích hợp vào hệ thống quản lý học tập Moodle làm tiền đề cho nhiều nhà phát triển tiếp tục phát triển phân hệ phù hợp với sở đào tạo phát triển

Ngày đăng: 31/10/2022, 19:15

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w