XÂY DỰNG HỆ THỐNG HỌC TẬP TRỰC TUYẾN SỬ DỤNG MÃ NGUỒN MỞ MOODLE
Trang 1TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA KHOA HỌC TỰ NHIÊN
BỘ MÔN TIN HỌC ỨNG DỤNG
LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
Sinh viên thực hiện
SỬ DỤNG MÃ NGUỒN MỞ MOODLE
Trang 2LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC
Cần Thơ, 2014
XÂY DỰNG HỆ THỐNG HỌC TẬP TRỰC TUYẾN
SỬ DỤNG MÃ NGUỒN MỞ MOODLE
Cán bộ phản biện:
Ths Hồ Văn Tú
Ks Hoàng Minh Trí
Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Tin học Ứng dụng Khoa Khoa học Tự nhiên, Trường Đại học Cần Thơ vào ngày 20 tháng 5 năm 2014
Mã số đề tài:
Có thể tìm hiểu luận văn tại:
-Trung tâm Học liệu, Trường Đại học Cần Thơ
Trang 3Trong suốt khóa học (2010-2014) tại Trường Đại học Cần Thơ, được Bộ môn Tin học Ứng dụng cùng Ban Giám Hiệu trường luôn quan tâm tạo điều kiện thuận lợi cho việc học tập Cùng với sự giảng dạy tận tình của quý thầy cô trong trường nói chung và thầy cô trong Bộ môn Tin học nói riêng, đã giúp em có những kiến thức cơ bản và sẽ là nền tảng vững chắc giúp ích cho công việc thực tiễn
Em xin kính chuyển lời cảm ơn chân thành nhất đến quý thầy, cô Trường Đại học Cần Thơ, Khoa Khoa học Tự nhiên, Bộ môn Tin học Ứng dụng, những người thầy, người cô đã tận tình giảng dạy và truyền đạt cho em những kiến thức, những kinh nghiệm quý báu trong suốt quá trình học tập và rèn luyện ở trường Đại học Cần Thơ
Và đặc biệt em chân thành cảm ơn sâu sắc thầy Võ Hải Đăng đã hết lòng hướng dẫn tận tình, giúp đỡ em trong suốt quá trình thực hiện luận văn tốt nghiệp này
Em xin cảm ơn đến những người thân trong gia đình quan tâm, động viên trong suốt quá trình học tập và làm tốt nghiệp
Xin gửi lời cảm ơn đến tất cả bạn bè, đặc biệt là các bạn trong lớp Tin học Ứng dụng k36 đã giúp đỡ và đóng góp ý kiến để em hoàn thành đề tài
Mặc dù em đã cố gắng hoàn thành tốt luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những thiếu sót nhất định Em kính mong nhận được sự cảm thông và tận tình chỉ bảo của quý thầy cô và các bạn
Em xin chân thành cảm ơn!
Trang 4
Cần Thơ, ngày … tháng … năm 2014
Cán bộ hướng dẫn
Trang 5DANH MỤC BẢNG iv
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT v
TÓM TẮT vi
ABSTRACT vii
CHƯƠNG 1 TỔNG QUAN 1
1.1 ĐẶT VẤN ĐỀ 1
1.2 MÔ TẢ BÀI TOÁN 1
1.3 MỤC ĐÍCH, ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU 2
1.3.1 Mục đích nghiên cứu 2
1.3.2 Đối tượng, phạm vi nghiên cứu 2
1.3.3 Mục tiêu cần đạt được 2
1.3.4 Hướng giải quyết và kế hoạch thực hiện 3
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 5
2.1 TÌM HIỂU VỀ PHƯƠNG PHÁP HỌC TẬP TRỰC TUYẾN 5
2.1.1 Giới thiệu sơ lược hệ thống học tập trực tuyến 5
2.1.2 Tìm hiểu hệ thống học tập trực tuyến 5
2.1.3 So sánh phương pháp học truyền thống với học trực tuyến 6
2.1.4 Ưu khuyết điểm của phương pháp học tập trực tuyến [7] 6
2.2 HỆ THỐNG QUẢN LÝ KHÓA HỌC 7
2.2.1 Định nghĩa 7
2.2.2 Tìm hiểu hệ thống quản lý khóa học 8
2.3 GÓI PHẦN MỀM MÃ NGUỒN MỞ MOODLE 10
2.3.1 Tổng quan về mã nguồn mở 10
2.3.2 Phần mềm mã nguồn mở moodle 11
2.3.3 Ưu và nhược điểm của moodle [1] 12
2.3.4 Tính năng của hệ thống quản lý Moodle [1] 13
2.3.5 Coding trong Moodle 21
2.3.6 Tổng quan về việc cài đặt Moodle 23
Trang 62.3.9 Cơ sở dữ liệu của Moodle 26
CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 27
3.1 KHÁI QUÁT NỘI DUNG NGHIÊN CỨU 27
3.1.1 Quy trình triển khai hệ thống 27
3.1.2 Hệ thống học tập trực tuyến Khoa Khoa học Tự nhiên 27
3.2 NGHIÊN CỨU VÀ XÂY DỰNG HỆ THỐNG 31
3.2.1 Tạo tài khoản người dùng 31
3.2.2 Quản lý khóa học trực tuyến 37
3.2.3 Tạo các module hệ thống học tập trực tuyến [3], [4] 44
3.2.4 Kết quả xây dựng hệ thống học tập trực tuyến 56
3.2.5 Một số tính năng của lớp học trực tuyến 59
3.2.6 Sao lưu và phục hồi [2] 65
KẾT LUẬN VÀ KIẾN NGHỊ 68
1 KẾT QUẢ ĐẠT ĐƯỢC 68
2 NHỮNG MẶT HẠN CHẾ 68
3 HƯỚNG PHÁT TRIỂN 68
PHỤ LỤC 1 HƯỚNG DẪN CÀI ĐẶT MOODLE 1
1 TỔNG QUAN CÀI ĐẶT HỆ THỐNG QUẢN LÝ HỌC TẬP MOODLE CỤC BỘ TRÊN WINDOWS 1
2 CÀI ĐẶT MOODLE 1
PHỤ LỤC 2 THAY ĐỔI GIAO DIỆN TRONG MOODLE THÊM GÓI NGÔN NGỮ KHÁC TRONG MOODLE 8
1 THAY ĐỔI GIAO DIỆN 8
2 CÀI ĐẶT GÓI NGÔN NGỮ 9
PHỤ LỤC 3 PHÂN QUYỀN NGƯỜI DÙNG TRONG MOODLE PHÂN NHÓM TRONG CÁC KHÓA HỌC 12
1 PHÂN QUYỀN NGƯỜI DÙNG TRONG MOODLE 12
2 PHÂN NHÓM TRONG CÁC KHÓA HỌC 15
Trang 71 TẠO ĐỀ THI BẰNG CÔNG CỤ HỖ TRỢ CỦA MOODLE 18
2 NHẬP CÁC CÂU HỎI TỪ FILE 21
3 TẠO ĐỀ THI TRONG MOODLE CÔNG CỤ HỖ TRỢ HOT POTATOES 24
PHỤ LỤC 5 SAO LƯU VÀ PHỤC HỒI 26
1 SAO LƯU VÀ PHỤC HỒI TRANG WEB 26
2 SAO LƯU VÀ PHỤC HỒI KHÓA HỌC 28
3 BACKUPS REPORT 32
PHỤ LỤC 6 HƯỚNG DẪN SỬ DỤNG HỆ THỐNG HỌC TẬP TRỰC TUYẾN KHOA KHTN – ĐH CẦN THƠ 33
1 GIỚI THIỆU VỀ HỆ THỐNG HỌC TẬP TRỰC TUYẾN KHOA KHTN ĐẠI HỌC CẦN THƠ 33
2 ĐĂNG NHẬP 34
3 CẬP NHẬT HỒ SƠ CÁ NHÂN 35
4 ĐĂNG NHẬP DƯỚI QUYỀN GIÁO VIÊN 37
5 ĐĂNG NHẬP DƯỚI QUYỀN HỌC VIÊN 39 TÀI LIỆU THAM KHẢO
Trang 8DANH MỤC HÌNH
Hình 2.1 Mô hình Học Tập Trực Tuyến 5
Hình 2.2 Quá trình cập nhật một hệ thống quản lý khóa học 8
Hình 2.3 Kiến trúc hệ thống Moodle 11
Hình 2.4 Tính Năng Moodle 13
Hình 2.5 Lược đồ thể hiện quá trình tương tác của các đối tượng với hệ thống 15
Hình 2.6 Quy trình chuyển tiếp thông tin khóa học 17
Hình 2.7 Sổ điểm trong moodle 20
Hình 2.8 Block quản lý về điểm 21
Hình 2.9 Lựa chọn định dạng bảng điểm 21
Hình 3.1 Quy trình thực hiện giảng dạy một lớp học trực tuyến 28
Hình 3.2 Quy trình đăng ký vào hệ thống 29
Hình 3.3 Sơ đồ chức năng tổng quát 29
Hình 3.4 Chức năng của học viên 30
Hình 3.5 Chức năng của giảng viên 30
Hình 3.6 Chức năng của Admin 31
Hình 3.7 Trình đơn quản lý tài khoản người dùng 31
Hình 3.8 Trang tạo tài khoản người dùng mới 32
Hình 3.9 Trình đơn tạo người dùng đồng bộ 32
Hình 3.10 Trang tạo một cohort mới 33
Hình 3.11 Kết quả hiển thị sau khi tạo cohort 33
Hình 3.12 Trình đơn tạo tài khoản người dùng bằng file 33
Hình 3.13 Chọn file uplpad 34
Hình 3.14 Kết quả đăng ký học phần dạng file excel 34
Hình 3.15 Mẫu file excel nhập danh sách người dùng 35
Hình 3.16 Lưu dạng file Unicode text 35
Hình 3.17 Lưu dạng file txt 35
Hình 3.18 Kết quả kiểm tra file vừa nhập 36
Hình 3.19 Tùy chọn cho file upload 36
Hình 3.20 Trang hiển thị kết quả nhập danh sách người dùng 36
Trang
Trang 9Hình 3.23 Các tùy chọn thiết lập cho khóa học 38
Hình 3.24 Các kiểu định dạng khóa học 38
Hình 3.25 Các kiểu nhóm trong Moodle 38
Hình 3.26 Trình đơn quản trị khóa học cụ thể 39
Hình 3.27 Cài đặt mặc định cho khóa học 39
Hình 3.28 Trình đơn upload khóa học theo danh sách 40
Hình 3.29 Tùy chọn file upload 40
Hình 3.30 Định dạng chuẩn file chứa danh sách khóa học 40
Hình 3.31 Trang kiểm tra kết quả file upload 41
Hình 3.32 Kết quả upload danh sách khóa học bằng file 41
Hình 3.33 Trình đơn các phương thức ghi danh vào khóa học 41
Hình 3.34 Cài đặt các phương thức ghi danh cho hệ thống 42
Hình 3.35 Trình đơn chọn ghi danh học viên 43
Hình 3.36 Tùy chọn phương thức ghi danh tại khóa học cụ thể 43
Hình 3.37 Chọn các cohort để ghi danh 43
Hình 3.38 Bảng thông báo ghi danh thành công 43
Hình 3.39 Khu vực quản trị hệ thống 44
Hình 3.40 Các quyền trong hệ thống 44
Hình 3.41 Trình đơn bật chế độ chỉnh sửa cho hệ thống 45
Hình 3.42 Khóa học ở chế độ chỉnh sửa 45
Hình 3.43 Các module hoạt động và tài nguyên trong Moodle 46
Hình 3.44 Assignment khi được tạo 47
Hình 3.45 Tùy chọn file nộp bài cho Assignment 47
Hình 3.46 Giáo viên tùy cho cho điểm học viên đã nộp bài 48
Hình 3.47 Bài giảng sau khi được tạo 48
Hình 3.48 Các định dạng cho bài giảng 48
Hình 3.49 Nội dung bài giảng hoàn chỉnh 49
Hình 3.50 Các loại điễn dàn 50
Hình 3.51 Diễn đàn cụ thể 50
Hình 3.52 Tạo một đề thi mới 52
Trang 10Hình 3.54 Tùy chọn phân nhóm cho đề thi 52
Hình 3.55 Bắt đầu làm bài thi 53
Hình 3.56 Khung thông báo xác nhận làm bài 53
Hình 3.57 Đề thi kiểm tra 53
Hình 3.58 Xác nhận kết thúc làm bài 54
Hình 3.59 Hiển thị lại kết qảu làm bài 54
Hình 3.60 Kết quả làm bài thi 55
Hình 3.61 Phòng họp trực tuyến 55
Hình 3.62 Giao diện khi chưa đăng nhập 56
Hình 3.63 Giao diện trang đăng nhập 56
Hình 3.64 Giao diện người dùng sau khi đăng nhập 57
Hình 3.65 Danh mục khóa học theo học kì, niên khóa 57
Hình 3.66 Danh mục các khóa học cụ thể 58
Hình 3.67 Giao diện lớp học 58
Hình 3.69 Chức năng Assignment 59
Hình 3.70 Chức năng bài giảng 60
Hình 3.71 Chức năng diễn đàn 60
Hình 3.72 Chức năng tạo ngân hàng câu hỏi 61
Hình 3.73 Chức năng thêm câu hỏi 61
Hình 3.74 Chức năng kiểm tra, đánh giá 62
Hình 3.75 Chức năng quản lý điểm 63
Hình 3.76 Kết quả bảng điểm được xuất 64
Hình 3.77 Chức năng phòng họp trực tuyến (chat) 64
Hình 3.78 Trình đơn quản trị hệ thống 65
Hình 3.79 Trình đơn chọn thiết lập sao lưu tự động 66
Hình 3.80 Thiết lập sao lưu tự động 67
Trang 11DANH MỤC BẢNG
Bảng 2.1 So sánh phương pháp học truyền thống với học trực tuyến [5] 6
Bảng 2.4 So sánh các tính năng hai CMS thương mại hàng đầu và Moodle 14
Trang
Trang 12DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
CNTT Công nghệ thông tin
CNTT & TT Công nghệ thông tin và truyền thông
Learning Content Management System
CSDL Cơ sở dữ liệu
Trang 13TÓM TẮT
Trong những năm gần đây, sự phát triển không ngừng của Công nghệ thông tin nói chung và Internet nói riêng đã mang lại những thay đổi đáng kể trong cuộc sống Tận dụng môi trường Internet, xu hướng phát triển của các phần mềm hiện nay tạo điều kiện cho mọi người có thể trao đổi, tìm kiếm thông tin, học tập một cách dễ dàng và thuận tiện Một trong những ứng dụng điển hình dựa trên Web và Internet được gọi là phương pháp học tập trực tuyến Hệ thống học tập trực tuyến khi thiết kế phải hướng tới sinh viên, giảng viên đầu tiên, dựa trên tính sư phạm cao
Có rất nhiều hệ quản lý học tập phổ biến hiện nay trên thế giới: IBM, BlackBoard, WebCT, Atutor, Ilias, LRN, Moodle…, việc chọn hệ thống nào cho phù hợp, có cơ hội phát triển tiếp theo Qua quá trình nghiên cứu, tìm hiểu, em thấy Moodle với rất nhiều tính năng và ưu điểm, thuận lợi cho xây dựng một website học tập trực tuyến,
em đã chọn Moodle để thực hiện đề tài “Hệ thống học tập trực tuyến dành cho sinh viên Khoa Khoa học Tự Nhiên– Trường Đại học Cần Thơ” Tập trung nghiên cứu một số khía cạnh liên quan đến cấu trúc của hệ thống e-learning, trên cơ sở đó đề xuất phương án ứng dụng mã nguồn mở để phát triển hệ thống hỗ trợ học tập trực tuyến cho sinh viên tại trường đại học Cần Thơ
Từ khóa: Mã nguồn mở, Moodle, Khóa học, Người dùng, Học trực tuyến, Đề thi, Quản lý, Giáo viên, Sinh viên
Trang 14ABSTRACT
In recent years, the continuous development of information technology in general and the Internet in particular has brought significant changes to our life Nowadays, with the Internet environment, the trend of software development is not only to build applications to help people exchange and search for information, but also to study easily and conveniently One of typical applications based on Web and the Internet is called Online learning method Online learning system is designed primarily to assist the leaning and teaching activities of students and faculties based
on high pedagogical nature There are many popular systems of learning management in the world currently like IBM, Blackboard , WebCT , ATutor , Ilias , LRN , Moodle, etc, therefore, we should choose the most appropriate system Through intensive study, I have chosen CMS Moodle to build a website for learning online because it has many advantages and good characteristics which suit the purpose of creating the website I chose the topic “Online learning systems for students from School of Natural Sciences - Can Tho University” for my graduation thesis Via the thesis, I focused on some aspects of online learning system Thus, the Open Source Software applications for developing the online learning system for the students in Can Tho University are withdrawn and introduced
Keywords: Open Source Software, Moodle, Course, E-learning, User, Quiz, Management, Teacher, Student
Trang 15CHƯƠNG 1 TỔNG QUAN
1.1 ĐẶT VẤN ĐỀ
Sự phát triển của khoa học công nghệ, đặc biệt là CNTT và truyền thông đã tác động vô cùng to lớn tới mọi lĩnh vực của đời sống xã hội, trong đó có giáo dục và đào tạo Những thành tựu của CNTT & TT đã góp phần quan trọng trong việc thay đổi tư duy dạy và học trực tuyến (e-learning) được coi là một công nghệ dạy học mới, mang tính cách mạng của thế kỉ 21 với những ưu điểm nổi trội mà phương pháp giáo dục trước đó chưa có
Hòa nhập với xu thế của thời đại, tìm hiểu tình hình cũng như khả năng ứng dụng e-learning và các công cụ hỗ trợ, việc xây dựng hệ thống quản lý học tập là cần thiết Thay thế cho việc sử dụng các ngôn ngữ lập trình để xây dựng hệ thống ngay từ con số không bằng việc ứng dụng một công cụ hỗ trợ có sẵn và tiện ích Chọn hệ thống nào cho phù hợp, có cơ hội phát triển tiếp theo và em đã chọn CMS mã nguồn mở Moodle để xây dựng một website học tập trực tuyến,
cụ thể là “Hệ thống học tập trực tuyến dành cho sinh viên Khoa học Tự Nhiên – Trường Đại học Cần Thơ”
Việc giải quyết vấn đề này sẽ góp phần đánh giá, chọn lọc những ứng dụng tiên tiến, hiện đại của CNTT & TT đưa chúng vào quá trình giảng dạy trong nhà trường nhằm nâng cao chất lượng giáo dục cũng như tạo tiền đề cho việc thiết
kế và triển khai các phần mềm dạy học trong diện rộng cho tất cả các môn học trong tương lai
1.2 MÔ TẢ BÀI TOÁN
Nhằm mục đích giải quyết nhu cầu dạy và học ngày càng cao của giảng viên
và sinh viên Khoa KHTN nói chung và Bộ môn Tin học Ứng dụng nói riêng, em
đã tìm hiểu về trực tuyến và xây dựng website hệ thống học tập trực tuyến cho sinh viên Khoa Khoa học Tự nhiên – Trường Đại học Cần Thơ
- Hệ thống quản lý học tập mã nguồn mở xây dựng dựa trên PHP và MySQL với sự hỗ trợ của Moodle
- Tìm hiểu rõ về từng vai trò của mỗi đối tượng sử dụng, hiểu được vai trò, mục đích, ưu điểm của hệ thống và có thể nắm được hệ thống
- Các danh mục liên quan đến các chế độ chỉnh sửa và các khối quản trị hệ thống, và cách cài đặt hệ thống Moodle như thế nào, dành cho Quản lý viên (Administrator) hoặc Chuyên viên công nghệ thông tin (IT Technician)
Trang 16- Hỗ trợ công tác thi trắc nghiệm trực tuyến đồng loạt cho lớp học, qua đó đánh giá kết quả học tập chung cho học viên
1.3 MỤC ĐÍCH, ĐỐI TƯỢNG, PHẠM VI NGHIÊN CỨU
1.3.1 Mục đích nghiên cứu
- Tìm hiểu những ưu, nhược điểm của phương pháp học tập trực tuyến
- Tìm hiểu hệ thống CMS mã nguồn mở Moodle, nghiên cứu khai thác và sử dụng, hỗ trợ xây dựng Website phục vụ học tập trực tuyến
- Xây dựng một trang hỗ trợ học tập trực tuyến có khả năng đáp ứng nhu cầu của một khoa với nhiều chức năng hỗ trợ việc dạy và học
1.3.2 Đối tượng, phạm vi nghiên cứu
- Hệ thống quản lý nội dung học tập Moodle cho phép tạo và quản lý nội
dung học tập
- Hệ thống quản lý học tập: Triển khai, xây dựng hệ thống học tập trực tuyến
1.3.3 Mục tiêu cần đạt được
- Xây dựng Website học tập trực tuyến
- Cách cài đặt và cấu hình hệ thống Moodle
- Thay đổi được giao diện, việt hóa Moodle
- Hiểu rõ các danh mục liên quan đến các chế độ chỉnh sửa và các khối quản trị hệ thống
- Tìm hiểu cách thức làm việc của hệ thống quản lý học tập Moodle như: quản lý học viên, quản lý khóa học, cách tạo bài giảng và đưa bài giảng lên hệ thống Moodle, cách theo dõi quá trình học tập, kiểm tra, đánh giá và tổng kết điểm
Trang 171.3.4 Hướng giải quyết và kế hoạch thực hiện
1.3.4.1 Hướng giải quyết
Trang 181.3.4.2 Kế hoạch thực hiện
Bảng 1.1 Kế hoạch thực hiện luận văn
Tuần Nội dung công việc Ghi chú
Tuần 3 (13/1-19/1/2014) Cài đặt và cấu hình các chức năng của
Tuần 4 (20/1-26/1/2014) Thay đổi giao diện Hoàn thành
Tuần 7 (10/2-16/2/2014) Thêm người dùng và tiến hành phân
Tuần 8 (17/2-23/2/2014) Cài đặt các công cụ hỗ trợ giảng dạy Hoàn thành
Tuần 9 (24/2-2/3/2014) Phân tích, sửa lỗi, giải quyết các vấn
Tuần 10, 11 (3/3-16/3/2014) Tìm hiểu việc thực hiện thêm các
Tuần 12 (17/3-23/3/2014) Tiến hành triển khai các module đã
Tuần 13 (24/3-30/3/2014) Thực hiện tạo lớp học và người dùng
Tuần 14 (31/3-6/4/2014) Kiểm tra, chạy thử hệ thống Hoàn thành
Tuần 15 (7/4-13/4/2014) Tạo mô hình thi trắc nghiệm trực
tuyến và đưa ra kết quả Hoàn thành Tuần 16 (14/4-20/4/2014) Viết báo cáo nội dung luận văn Hoàn thành Tuần 17 (21/4-27/4/2014) Hoàn thành tất cả các nội dung trong
Trang 19CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 TÌM HIỂU VỀ PHƯƠNG PHÁP HỌC TẬP TRỰC TUYẾN
2.1.1 Giới thiệu sơ lược hệ thống học tập trực tuyến
- Học tập trực tuyến là phương pháp giáo dục đào tạo mới sử dụng công nghệ cao để hỗ trợ quá trình học tập, cung cấp các dịch vụ đào tạo qua mạng Internet hoặc Intranet cho người dùng
- Học tập trực tuyến chuyển tải nội dung phong phú, ấn tượng và dễ hiểu thông qua trang web, bảo đảm chất lượng đào tạo qua những phần mềm quản lý Học viên có thể học bất cứ lúc nào ở bất cứ nơi đâu thông qua mạng
- Hiện nay, phương pháp học tập trực tuyến đang phát triển rất nhanh trên phạm vi toàn cầu, thu hút sự quan tâm của các tổ chức đặc biệt là trong lĩnh vực giáo dục
2.1.2 Tìm hiểu hệ thống học tập trực tuyến
Hình 2.1 Mô hình Học Tập Trực Tuyến
- Nội dung: Các nội dung đào tạo, bài giảng được thể hiện dưới dạng các
phương tiện truyền thông điện tử
- Phân phối: Việc phân phối các nội dung đào tạo
- Quản lý: Quá trình quản lý thực hiện hoàn toàn
- Hợp tác: Sự hợp tác, trao đổi của người học trong quá trình học tập cũng
được thông qua phương tiện truyền thông
- Học tập trực tuyến được hiểu chung nhất là “Quá trình học thông qua các phương tiện điện tử”
Trang 202.1.3 So sánh phương pháp học truyền thống với học trực tuyến
Bảng 2.1 So sánh phương pháp học truyền thống với học trực tuyến [5] Chức năng Học truyền thống Học trực tuyến
Đăng ký học Đăng ký tập trung ở một
Cách tổ chức
lớp học
Mất thời gian tổng hợp
và sắp xếp lớp học theo lịch
Không phải lo lắng về tổ chức lớp học vì học online không giới hạn số học viên nhiều hay ít
Thời gian học Học một lần, thời gian
giảng dạy hạn chế
Học nhiều lần, thời gian không hạn chế
Thi cử Tốn kém giấy tờ, mất
nhiều công chấm bài
Học viên có thể thi trực tuyến, giảm bớt công sức chấm bài của giảng viên
- Tính linh hoạt: có thể học mọi lúc, mọi nơi có kết nối internet
- Tính thích ứng cá nhân: khi học sinh tiếp thu nhanh có thể đi trước mà không phải chờ đợi, hướng tới nội dung cao hơn Điều này góp phần thúc đẩy tiến độ nhanh hơn khóa học truyền thống
- Giảm chi phí đào tạo
Trang 21- Tài liệu học tập phong phú, luôn được cập nhật nhanh chóng, kịp thời và được lưu trữ
- Rèn luyện kĩ năng, tư duy và thái độ học tập
- Tăng khả năng ghi nhớ và hiệu suất ghi nhận thông tin
- GV mất nhiều thời gian, công sức để soạn bài, tài liệu giảng dạy sao cho phù hợp với phương pháp học trực tuyến
- Không thể đưa các nội dung quá trừu tượng và phức tạp Đặc biệt các nội dung liên quan đến thí nghiệm, thực hành mà CNTT thể hiện kém hiệu quả
- Chi phí xây dựng hệ thống ban đầu tương đối tốn kém
- Mang rủi ro nhất định khi hệ thống mạng có vấn đề
2.2 HỆ THỐNG QUẢN LÝ KHÓA HỌC
2.2.1 Định nghĩa
- Hệ thống quản lý khóa học (Course management system - CMS) là một ứng dụng web chạy trên một máy chủ và được truy cập bằng cách sử dụng trình duyệt web
- CMS là công cụ giáo dục để tạo ra một trang web cung cấp các khóa học
và kiểm soát truy cập, quản lý việc đăng ký khóa học của học viên, tham gia các chương trình có sự hướng dẫn của giảng viên
- CMS giúp các nhà quản lý và các giảng viên thực hiện các công việc kiểm tra, giám sát, thu nhận kết quả học tập, báo cáo của học viên và nâng cao hiệu quả việc giảng dạy
- Bên cạnh đó, CMS cung cấp một loạt các công cụ cho khóa học của bạn hiệu quả hơn:
Tải lên và chia sẻ tài liệu
Trang 22 Diễn đàn và trò chuyện
Đề thi và các cuộc điều tra
Thu thập và xem xét các bài tập
Lớp học
- CMS kết hợp tất cả các tính năng trên vào trong một gói tích hợp
2.2.2 Tìm hiểu hệ thống quản lý khóa học
2.2.2.1 Mô tả hệ thống
Hình 2.2 Quá trình cập nhật một hệ thống quản lý khóa học
- Trung tâm của hệ thống học trực tuyến là hệ thống quản lý học tập Theo
đó người dạy, người học và người quản trị hệ thống đều truy cập vào hệ thống này với những mục tiêu khác nhau đảm bảo hệ thống hoạt động ổn định và việc dạy học diễn ra hiệu quả
- Để tạo và quản lý một khóa học, người dạy ngoài việc làm việc trực tiếp trên hệ thống quản lý học tập, còn cần sử dụng các công cụ xây dựng nội dung học tập (Authoring Tools) để thiết kế, xây dựng nội dung khóa học và được đóng gói theo chuẩn (thường là chuẩn SCORM) gửi tới hệ thống quản lý học tập
Trang 232.2.2.2 Phân loại
Có nhiều loại CMS khác nhau được phân loại dựa trên các đặc tính: Khả năng mở rộng, chuẩn hệ thống, hệ thống đóng hay mở, tính thân thiện người dùng, sự hỗ trợ các ngôn ngữ khác nhau, khả năng cung cấp các mô hình học, giá cả
Bảng 2.2 Một số hệ thống CMS hiện nay
- aTutor http://www.atutor.ca
- Chamilo http://www.chamilo.org
- Claroline http://www.claroline.net
- Dokeos http://www.dokeos.com/en
- Fedena – http://www.projectfedena.org
- ILIAS – http://www.ilias.de
- Moodle – http://www.Moodle.org
- Totara CMS – http://www.totaraCMS.com
- Blackboard Learning System
- CERTPOINT Systems Inc
- JoomlaCMS
- Meridian Knowledge Solutions
Trang 242.3 GÓI PHẦN MỀM MÃ NGUỒN MỞ MOODLE
2.3.1 Tổng quan về mã nguồn mở
- Cũng giống như e-Learning, xu hướng sử dụng và phát triển phần mềm nguồn mở OSS (Open Source Software) đang phát triển mạnh mẽ trong những năm gần đây
- Phần mềm nguồn mở là những phần mềm được phân phối một cách tự do kèm theo mã nguồn và người sử dụng được phép sửa đổi những mã nguồn đó theo mục đích cá nhân của mình mà không cần hỏi ý kiến tác giả của nó Khái niệm mã nguồn ở đây có thể hiểu là nguyên bản những gì mà người lập trình viên viết ra để cho phần mềm có thể hoạt động
- Đã có rất nhiều dự án phần mềm nguồn mở thành công, từ hệ điều hành (GNU/Linux, FreeBSD), ứng dụng Internet (Apache, Mozilla, BIND, sendmail), ngôn ngữ lập trình (GNU C/C++, Perl, Python, PHP), hệ quản trị cơ sở dữ liệu (PostgreSQL, MySQL) ứng dụng văn phòng (OpenOffice)
- Một số tính ưu việt của phần mềm nguồn mở
Tính kinh tế: phần mềm nguồn mở không thu phí đăng ký sử dụng Các chi phí khác liên quan đến nhân lực, hỗ trợ phần cứng, đào tạo thường thấp hơn rất nhiều so với việc sử dụng phần mềm thương mại
Tính an ninh: phần mềm nguồn mở được phát triển dựa trên các chuẩn mở (open standards) có tính ổn định và độ tin cậy cao
Tính độc lập: giảm được sự lệ thuộc vào nhà cung cấp do các chuẩn mở cũng như mã nguồn được chuyển giao toàn bộ cho người sử dụng
Tính giáo dục: Mã nguồn chính là những kiến thức, trí tuệ của nhân loại Nắm được mã nguồn là nắm được những tri thức quý báu đó
Tính kế thừa: Thay vì xây dựng phần mềm từ đầu, phát triển ứng dụng trên cơ sở phần mềm nguồn mở là tận dụng được trí tuệ và thành quả của những người đi trước
- Bên cạnh những ưu điểm đã nêu, phần mềm mã nguồn mở cũng có
những mặt hạn chế nhất định:
Tính kinh doanh: Đa số các phần mềm mã nguồn mở do các chuyên viên kỹ thuật thiết kế để giải quyết các bài toán kỹ thuật nên tính kinh doanh chưa được đánh giá cao
Trang 25 Thiếu tính tiện dụng: tập trung vào tính năng hoạt động mà ít quan tâm đến tính tiện dụng cho người dùng
2.3.2 Phần mềm mã nguồn mở Moodle
2.3.2.1 Giới thiệu Moodle [1]
- Moodle là một hệ thống quản lý học tập (Learning Management System - LMS hoặc người ta còn gọi Course Management System - CMS hoặc Virtual Learning Environment - VLE) mã nguồn mở các website học tập trực tuyến
- Moodle (Modular Object-Oriented Dynamic Learning Environment) được sáng lập năm 1999 bởi Martin Dougiamas
- Moodle rất đáng tin cậy, có trên 70 181 sites trên thế giới đã dùng Moodle tại 222 quốc gia, được dịch ra 75 ngôn ngữ khác nhau Có trên
100 nghìn người đã đăng kí tham gia cộng đồng Moodle và sẵn sàng giải quyết khó khăn (thống kê tại Moodle.org, tháng 11/2011)
- Moodle phát triển dựa trên PHP (Ngôn ngữ được dùng bởi các công ty Web lớn như Yahoo, Flickr, Baidu, Digg, CNET) có thể mở rộng từ một lớp học nhỏ đến các trường đại học lớn trên 50 000 sinh viên (ví dụ đại học Open PolyTechniquecủa Newzealand, Open University of UK, Athabasca University, )
- Moodle với các database mã nguồn mở như MySQL hoặc PostgreSQL Phiên bản 1.7 trở lên sẽ hỗ trợ thêm các database thương mại như Oracle, Microsoft SQL
Hình 2.3 Kiến trúc hệ thống Moodle
Trang 262.3.2.2 Lịch sử phát triển của Moodle
Bảng 2.3 Lịch sư ̉ phát triển của Moodle
Moodle 1.0.x 20/8/2002
Moodle 1.9.x 03/3/2008 Moodle 2.0.x 24/11/2010 Moodle 2.1.x 01/7/2011 Moodle 2.2.x 5/12/2011 Moodle 2.3.x 25/6/2012 Moodle 2.4.x 11/9/2012 Moodle 2.5.x 11/3/2013 Moodle 2.6.x 18/11/ 2013 Moodle 2.7.x 10/3/2014
2.3.3 Ưu và nhược điểm của Moodle [1]
2.3.3.1 Ưu điểm
- Mã nguồn mở, nên chúng ta hoàn toàn có thể can thiệp vào mã nguồn của
hệ thống để điều chỉnh, dễ dàng phát triển hệ thống mà không cần phụ thuộc vào công ty phần mềm đóng
- Giao diện trực quan, dễ cài đặt và sử dụng, dễ nâng cấp từ phiên bản này sang phiên bản tiếp theo
- Moodle chỉ yêu cầu một database (và có thể chia sẻ với những ứng dụng khác nếu cần)
- Thiết kế dựa theo module cho phép các tính năng linh hoạt thêm vào (hoặc gỡ bỏ)
- Nhấn mạnh về tính năng an toàn cao và liên tục Tất cả các form đều được kiểm tra, dữ liệu được xác nhận và các cookies được viết lại thành mật mã
- Moodle hướng đến giáo dục, rất thích hợp cho việc học trực tuyến cũng như cách học face-to-face
- Các khóa học có thể được phân loại và tìm kiếm, hỗ trợ hàng ngàn khoá học
- Tài liệu hướng dẫn phong phú, đầy đủ và chi tiết khác hẳn với nhiều dự
án mã nguồn mở khác
Trang 27- Moodle có thể tương tích với nhiều công cụ tạo bài giảng: Reload Editor, Lectora, có thể trao đổi với các hệ thống CMS khác như: webCT, black- board…
- Người dùng có thể tự do sử dụng và thử nghiệm các tính năng mới, hoạt động như một bộ phận kiểm soát chất lượng lớn Hoạt động cộng đồng Moodle lớn
- CSDL nhỏ, sẽ không tốt khi số lượng user tăng lên đến hàng triệu người
- Moodle tập trung vào các khả năng dễ quản trị, dễ cấu hình, tập trung vào
kế hoạch giảng dạy và các kiểu bài tập hết sức phong phú, tuy nhiên nó không hỗ trợ các chuẩn xây dựng bài giảng vì nó là CMS Chưa có phần export các khóa học ra gói SCORM hoặc IMS
2.3.4 Tính năng của hệ thống quản lý Moodle [1]
2.3.4.1 Quản lý hệ thống
Hình 2.4 Tính Năng Moodle
Hệ thống quản lý
Hoạt động
Bộ lọc Khối
Chứng thực
Tài khoản Phân quyền
Quản lý
điểm
Trang 28- Hệ thống được quản lý bở̉̉̉ i một người quản trị tối cao (Admin) được xác định trong quá trình cài đặt Tạo và quản lý các khóa học, quản lý học viên Đưa thêm các module vào tăng chức năng cho hệ thống
- Thiết kế một giao diện để đưa vào hệ thống cho phù hợp với mục đích sử dụng Cho phép hiển thị đa ngôn ngữ
- Trợ giúp giáo viên tổ chức các hoạt động nhằm quản lý khóa học thông qua diễn đàn, phòng chat Quản lý tài nguyên từng khóa học: các files, web-sites, văn bản Tổ chức hội thảo: các học viên có thể tham gia đánh giá các bài tập lớn của nhau Quản lý các sự kiện, các thông báo theo thời gian
Bảng 2.4 So sánh các tính năng trong hai CMS thương mại hàng đầu và Moodle
Tạo ra nội dung trực tuyến trong
HTML
- Moodle có tất cả các tính năng chính của hệ thống thương mại
Trang 292.3.4.2 Thiết kế tổng thể (overral design)
- Khuyến khích xây dựng một cộng đồng sư phạm xã hội rộng trong cộng đồng mạng Thích hợp 100% cho các lớp học trực tuyến cũng như bổ sung tính năng học online trao đổi trực tuyến
- Cách sử dụng đơn giản, gọn nhẹ, tương thích, cấu trúc mềm dẻo, hiệu quả với các nền tảng hệ điều hành khác nhau (Window, Linux, Mac) Dễ cài đặt và cấu hình trên tất cả các hệ quản trị cơ sở dữ liệu (MySQL, SQL server, Oracle)
- Các khóa học có thể được phân loại và tìm kiếm – một trang web moodle
có thể hỗ trợ hàng ngàn khóa học Vấn đề bảo mật được nhấn mạnh, hình thức kiểm tra, xác nhận dữ liệu, mã hóa cookies, …
- Vùng để nhập văn bản, tài nguyên, diễn đàn, đăng tin sử dụng một trình soạn thảo WYSIWYG HTML được nhúng vào
2.3.4.3 Quản lý thành viên [9]
Hình 2.5 Lược đồ thể hiện quá trình tương tác của các đối tượng với hệ thống
- Hệ thống moodle gồm có các người dùng như sau:
Quản trị hệ thống (Administrator)
Người tạo khóa học (Course creator)
Giáo viên (Teacher)
Giáo viên không được phép chỉnh sửa (Non-editing Teacher)
Sinh viên (Student)
Trang 30 Khách (Guest)
Người dùng đã được chứng thực (Authenticated user)
- Với vai trò là admin thì sẽ đảm nhiệm công việc quản lý site, cài đặt những chức năng cho hệ thống Tùy theo cách người admin cách thì giáo viên, học viên sẽ sử dụng Hệ thống moodle hỗ trợ công việc quản trị của admin thông qua: Site Administration block Đây là một block chứa tất cả những mục cho admin có thể setting cho hệ thống
- Mỗi người chỉ cần tạo một tài khoản, mỗi tài khoản có thể truy cập vào các khóa học khác nhau
- Một tài khoản quản trị điều khiển việc tạo các khóa học và tạo các giáo viên bởi việc phân công người dùng tới các khóa học
- Các giáo viên có thể soạn thảo, thay đổi, di chuyển các hoạt động trong khóa học
- Bảo mật - các giáo viên có thể thêm một "khoá truy cập" tới các khóa học
để ngăn cản những người không phải là học viên truy cập vào Họ có thể đưa ra khoá này trực tiếp hoặc qua địa chỉ email tới các học viên
- Các giáo viên có thể gỡ bỏ việc ghi danh các học viên bằng tay nếu được yêu cầu (được thiết lập bởi admin)
- Các học viên được khuyến khích tạo ra một hồ sơ trực tuyến bao gồm các ảnh, các mô tả Các địa chỉ email có thể được bảo vệ bằng cách cho phép
nó hiển thị hay không cho phép nó hiển thị tới người khác
- Mỗi người dùng có thể chọn cho riêng mình một ngôn ngữ để hiển thị trong giao diện của Moodle (ví dụ English, French, Vietnamese, )
- Giáo viên biên soạn: Có thể tạo các khóa học mới và giảng dạy khóa đó
- Giáo viên trợ giảng: Có thể dạy và cho điểm học viên, nhưng không thể sửa đổi các hoạt động học tập
- Thành viên xác thực: tất cả các thành viên đã đăng nhập thành công
Trang 312.3.4.4 Quản lý khóa học
Hình 2.6 Quy trình chuyển tiếp thông tin khóa học
- Một giáo viên có quyền điều khiển tất cả các thiết lập cho một khóa học, bao gồm cả hạn chế các giáo viên khác
- Chọn các định dạng khóa học như theo tuần, theo chủ đề hoặc một cuộc thảo luận tập trung vào các vấn đề xã hội
- Tập hợp các hoạt động của khóa học rất đa dạng - các diễn đàn, các bài thi, các nguồn tài nguyên, các lựa chọn, các bài khảo sát, các bài tập lớn, chats, các bình luận, có thể được xem dựa trên một trang (và tải xuống dưới dạng một file bảng tính)
- Theo dõi và hiển thị đầy đủ các hoạt động của người dùng - thông báo đầy đủ các hoạt động mà một học viên tham gia (lần truy cập cuối cùng,
số lần đọc) cũng như một câu chuyện được chi tiết hoá đối với mỗi học viên bao gồm các thông báo gửi lên trên một trang
- Các khóa học có thể được đóng gói như một file zip đơn sử dụng chức năng sao lưu Điều này có thể được lưu trữ ở bất kỳ nơi nào trên máy chủ Moodle
2.3.4.5 Quản lý các module
- Hoạt động (tài nguyên tương tác): người dùng có thể tương tác với tài liệu, xây dựng tài liệu
: Dùng để giao các nhiệm vụ trực tuyến hoặc ngoại tuyến Các học viên có thể nộp kết quả công việc theo bất kì định dạng nào (MS Office, PDF, ảnh, ), giáo viên có thể để lại ý kiến phản hồi và tải lên các tập tin, ghi điểm vào sổ điểm
Trang 32 : Giáo viên cung cấp nội dung hoặc các hoạt động thực hành Cho phép GV tạo và quản lý một loạt các trang được kết nối với nhau Mỗi trang có thể kết thúc bởi một câu hỏi Nó được cấu tạo bằng một hệ thống các bảng phân nhánh
: Giúp tạo ra và duy trì danh sách các định nghĩa, một bảng các thuật ngữ được sử dụng trong khóa học giống như một từ điển, hoặc
để thu thập và tổ chức tài nguyên hoặc thông tin
: Giáo viên hỏi một câu hỏi duy nhất và có thể cung cấp một lựa chọn để thăm dò các phản ứng
: Tạo ra, duy trì và tìm kiếm một tập các mục (hồ sơ) Cấu trúc của các mục được xác định bởi các giáo viên trong một số lĩnh vực bao gồm checkbox, radio buttons, dropdown menu, text area, URL, picture và uploaded file
: Cung cấp tập các câu hỏi điều tra xác minh hữu ích trong việc đánh giá và kích thích học tập trong môi trường trực tuyến
: Các cuộc thảo luận, trao đổi được phân chia theo chủ đề cho phép trao đổi nhóm, chia sẻ các vấn đề, diễn ra trong một khoảng thời gian dài Có nhiều kiểu diễn đàn khác nhau: diễn đàn chỉ dành cho
GV, diễn đàn dành cho tất cả mọi người, Q&A, có thể đánh giá bài viết của thành viên trong diễn đàn
: Tạo ra các câu hỏi với các hình thức quen thuộc khác nhau, bao gồm đa lựa chọn, phù hợp, câu trả lời đúng sai, câu hỏi phù hợp, câu hỏi số, GV có thể tạo ra một ngân hàng câu hỏi và sử dụng lại trong các bài thi khác nhau Các bài thi được tự động tính điểm, giới hạn về thời gian Tùy thuộc vào lựa chọn của GV mà đề thi sẽ có các thiết lập khác nhau Các câu hỏi có thể được import từ các tập tin bên ngoài Moodle
: Học viên tương tác với tài nguyên học tập và các hoạt động trên các trang web khác
Trang 33 : Giáo viên tạo ra một cuộc khảo sát tùy chỉnh cho việc thu thập thống tin phản hồi từ người tham gia sử dụng nhiều loại câu hỏi bao gồm nhiều lựa chọn, có hoặc không hoặc nhập văn bản
: Đóng gói theo một tiêu chuẩn thống nhất cho các đối tượng học tập Các module hoạt động SCORM cho phép SCORM hoặc AICC gói được tải lên như một tập tin zip và thêm vào một khóa học
: Cho phép người tham gia hoạt động trao đổi thông tin theo thời gian thực (trực tuyến), thực hiện các cuộc thảo luận đồng bộ
: Xem xét và đánh giá công việc của học viên
: Thêm và chỉnh sửa một tập hợp các trang web Xây dựng và quản lý các trang thông tin do nhiều thành viên cùng hợp tác phát triển
- Các tài nguyên (tài nguyên tĩnh): đây là công cụ chính yếu giúp đưa nội dung vào bên trong khóa học
: Tạo ra một nguồn tài nguyên nhiều trang trong một định dạng sách theo chương và chủ đề
: Cung cấp một tập tin như một nguồn tài nguyên tự nhiên
: Chứa một số tập tin có liên quan
chuẩn thống nhất để chúng có thể được tái sử dụng trong các hệ thống khác nhau
: Nhãn văn bản và đa phương tiện được đưa vào trang khóa học trong các liên kết giữa các nguồn lực và các hoạt động khác
: Tạo ra một trang mới có thể hiển thị văn bản, hình ảnh, âm thanh, video, liên kết web và mã nhúng
: Cung cấp một liên kết web
Trang 342.3.4.6 Quản lý điểm
- Điểm trong moodle được gọi là gradebook(Sổ điểm) Điểm số là một phần quan trọng trong moodle
- Quản lý điểm bao gồm : xem điểm, tùy chỉnh bảng điểm theo loại, lớp, quy mô và kết quả, báo cáo điểm số, phân tích đề thi, chấm lại đề thi, nhập điểm bằng file, xuất điểm theo tùy chọn, đưa phản hồi cho bài kiểm tra,
- Trong khóa học, bảng điểm tự động được tạo ra với các hoạt động được tính điểm trong khóa học đó (assignment, đề thi, bài giảng, ) Điểm sẽ được chuyển về bảng điểm hiện hành
- Giáo viên cũng có thể thêm cột điểm mới vào và nhập điểm trực tiếp
Hình 2.7 Sổ điểm trong moodle
- Bảng báo cáo điểm số sẽ liệt kê tất cả các hoạt động tính điểm trong khóa học, và tổng kết theo định dạng lưới (bảng)
- Để truy cập quản lý điểm, người dùng phải có quyền quản trị khóa học
đó
- Trên block administrator > Course administrator > Grades
Trang 35Hình 2.8 Block quản lý về điểm
- Sau đó từ trình đơn thả xuống, tùy chọn các cách hiển thị bảng điểm
Hình 2.9 Lựa chọn định dạng bảng điểm 2.3.5 Coding trong Moodle
2.3.5.1 Chuẩn code trong Moodle
Tất cả các mã mới phải tuân theo một cách hoàn toàn các chuẩn dưới đây:
- Tất cả các file mã phải sử dụng phần mở rộng php Tất cả các file mẫu phải sử dụng phần mở rộng html
- Tẩt các file text nên sử dụng định dạng kiểu Unix (đa số các bộ soạn thảo text có lựa chọn này)
- Tất cả các thẻ PHP phải là các thẻ 'đầy đủ' giống như <?php ?> không phải là các thẻ 'ngắn' giống như <? ?>
Trang 36- Tất cả các chú thích về bản quyền phải được giữ nguyên Bạn có thể đưa thêm của bạn vào nếu cần thiết
- Mỗi file nên gồm file chính config.php Mỗi file nên kiểm tra rằng người dùng được chứng thực đúng đắn, sử dụng require_login() và isadmin(), isteacher(), iscreator() hoặc isstudent()
- Tất cả các truy cập tới các cơ sở dữ liệu phải sử dụng các hàm trong lib/datalib.php bất cứ khi nào có thể - nó đảm bảo tính khả chuyển giữa nhiều cơ sở dữ liệu khác nhau
- Hạn chế các hàm cụ thể ngay trong file riêng (thường là trong lib.php ); và được đánh dấu, chú thích cẩn thận, rõ ràng
- Đừng tạo hoặc sử dụng các biến toàn cục trừ các biến chuẩn $CFG,
$SESSION, $THEME và $USER Tất cả các biến nên được khởi tạo hoặc ít nhất được thử tính tồn tại thông qua sử dụng isset() hoặc empty() trước khi chúng được sử dụng
- Tẩt cả các xâu nên có thể dịch được - tạo các text mới trong các file
"lang/en" với các tên tiếng Anh chính xác chữ thường và lấy chúng từ mã thông qua sử dụng get_string() hoặc print_string() Tất cả các file trợ giúp nên có thể dịch được - tạo các text mới trong thư mục "en/help" và gọi chúng sử dụng helpbutton()
- Các dữ liệu đến từ trình duyệt (được gửi thông qua GET hoặc POST) tự động được xử lý bằng magic_quotes (không quan tâm tới việc thiết lập trong PHP) sao cho có thể chèn chúng an toàn vào cơ sở dữ liệu Tất cả các dữ liệu thô khác (từ các files, hoặc từ các cơ sở dữ liệu) phải được thoát bởi addslashes() trước khi chèn nó vào cơ sở dữ liệu
- QUAN TRỌNG: Mọi text bên trong Moodle, đặc biệt là xuất phát từ người dùng, sẽ được in sử dụng hàm format_text() Điều này đảm bảo rằng text được lọc và xoá theo đúng cách
2.3.5.2 Quy đi ̣nh về viết mã code Moodle
Người viết nên theo một phong cách viết mã thống nhất, chúng sẽ được quy định dưới đây như sau:
- Các tên biến nên dễ đọc, có ý nghĩa là các từ tiếng Anh thấp, càng ngắn càng tốt Dùng các tên số nhiều cho các dãy đối tượng (Biến đúng: $quiz,
$errorstring, $assignments, $i, Biến không đúng: $Quiz, $error_string,
Trang 37- Các hằng số nên là các chữ hoa, và luôn bắt đầu bằng tên các module được phân cách với nhau bằng dấu gạch chân (VD: define("FORUM_MODE_FLATOLDEST", 1); )
- Các khối luôn luôn được đóng bởi các ngoặc nhọn Các chuỗi nên được định nghĩa sử dụng các dấu nháy đơn để tăng tốc độ
- Các chú thích nên được đưa vào càng nhiều càng tốt là rất thực tế, giúp giải thích mã và mục đích của các hàm và các biến (Mỗi hàm (và lớp) nên dùng định dạng phpDoc Điều này cho phép tài liệu mã được sinh tự động Các chú thích inline nên sử dụng phong cách //, được trình bày gọn gàng sao cho nó thích hợp với mã và đưa ra các dòng riêng cho nó)
- Khoảng trống nên được sử dụng tự do, nên có một khoảng trống giữa các dấu ngoặc và các statement bình thường, nhưng không có khoảng trống giữa các dấu ngoặc và các biến hoặc các hàm
2.3.5.3 Cấu trúc cơ sở dữ liệu
- Mọi bảng phải có một id tự tăng như là một trường (INT10) là index chính Bảng chính chứa các instance của mỗi module phải có tên trùng với tên module (ví dụ widget) và chứa tối thiểu các trường: id, course –
id, name - tên đầy đủ của mỗi instance của module
- Các bảng khác gắn liền với một module chứa các thông tin về 'things' nên được đặt tên là widget_things (chú ý về số nhiều) Các tên cột phải đơn giản và ngắn gọn, tuân theo các luật giống như tên các biến
- Các cột chứa một tham chiếu tới trường id của bảng khác (ví dụ widget) nên được gọi là widgetid (Chú ý rằng các quy ước này mới và không được tuân theo ở một số bảng cũ)
- Các trường boolean nên được thực thi như là các trường số nguyên nhỏ (eg INT4) chứa 0 hoặc 1, cho phép mở rộng sau này khi cần thiết
- Đa số các bảng phải có trường timemodified (INT10) được cập nhật với timestamp hiện thời lấy được thông qua hàm time() của PHP
2.3.6 Tổng quan về việc cài đặt Moodle
- Một cài đặt Moodle bao gồm các mã xử lý của Moodle trên một máy chủ web hỗ trợ PHP, một cơ sở dữ liệu được quản lý bởi MySQL, PostgreSQL, Microsoft SQL Server, Oracle, và một kho dữ liệu cho các tập tin tải lên và tạo ra (thư mục moodledata)
Trang 38- Tất cả ba bộ phận có thể chạy trên một máy chủ duy nhất, hoặc chúng có thể được tách ra với nhiều máy chủ web cân bằng tải (load-balanced), một tổ cơ sở dữ liệu, và một file-server
- Moodle được thiết kế để đơn giản để cài đặt trên bất kỳ máy chủ đáp ứng các yêu cầu cơ bản Moodle tự cài đặt một lần với mã nguồn đã được sao chép vào máy chủ web và một cơ sở dữ liệu trống đã được tạo ra Tương
tự như vậy, Moodle có thể tự nâng cấp tới một phiên bản tiếp theo
2.3.7 Hệ thống các module trong Moode
2.3.7.1 Khái quát
- Moodle được cấu trúc như một ứng dụng lõi (Moodle core), bao quanh bởi nhiều plugin cung cấp các chức năng cụ thể Moodle được thiết kế để dễ mở rộng và tùy biến mà không sửa đổi các thư viện lõi, vì nếu không như vậy sẽ tạo ra vấn đề khi nâng cấp lên một phiên bản mới hơn
- Các plugin trong Moodle là các loại cụ thể Một plugin xác thực ( authentication plugin) và một module hoạt động (activity module)
- Sau khi cài đặt, một site Moodle có thể được điều chỉnh phù hợp cho một mục đích cụ thể bằng cách thay đổi các tùy chọn cấu hình mặc định, và bằng cách cài đặt hay gỡ bỏ các plugin Hầu hết các plugin đã được chia sẻ công khai và liệt kê trong thư mục Moodle Plugins
- Về vật lý, một plugin Moodle chỉ là một thư mục của các kịch bản PHP (CSS, JavaScript, nếu cần thiết) Moodle core giao tiếp với các plugin bằng cách tìm kiếm các điểm vào cụ thể, thường được định nghĩa trong file lib.php trong plugin
2.3.7.2 Moodle core
Moodle core cung cấp tất cả cơ sở hạ tầng cần thiết để xây dựng một CMS
Nó thực hiện các khái niệm quan trọng mà tất cả các plugin khác nhau sẽ cần phải làm việc với Chúng bao gồm:
- Các khóa học và các hoạt động (Courses & activities)
- Người sử dụng (Users)
- Nhóm và phân hệ (Group & Cohort)
Trang 39- Ghi danh và kiểm soát truy cập (Enrolments & access control) Các ngữ cảnh - contexts, vai trò - roles, khả năng - capabilities, và cho phép - permissions,
- Hoạt động và hoàn thành khóa học (Activity & course completion)
- Điều hướng, thiết lập và cấu hình (Navigation, settings and configuration)
- Thư viện Form
- Thư viện JavaScript
- Cài đặt và nâng cấp (installation & upgrade)
- Nhật ký và thống kê (logs and statistics)
2.3.7.3 Các khối - Blocks
Block là những phần nhỏ của giao diện chức năng mà có thể được thêm vào (thường là các bên) các trang web Nhiều block cung cấp thêm khung nhìn dữ liệu được lưu trữ và sửa đổi ở nơi khác Các block ở trong thư mục block
2.3.7.4 Các giao diện - Themes
- Giao diện trực quan (visual style) tổng thể của một trang Moodle, một khóa học riêng, hoặc tất cả các khóa học trong một mục cụ thể, có thể được thay đổi bằng cách chọn một theme khác ở các cấp độ khác nhau
- Mỗi theme ở trong một thư mục con của thư mục "theme", và chứa tối thiểu các file sau:
config.php: định nghĩa màu sắc của theme được sử dụng trong
suốt site
styles.php: chứa các định nghĩa CSS cho các phần tử HTML
chuẩn như đối với nhiều phần tử của Moodle
header.html: bao gồm ở phần đầu của mỗi trang Đây là những gì
bạn cần để soạn thảo thêm một logo trên đầu của các trang
footer.html: bao gồm ở phần dưới của mỗi trang
- Để tạo themes cho riêng bạn đối với các phiên bản hiện tại của
Moodle:
Copy folder theme đã tồn tại sang một cái khác với một tên mới
Nên bắt đầu với một trong các theme chuẩn
Trang 40 Soạn thảo file config.php và chèn các màu sắc của riêng bạn vào
Soạn thảo file styles.php và thay đổi kiểu dáng CSS của bạn
Soạn thảo file header.html và footer.html thêm các logo mới,
hoặc thay đổi cách bố trí
2.3.8 Cách tổ chức của mã Moodle
- Moodle chủ yếu là theo cách tiếp cận kịch bản giao dịch (transaction script) Giả sử bạn đang tìm kiếm một diễn đàn URL sẽ là / mod / forum / view.php? Id = 1234 thì script PHP mod / forum / view.php sẽ tạo ra trang đó
- Các chức năng cốt lõi đã được tái cơ cấu vào các thư viện (chủ yếu là trong thư mục lib) Có hai lớp được sử dụng để phân tách trình diễn (presentation) và nghiệp vụ (business login) Lớp bên ngoài là theme (xem ở trên) kiểm soát các khía cạnh trực quan của giao diện Moodle Sau đó, có các lớp sinh (renderer classes) sẽ tạo ra mã HTML để xuất các
dữ liệu được cung cấp bởi các kịch bản giao dịch và mô hình miền
2.3.9 Cơ sở dữ liệu của Moodle
- Cơ sở dữ liệu Moodle bao gồm nhiều bảng (hơn 250), với cấu trúc lớn này tương đối dễ hiểu, bởi vì các bảng cho một plugin nhất định thường chỉ liên kết với nhau và với một vài bảng cốt lõi
- Các cấu trúc cơ sở dữ liệu Moodle được định nghĩa trong các tập tin
install.xml bên trong thư mục db của mỗi plugin Ví dụ mod / forum / db /
install.xml chứa các định nghĩa cơ sở dữ liệu cho các module diễn đàn lib / db / install.xml xác định các bảng được sử dụng cho Moodle core
Với các file install.xml, có bình luận cho rằng cần phải giải thích mục
đích của mỗi bảng và cột, vì vậy những mô tả về bảng và cột đã được chuyển thành tài liệu để dễ cho người đọc Xem tài liệu này bằng cách
vào Site administration -> Development -> XMLDB editor trong cài đặt
Moodle của bạn, và nhấp vào liên kết [Doc]