1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Phân tích, cài đặt module quản trị hệ thống, quản lý giáo viên, sinh viên và phụ huynh trong hệ thống hỗ trợ học và thi trực tuyến

90 92 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 90
Dung lượng 4,59 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP PHÂN TÍCH, CÀI ĐẶT MODULE QUẢN TRỊ HỆ THỐNG, QUẢN LÝ GIÁO VIÊN, SINH VIÊN VÀ PHỤ HUYNH TRONG HỆ

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC NHA TRANG KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN TỐT NGHIỆP PHÂN TÍCH, CÀI ĐẶT MODULE QUẢN TRỊ HỆ THỐNG, QUẢN LÝ GIÁO VIÊN, SINH VIÊN VÀ PHỤ HUYNH TRONG HỆ THỐNG HỖ TRỢ HỌC VÀ THI TRỰC TUYẾN

Giảng viên hướng dẫn: TS Đinh Đồng Lưỡng

Sinh viên thực hiện: Trần Tất Thắng

Mã số sinh viên: 56136297

Trang 2

TRƯỜNG ĐẠI HỌC NHA TRANG

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN TỐT NGHIỆP PHÂN TÍCH, CÀI ĐẶT MODULE QUẢN TRỊ HỆ THỐNG, QUẢN LÝ GIÁO VIÊN, SINH VIÊN VÀ PHỤ HUYNH TRONG HỆ THỐNG HỖ TRỢ HỌC VÀ THI TRỰC TUYẾN

GVHD: TS Đinh Đồng Lưỡng SVTH: Trần Tất Thắng

MSSV: 56136297

Khánh Hoà, tháng 7/2018

Trang 4

TRƯỜNG ĐẠI HỌC NHA TRANG

Khoa/viện:Khoa Công nghệ Thông tin

PHIẾU THEO DÕI TIẾN ĐỘ VÀ ĐÁNH GIÁ ĐỀ TÀI / KHÓA LUẬN

TỐT NGHIỆP

(Dùng cho CBHD và nộp cùng báo cáo ĐA/KLTN của sinh viên)

Tên đê tài: Xây dựng hệ thống hỗ trợ học tập và thi trực tuyến

Giảng viên hướng dẫn: Ts Đinh Đồng Lưỡng

Sinh viên được hướng dẫn: Trần Tất Thắng MSSV: 56136297

Khóa: Khóa 56 Ngành: Công nghệ thông tin

Hoàn thiện chương trình Viết báo cáo tổng kết

Đồng ý cho sinh viên: Được bảo vệ:  Không được bảo vệ: 

Khánh Hòa, ngày…….tháng…….năm 2018

Cán bộ hướng dẫn

(Ký và ghi rõ họ tên)

Trang 5

CAM ĐOAN CỦA SINH VIÊN

Tôi xin cam đoan đây là công trình nghiên cứu của nhóm tôi và được sự hướng dẫn khoa học của TS Đinh Đồng Lưỡng Các nội dung nghiên cứu, kết quả trong đề tài này là trung thực và chưa công bố dưới bất kì hình thức nào trước đây Những nội dung trong phần khảo sát, phân tích, nhận xét và đánh giá được chính tác giả thu thập

từ các nguồn khác nhau có ghi rõ trong phần tài liệu tham khảo Ngoài

ra, trong đồ án còn tham khảo phần mềm của nhóm tác giả khác đều có trích dẫn và chú thích nguồn gốc Nếu phát hiện có bất kì sự gian lận nào tôi xin hoàn toàn chịu trách nhiệm về nội dung đồ án của mình Trường Đại học Nha Trang không liên quan đến những vi phạm tác quyền, bản quyền do tôi gây ra trong quá trình thực hiện (nếu có)

Nha Trang, tháng 6 năm 2018

Sinh viên Trần Tất Thắng

Trang 6

em xin gửi đến quý thầy cô ở Khoa Công nghệ Thông tin – Trường Đại học Nha Trang

đã cùng với tri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại trường Và đặc biệt trong học kì này, khoa đã

tổ chức cho chúng em được tiếp cận với môn học mà theo em là rất hữu ích đối với sinh viên, đó là Đồ án tốt nghiệp Em xin chân thành cảm ơn thầy Đinh Đồng Lưỡng đã tận tình hướng dẫn em qua từng buổi thảo luận về tính tự học và khả năng tự nghiên cứu Nếu không có những lời hướng dẫn, dạy bảo của thầy thì em nghĩ bài báo cáo này của

em rất khó có thể hoàn thiện được Một lần nữa, em xin chân thành cảm ơn thầy Đồ án môn học được thuật hiện trong khoảng thời gian ngắn Bước đầu đi vào thực thế, tìm hiểu về công nghệ mới, kiến thức mới và áp dụng kiến thức đã tìm hiểu được vào thực

tế Do vậy, không tránh khỏi những thiếu sót, em rất mong nhận được những ý kiến đóng góp quý báo của quý thầy cô và các bạn học cùng lớp để kiến thức của em được hoàn thiện hơn

Lời cảm ơn thầy Đinh Đồng Lưỡng Sau cùng, em xin kính chúc quý thầy cô trong khoa Công nghệ Thông tin và ban giám hiệu trường Đại học Nha Trang thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sử mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau

Nha Trang, tháng 6 năm 2018

Sinh viên Trần Tất Thắng

Trang 7

MỤC LỤC

PHIẾU THEO DÕI TIẾN ĐỘ VÀ ĐÁNH GIÁ ĐỀ TÀI/KHOÁ LUẬN TỐT

NGHIỆP .i

CAM ĐOAN CỦA SINH VIÊN ii

LỜI CẢM ƠN iii

MỤC LỤC iv

DANH SÁCH HÌNH VẼ vii

DANH SÁCH BẢNG BIỂU viii

DANH SÁCH CÁC TỪ VIẾT TẮT ix

PHẦN MỞ ĐẦU 1

CHƯƠNG 1: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU 3

1.1 Đặt vấn đề 3

1.2 Lý do chọn đề tài 3

1.3 Xác định các yêu cầu của đề tài 4

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

1.5 Ý nghĩa khoa học và thực tiễn 6

1.6 Cấu trúc bài báo cáo 7

CHƯƠNG 2: HỆ THỐNG GIÁO DỤC TRỰC TUYẾN (E-LEARNING) VÀ CÔNG NGHỆ HỖ TRỢ 8

2.1 Tổng quan về E-learning 8

2.1.1 Định nghĩa: 8

2.1.2 Tình hình phát triển và ứng dụng E-Learning 9

2.1.3 Lợi ích và hạn chế của E-learning: 12

2.2 Phân tích một số hệ thống E-learning 14

2.3 Công nghệ hỗ trợ 16

Trang 8

2.3.2 Tìm hiểu về MongoDB 20

2.3.3 Tìm hiểu về React và mô hình Redux 22

2.3.4 Tìm hiểu về Webpack 24

2.3.5 Tìm hiểu về Next.js 24

2.3.6 Tìm hiểu về thư viện giao diện Ant Design 25

2.4 Tìm hiểu về công nghệ AI xử lý ảnh và ứng dụng trong hệ thống 26

2.4.1 Thư viện OpenCV 26

2.4.2 Thư viện học máy Sklearn 27

2.5 Cấu hình hệ thống, triển khai hệ thống lên Server 28

2.5.1 Giới thiệu về Nginx 28

2.5.2 Cách cài đặt Nginx trên server Ubuntu 16.04 29

2.5.3 Cấu hình Hosting và Domain cho Nginx 30

CHƯƠNG 3: KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG 32

3.1 Khảo sát nhu cầu các đối tượng sử dụng 32

3.1.1 Đối tượng giáo viên 32

3.1.2 Đối tượng sinh viên 33

3.1.3 Đối tượng phụ huynh 33

3.2 Khảo sát phần mềm TuiElearning 33

3.3 Thiết kế cơ sở dữ liệu 34

3.3.1 Đặc tả hệ thống 34

3.3.2 Sơ đồ phân rã chức năng 35

3.3.3 Sơ đồ lớp của chức năng quản lý khoá học 36

3.3.4 Sơ đồ lớp của chức năng phân quyền 40

CHƯƠNG 4: CÀI ĐẶT HỆ THỐNG VÀ KẾT QUẢ ĐẠT ĐƯỢC 43

4.1 Cài đặt Module quản lý khoá học 43

4.1.1 Quản lý danh mục khoá học 43

Trang 9

4.2 Cài đặt chức năng phân quyền trong hệ thống 52

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TOÀN HỆ THỐNG 56

5.1 Kết luận đồ án 56

5.2 Hướng phát triển 57

DANH MỤC TÀI LIỆU THAM KHẢO 58

PHỤ LỤC A: TÀI LIỆU HƯỚNG DẪN SỬ DỤNG 59

Trang 10

DANH SÁCH HÌNH VẼ

Hình 2.1 Top 10 trang edTech Việt Nam theo lượng truy cập 12

Hình 2.2 Lưu trữ bản ghi trong MongoDB 20

Hình 2.3 Mô tả cấu trúc dữ liệu của MongoDB 21

Hình 2.4 Mô tả về Redux 23

Hình 2.5 Nguyên lý hoạt động của Redux 23

Hình 2.6 Kiến trúc thư viện OpenCV 26

Hình 2.7 Giao diện khởi động sau khi cài đặt của Nginx trên trình duyệt 29

Hình 3.1 Sơ đồ phân rã chức năng 35

Hình 3.2 Sơ đồ lớp của chức năng quản lý khoá học 36

Hình 3.3 Sơ đồ lớp của chức năng phân quyền 41

Hình 4.1 Giao diện quản lý danh mục khoá học sau khi cài đặt 44

Hình 4.2 Giao diện thêm hiệu chỉnh khoá học 45

Hình 4.3 Giao diện hiển thị danh sách khoá học 45

Hình 4.4 Giao diện tham gia khoá học 46

Hình 4.5 Giao diện gởi lời mời truy cập khoá học 47

Hình 4.6 Giao diện xác nhận yêu cầu tham gia khoá học 47

Hình 4.7 Giao diện thêm, sửa bài viết trong diễn đàn 48

Hình 4.8 Giao diện trả lời bài viết trong diễn đàn 48

Hình 4.9 Giao diện thêm, sửa bài học trong khoá học 49

Hình 4.10 Giao diện bài học trong khoá học 49

Hình 4.11 Giao diện tạo bài tập trong khoá học 50

Hình 4.12 Danh sách bài tập và tình trạng nộp bài của sinh viên 50

Hình 4.13 Giao diện nộp bài tập của sinh viên 50

Hình 4.14 Quản lý thành viên có trong khoá học 51

Hình 4.15 Giao diện thời khoá biểu trong khoá học 51

Hình 4.16 Giao diện tạo sự kiện trong thời khoá biểu của khoá học 52

Hình 4.17 Danh sách các quyền trong có trong hệ thống và tình trạng 53

Hình 4.18 Danh sách các hồ sơ được phân quyền trong hệ thống 53

Hình 4.19 Danh sách các tài khoản có trong hệ thống 54

Hình 4.20 Giao diện xác nhận hồ sơ giáo viên của quản trị viên 54

Trang 11

DANH SÁCH BẢNG BIỂU

Bảng 2.1 Các định nghĩa trong SQL ánh xạ sang MongoDB 20

Bảng 3.1 Collection Category (Danh mục khoá học) 36

Bảng 3.2 Collection Course 37

Bảng 3.3 Collection Assignment 38

Bảng 3.4 Collection Lession 38

Bảng 3.5 Collection MemberReply 39

Bảng 3.6 Collection Discussion 40

Bảng 3.7 Collection Notification 40

Bảng 3.8 Collection Pin 40

Bảng 3.9 Collection Role 41

Bảng 3.10 Collection Users 42

Bảng 3.11 Collection Permission 42

Bảng 3.12 Collection Profile 42

Trang 12

sở dữ liệu hiện đại như MS SQL Server, IBM DB2, Oracle, MySQL và Microsoft Access

Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) là một

hệ thống quản lý cơ sở dữ liệu (DBMS) dựa trên mô hình quan hệ được giới thiệu bởi EF Codd

E-learning Electronic Learning

CNTT Công nghệ thông tin

HTTP HyperText Transfer Protocol

PHP Hypertext Preprocessor

AJAX Asynchronous JavaScript and XML

DPP Distributed Data Protocol JSON JavaScript Serialized Object Notation NoSQL None-Relational Structured Query Language

RDBMS Relational Database Management System

3rd-party Third party

Trang 13

PHẦN MỞ ĐẦU

Ngày nay, có thể nhận thấy rằng, Internet là một “huyết mạch” quan trọng không thể thiếu, đặc biệt còn giữ vai trò rất lớn trong việc tạo sự bứt phá cho nền kinh tế chia

sẻ và thời đại cách mạng công nghiệp 4.0 đang hiện hữu khắp nơi trên toàn thế giới

Cách mạng công nghiệp 4.0 được coi là cuộc cách mạng chưa từng có trong lịch

sử nhân loại, nó sẽ diễn biến rất nhanh, là sự kết hợp của công nghệ trong các lĩnh vực vật lý, số hóa và sinh học, tạo ra những khả năng hoàn toàn mới và có tác động sâu sắc đối với các hệ thống chính trị, xã hội, kinh tế của thế giới Cuộc cách mạng công nghiệp 4.0 mà điển hình là sự bùng nổ ngày càng mạnh mẽ của công nghệ thông tin đang thay đổi diện mạo của nền giáo dục không chỉ ở các quốc gia phát triển mà còn ở các nước đang phát triển như Việt Nam

Do những thay đổi trong nền giáo dục, các nhà cải cách đại học cần xem xét học tập trực tuyến như một công cụ đào tạo toàn cầu, tăng cường khả năng tiếp cận sinh viên

và thu nhập cho nhà trường

Giáo dục trực tuyến không thay thế giáo dục truyền thống Một số trường đại học

đi đầu về đổi mới hiểu rằng học tập trực tuyến bổ sung những gì tích cực và hiện đại để tạo nên môi trường học tập hoàn hảo nhất cho mọi người Học trực tuyến làm phong phú nền giáo dục bằng cách tiếp cận thị trường mới mà giáo dục truyền thống ít chạm tới, ví dụ nhóm tuổi trên 24 Học trực tuyến đáp ứng nhu cầu của mọi người, ở các lứa tuổi khác nhau, đang tìm kiếm một loại hình đào tạo đáp ứng nhu cầu chuyên môn của mình trên con đường sự nghiệp Nó thực sự là một cách tuyệt vời để mở rộng việc tiếp cận giáo dục ở mức độ toàn cầu So với phương pháp học truyền thống, hình thức học

và thi thử trực tuyến có ưu điểm là học sinh, sinh viên có khả năng tìm tòi và tiếp cận những nguồn dữ liệu khổng lồ, sử dụng thành thạo máy tính, có kỹ thuật tìm hiểu và lấy thông tin trên internet qua đó hoàn thiện các kỹ năng cần thiết”

Một trong những lợi thế dễ nhận thấy của giáo dục trực tuyến là thị trường mới này dễ khai thác Nhu cầu học tập của những người ở xa vùng trung tâm càng ngày càng tăng cao chính là cơ hội cho học trực tuyến

Học tập trực tuyến đang là một chiều hướng phát triển hoàn toàn mới cho giáo

Trang 14

thích sự phát triển của nền kinh tế tri thức, tăng uy tín và tài chính cho các trường Học tập trực tuyến không thay thế mô hình học tập truyền thống Nhưng học tập trực tuyến đang là một trong những cơ hội thú vị nhất cho việc học tập trong vòng vài thế kỷ qua

Dựa trên những phân tích trên việc ứng dụng công nghệ thông tin trong công tác giảng dạy và quản lý đào tạo trong môi trường đại học giúp các bạn học sinh, sinh viên học tập, ôn tập, ôn luyện các bài thi, kiểm tra; giúp giáo viên có thể tạo các bài giảng, các bài tập ôn luyện cho từng đối tượng học sinh, sinh viên, các bài kiểm tra, dạy và trao đổi trực tuyến như một mạng xã hội dành cho việc học tập; giúp phụ huynh có thể theo dõi việc học tập và kết quả thi của con em mình Đồng thời các thầy cô giảng dạy có thể quản lý, tổ chức thi trực tuyến, thống kê, đánh giá các đề thi một cách dễ dàng Hơn thế nữa, hệ thống cho phép sử dụng để tổ chức các cuộc thi khác như cuộc thi “ Thách thức tin học” được tổ chức tại khoa Công nghệ Thông tin, hay các cuộc thi tiếng anh cũng có thể áp dụng hệ thống này…

Với sự hướng dẫn tận tình của giáo viên hướng dẫn TS.Đinh Đồng Lưỡng đã giúp nhóm hoàn thành bài báo cáo đồ án tốt nghiệp này Tuy đã cố gắng để tìm hiểu, phân tích thiết kế và cài đặt hệ thống nhưng chắc rằng không tránh khỏi những thiếu sót Chúng em rất mong nhận được sự góp ý của quí thầy cô Chúng em xin chân thành cảm ơn!

Trang 15

CHƯƠNG 1: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

1.1 Đặt vấn đề

Giáo dục trực tuyến (hay còn gọi là e-learning) là phương thức học ảo thông qua một máy vi tính, điện thoại thông minh nối mạng đối với một máy chủ ở nơi khác có lưu giữ sẵn bài giảng điện tử và phần mềm cần thiết để có thể hỏi, yêu cầu, ra đề cho học sinh học trực tuyến từ xa Giáo viên có thể truyền tải hình ảnh và âm thanh qua đường truyền băng thông rộng hoặc kết nối không dây (wifi), mạng nội bộ (LAN) Mở rộng ra, các cá nhân hay các tổ chức đều có thể tự lập ra một trường học trực tuyến (e-school) mà nơi đó vẫn nhận đào tạo sinh viên, đóng học phí và có các bài kiểm tra như các trường học khác Nhưng hình thức dạy học này còn tiềm ẩn một số hạn chế sau:

 Tham gia học tập dựa trên e-Learning đòi hỏi người học phải có khả năng làm việc độc lập với ý thức tự giác cao độ Bên cạnh đó, cũng cần thể hiện khả năng hợp tác, chia sẻ qua mạng một cách hiệu quả với giảng viên và các thành viên khác

 Người học cũng cần phải biết lập kế hoạch phù hợp với bản thân, tự định hướng trong học tập, thực hiện tốt kế hoạch học tập đã đề ra

 Trong nhiều trường hợp, không thể và không nên đưa ra các nội dung quá trừu tượng, quá phức tạp Đặc biệt là nội dung liên quan tới thí nghiệm, thực hành mà Công nghệ thông tin không thể hiện được hay thể hiện kém hiệu quả

 Hệ thống e-Learning cũng không thể thay thế được các hoạt động liên quan tới việc rèn luyện và hình thành kỹ năng, đặc biệt là kỹ năng thao tác và vận động

 Sự hạn chế về kỹ năng công nghệ của người học sẽ làm giảm đáng kể hiệu quả, chất lượng dạy học dựa trên e-Learning

 Bên cạnh đó, hạ tầng công nghệ thông tin (mạng internet, băng thông, chi phí…) cũng ảnh hưởng đảng kể tới tiến độ, chất lượng học tập

1.2 Lý do chọn đề tài

Trường Đại học Nha Trang - trường đại học đa ngành đa lĩnh vực, hiện tại trường đang đào tạo 8 ngành trình độ tiến sĩ, 15 ngành trình độ thạc sĩ, 33 ngành trình độ đại học và 10 ngành trình độ cao đẳng Lưu lượng người học thường xuyên của Trường: gần 100 nghiên cứu sinh, trên 1.100 sinh viên cao học, hơn 13.000 sinh viên chính quy

Trang 16

nước Trường đã triển khai mô hình dạy học trực tuyến E-learning dựa trên Moodle và cũng đã đạt được những thành quả đáng kể Song số giảng viên đăng ký tập huấn và triển khai E-learning chưa nhiều Một số lý do có thể kể đến là: Server chậm và thường xảy ra sự cố; khi giảng viên ra bài tập, bài kiểm tra, hệ thống chưa tự động email cho sinh viên biết; trao đổi trên E-learning không nhanh bằng email, khả năng quản lý và giám sát thi trực tuyến còn thiếu và chưa phù hợp

Xuất phát từ những vấn đề trên, nhóm chúng em thực hiện xây dựng bộ công cụ

hỗ trợ học tập và thi trực tuyến có các tính năng tương tự như Moodle Ngoài ra hệ thống còn được bổ sung thêm một số tính năng cho phù hợp với môi trường thực tế giảng dạy tại Việt nam nói chung và trường ĐH Nha Trang nói riêng như các tính năng tự động thông báo của hệ thống tới người học qua email cá nhân tự động email nhắc nhở sinh viên, hỗ trợ việc giám sát việc thi trực tuyến thông qua hệ camera, giám sát đọc mail của người học, thống kê và đánh giá hệ thống các câu hỏi, phân loại các mức độ khó dễ của từng câu hỏi xếp hạng sinh viên và thông báo tự động tới phụ huynh

Chúng em sử dụng các công nghệ mới nhất hiện tại đang được áp dụng trên thế giới áp dụng vào việc phân tích và xây dựng bộ công cụ này như: React, mô hình Redux, Apollo, Mongodb, Node.js, Meteor và Webpack để dễ dàng chia phần mềm ra thành rất nhiều file khác nhau Codebase có thể được chia thành các “chunks” có khả năng được nạp theo thứ tự hay yêu cầu khác nhau Điều này giúp giảm đáng kể thời gian khi khởi chạy vì hệ thống chỉ nạp một tập tin mã khi cần thiết Một tính năng tuyệt vời khác đó

là khả năng tự thêm (webpack plugin) vào trong quá trình dịch/chạy, điều này cho phép bạn thoải mái tùy chỉnh theo nhu cầu cũng như đóng góp xây dựng các plugin như mã nguồn mở (open source) Được sử dụng phía máy khách (client) để tăng tốc độ chạy, khắc phục hạn chế chạy chậm của Meteor

1.3 Xác định các yêu cầu của đề tài

Xác định yêu cầu nội dung:

Trong tổng thể toàn bộ nội dung đề tài yêu cầu cần tìm hiểu các công nghệ mới: React, Redux, Apollo, hệ quản trị MongoDB, Node.Js, Meteor, Webpack, NextJS thực hiện việc khảo sát hiện trạng, xác định yêu cầu đề tài, phân tích, thiết kế cơ sở dữ liệu

Hệ thống chia thành 2 module chính mô tả công việc của từng thành viên:

Trang 17

 Mô-đun 1: Thực hiện chức năng phân tích, cài đặt phần quản trị hệ thống, cài đặt phần quản lý giáo viên, sinh viên và phụ huynh trong cho hệ thống hỗ trợ học và thi trực tuyến, chi tiết gồm: (Sinh viên thực hiện: Trần Tất Thắng)

- Cài đặt phần phân quyền người dùng (cho phép thiết lập quyền đối với từng người dùng cụ thể) và quản trị hệ thống (nhận và phản hồi đánh giá người dùng)

- Cài đặt phần quản lý giáo viên gồm tạo môn học, khóa học, lớp học, lập lịch bài giảng, tạo diễn đàn trao đổi học tập, quản lý sinh viên, quản lý việc làm bài tập của sinh viên, quản trị lớp học)

- Cài đặt phần quả lý sinh viên gồm xem danh sách và yêu cầu tham gia các khóa học, lớp học, môn học; lập thời khóa biểu học tập cho bản thân, tạo diễn đàn học tập)

- Cài đặt phần hỗ trợ phụ huynh gồm xem kết quả học tập, thời khóa biểu của sinh viên

 Mô-đun 2: Thực hiện việc phân tích, cài đặt phần quản lý đề và tổ chức thi trực tuyến trong hỗ trợ học và thi trực tuyến, chi tiết gồm: (Sinh viên thực hiện: Nguyễn Tấn An)

- Cài đặt phần quản lý tạo đề gồm tạo đề thi trực tiếp, đề thi dạng luyện tập ôn thi

có gợi ý, đề thi dạng trắc nghiệm, quản lý việc ôn tập của sinh viên, quản lý bộ

Đối tượng hướng đến

- Người dạy có hoặc không hiểu biết nhiều về công nghệ thông tin, muốn thử nghiệm các phương pháp giảng dạy mới

- Sinh viên đào tạo từ xa, sinh viên tại chức, sinh viên đào tạo tại các cơ sở liên kết kể

cả các sinh viên đang học tại cơ sở chính

- Hỗ trợ theo dõi và quản lý của phụ huynh sinh viên

Trang 18

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

- Nghiên cứu và ứng dụng lý thuyết công nghệ mới về React, Mongodb, Note.js, Meteor, Webpack, NextJS phục vụ đề tài

- Thu thập nghiên cứu của tác giả trong và ngoài nước liên quan đến đề tài

- Kế thừa những ưu điểm từ những đề tài trước, khắc phục các sự cố còn tồn tại, phát triển thêm các chức năng, tối ưu lại hệ thống để vận hành ổn định

1.5 Ý nghĩa khoa học và thực tiễn

Việc ứng dụng giáo dục trực tuyến trong dạy học giúp giáo viên nâng cao tính sáng tạo và trở nên linh hoạt hơn trong quá trình giảng dạy của mình Ngoài ra, ứng dụng công nghệ thông tin trong dạy học còn giúp giáo viên có thể chia sẻ bài giảng của mình với đồng nghiệp, cùng nhau thảo luận và nâng cao chất lượng giáo án của mình

Việc ứng dụng giáo dục trực tuyến trong dạy học, học sinh, sinh viên được tiếp cận phương pháp dạy học mới hấp dẫn Ngoài ra, sự tương tác giữa thầy và trò được cải thiện đáng kể, học sinh, sinh viên có nhiều cơ hội được thể hiện quan điểm cũng như chính kiến riêng của mình Điều này không chỉ giúp họ ngày thêm tự tin mà còn là cơ hội cho giáo viên hiểu thêm về năng lực, tính cách và mức độ tiếp thu kiến thức của học trò, từ đó có những điều chỉnh phù hợp và khoa học

Kết quả nghiên cứu giúp giáo viên có thể quản lý lớp học từ xa, không cần phải điểm danh từng giờ lên lớp mà qua đó giám sát việc làm bài tập cá nhân, bài tập nhóm trực tiếp ngay trên hệ thống website, hệ thống hỗ trợ giáo viên việc thống kê các kết quả học tập cũng như thống kê mức độ của bộ đề để sau đó giáo viên có thể cân nhắc đến việc ra đề thi và kiểm tra đối với từng môn học khác nhau, việc thống kê bộ đề theo tỷ

lệ làm bài của sinh viên hiện nay và đa số chưa có ở các hệ thống dạy học trực tuyến tại các trường khác Đồng thời hệ thống còn có những giải pháp hỗ trợ việc chống gian lận trong tổ chức thi trực tuyến Đây là hạn chế chính của các hệ thống elearning hiện có

Kết quả nghiên cứu giúp giáo viên chủ nhiệm liên tục kết nối với phụ huynh học sinh trong suốt khóa học Mọi thông tin về kết quả học tập của sinh viên được thông báo hàng tới phụ huynh, giúp các bậc cha mẹ có thể theo dõi sát sao quá trình học của con

em mình Ngoài ra hệ thống có thể hỗ trợ việc tổ chức các chương trình game show liên quan đến vấn đề học thuật, tìm hiểu kiến thức xã hội

Trang 19

1.6 Cấu trúc bài báo cáo

Cấu trúc bài báo cáo gồm 5 chương:

Chương 1 Tổng quan về đề tài

Chương 2 Hệ thống giảng dạy trực tuyến (E-Learning) và công nghệ hỗ trợ

2.1 Tổng quan về E-learning

Định nghĩa về E-learning, tình hình phát triển và ứng dụng E-learning trong nước và thế giới, lợi ích cũng như hạn chế của E-learning

2.2 Giải quyết vấn đề còn gặp phải

Các vấn đề còn gặp phải tại các hệ thống E-Learning

2.3 Các công nghệ hỗ trợ

Giới thiệu cơ sở lý thuyết sử dụng các mô hình công nghệ mới

2.4 Tìm hiểu về công nghệ AI xử lý ảnh và ứng dụng trong hệ thống

Tìm hiểu về AI xử lý ảnh và tích hợp vào hệ thống

2.5 Cấu hình hệ thống, triển khai hệ thống lên Server

Cách cài đặt cấu hình ứng dụng để đưa lên Server

Chương 3 Khảo sát và phân tích hệ thống

3.1 Khảo sát các đối tượng trong hệ thống

Khảo sát các đối tượng tham gia vào hệ thống

3.2 Khảo sát phần mềm TuiElearning

Khảo sát chức năng, điểm mạnh, hạn chế của ứng dụng web hỗ trợ học và thi trực tuyến TuiElearning đã được phát triển

3.3 Thiết kế cơ sở dữ liệu

Thiết kế cơ sở dữ liệu tổng quát cho các module quản lý

Chương 4: Cài đặt hệ thống và kết quả đạt được

Các kết quả của việc cài đặt các module

Chương 5: Kết luận và hướng phát triển toàn hệ thống

Tổng kết, kết quả đã thực hiện được và hướng phát triển của đề tài

Trang 20

CHƯƠNG 2: HỆ THỐNG GIÁO DỤC TRỰC TUYẾN (E-LEARNING)

E-learning là tập hợp đa dạng các phương tiện, công nghệ kỹ thuật cho giáo dục như văn bản, âm thanh, hình ảnh, mô phỏng, trò chơi, phim, thư điện tử, các diễn đàn thảo luận, phòng hội thảo ảo… Để tạo ra các khoá học thật gần gũi với phương pháp dạy học truyền thống, các nhà cung cấp E-learning thường đưa ra các khoá học kết hợp các tính năng trên với các chức năng như: làm bài tập, lớp học có giáo viên, các khoá học tương tác…

E-Learning giúp cho cán bộ, giảng viên, sinh viên toàn trường hoàn toàn có thể học tập bất cứ thời gian nào, tại bất cứ đâu Với sinh viên, nó mở ra một môi trường học tập mới, dễ dàng, linh hoạt và chủ động hơn nhiều Với giảng viên hệ thống cho phép gửi bài giảng điện tử cho sinh viên qua email hoặc website của Trường trước khi lên lớp; tại lớp, giảng viên chỉ tập trung hướng dẫn sinh viên lĩnh hội những kiến thức quan trọng hoặc thảo luận thay vì thuyết trình toàn bộ nội dung bài giảng và đọc chép

E-Learning giúp việc học tập trở nên thú vị hơn, hấp dẫn hơn và thuyết phục hơn, đặc biệt là đối với các môn học khó và dễ nhàm chán nhờ các slide, hình ảnh, video và audio minh họa một cách sinh động

Cán bộ, giảng viên và sinh viên cần giao tiếp, cộng tác và chia xẻ kiến thức thì E-learning có thể giúp chúng ta thu được những kết quả chắc chắn và lâu dài, không chỉ thông qua nội dung mà đồng thời bằng cả cộng đồng mạng trực tuyến, hỗ trợ “học tập thông qua nhận xét và thảo luận”

E-Learning cho phép sinh viên tự quản lí được tiến trình học tập của mình theo cách phù hợp nhất Chúng ta có nhiều cách học khác nhau như đọc, xem, khám phá,

Trang 21

sinh viên có thể truy cập tới rất nhiều nguồn tài nguyên phục vụ cho học tập Như vậy, mỗi người đều có quyền chọn lựa hình thức học tập phù hợp nhất với khả năng và điều kiện của mình

Với E-Learning chúng ta trở nên năng động hơn Cán bộ của trường có thể dùng quỹ thời gian của mình để làm việc ngoài văn phòng (tại nhà, tại cơ sở đào tạo ở xa, quán cafe hay một địa điểm nào đó có kết nối internet) E-Learning đóng một vai trò rất quan trọng trong giảm thiểu lượng thời gian dành cho đào tạo cán bộ, giảng viên, sinh viên

Learning sẽ trở thành xu thế tất yếu trong nền kinh tế tri thức Hiện nay, Learning đang thu hút được sự quan tâm đặc biệt của các nước trên thế giới Rất nhiều

E-tổ chức, công ty hoạt động trong lĩnh vực E-Learning đã ra đời

2.1.2 Tình hình phát triển và ứng dụng E-Learning

Trên thế giới:

E-Learning phát triển không đồng đều tại các khu vực trên thế giới E-Learning phát triển mạnh nhất ở khu vực Bắc Mỹ Ở châu Âu, E-Learning cũng rất có triển vọng, trong khi đó châu Á lại là khu vực ứng dụng công nghệ này ít hơn Tại Mỹ, dạy và học điện tử đã nhận được sự ủng hộ và các chính sách trợ giúp của chính phủ ngay từ cuối những năm 90, có khoảng 80% trường Đại học sử dụng phương pháp đào tạo trực tuyến, với khoảng 35% các chứng chỉ trực tuyến được chính thức công nhận E-Learning không chỉ được triển khai ở các trường Đại học mà ngay ở các công ty việc xây dựng và triển khai E-Learning cũng diễn ra rất mạnh mẽ Có nhiều công ty thực hiện việc triển khai E-Learning thay cho phương thức đào tạo truyền thống và mang lại hiệu quả cao Do thị trường rộng lớn và sức thu hút mạnh mẽ của E-Learning nên hàng loạt công ty đã chuyển sang hướng nghiên cứu và xây dựng các giải pháp về E-Learning như: Click2Learn, Global Learning Systems, Smart Force… Năm 2002, thị trường này đã đạt 13,5 tỷ USD Năm 2006, đào tạo trực tuyến đạt tới 100 tỷ USD Theo ước tính của các chuyên gia, đến năm 2010 đào tạo trực tuyến trên toàn cầu sẽ đạt 500 tỷ USD Ở các nước công nghiệp phát triển (điển hình là Mỹ), đào tạo trực tuyến đang phát triển nhanh với doanh

số đạt 10,3 tỷ USD vào năm 2002 và đạt 83,1 tỷ USD vào năm 2006

Tại châu Á, E-Learning vẫn đang ở trong tình trạng sơ khai, chưa có nhiều thành

Trang 22

truyền thống của văn hoá châu Á, vấn đề ngôn ngữ không đồng nhất, cơ sở hạ tầng nghèo nàn và nền kinh tế lạc hậu ở một số quốc gia châu Á Tuy vậy, đó chỉ là rào cản tạm thời do nhu cầu đào tạo ở châu lục này đang trở nên ngày càng cao không thể đáp ứng được bởi các cơ sở giáo dục truyền thống buộc các quốc gia châu Á đang dần dần phải thừa nhận tiềm năng không thể chối cãi được mà E-Learning mang lại Đào tạo trực tuyến đang phát triển nhanh chóng, với doanh thu tăng trưởng 25% mỗi năm Tại Singapore, khoảng 87% trường Đại học sử dụng phương pháp đào tạo trực tuyến Tại Hàn Quốc, đến nay đã có 9 trường Đại học trực tuyến trên mạng hính phủ xem đây như một công cụ để giảm tải chi phí dạy kèm tại các trung tâm luyện thi, qua đó góp phần bình đẳng trong giáo dục Cùng với đó, kênh truyền hình học đường được mở ra cùng với website cung cấp các bài giảng ôn thi đại học miễn phí, thu hút một số lượng rất lớn học sinh tham gia Một số giáo viên, giảng viên giỏi ở Hàn Quốc cho rằng e-learning mang lại cơ hội và sự công bằng hơn cho giáo dục bởi những học sinh nghèo có thể tham gia vào khóa luyện thi của những thầy giỏi với mức học phí rất ít so với lớp luyện thi thông thường Nhật Bản là nước có ứng dụng E-Learning nhiều nhất so với các nước khác trong khu vực Môi trường ứng dụng E-Learning chủ yếu là trong các công ty lớn, các hãng sản xuất, các doanh nghiệp… và dùng để đào tạo nhân viên

Tại Việt Nam:

Trong năm 2013, năm thị trường tự học trực tuyến (Self-paced E-Learning) lớn nhất châu Á là Trung Quốc, Hàn Quốc, Nhật, Ấn Độ và Úc (Ambient Insight 2014).Về tốc độ tăng trưởng, Myanmar là quốc gia có tốc độ tăng trưởng cao nhất, đạt 50,2% / năm giai đoạn 2013-2018.Việt Nam đứng thứ tư về tốc độ tăng trưởng, khoảng 40%/năm giai đoạn 2013-2018

Tại Việt Nam, giáo dục là một trong những ngành được ưu tiên cao nhất và được hưởng các nguồn đầu tư cao nhất nhằm nâng cao chất lượng giáo dục trong những năm tới Với định hướng đó, Việt Nam đã quyết định đưa công nghệ thông tin vào tất cả mọi cấp độ giáo dục nhằm đổi mới phương pháp dạy học, nâng cao chất lượng học tập trong tất cả các môn học và trang bị cho lớp trẻ đầy đủ các công cụ và kỹ năng cho kỷ nguyên thông tin Cụ thể, Bộ Giáo dục và Đào tạo phối hợp với các doanh nghiệp triển khai E-Learning và thi trực tuyến Chẳng hạn như cuộc thi “Thiết kế hồ sơ bài giảng điện tử E-Learning” năm học 2009-2010; hay cuộc thi giải toán qua mạng tại

Trang 23

website Violympic.vn, hay cuộc thi Olympic tiếng Anh (IOE) trên mạng xã hội

Go – ioe.go.vn

Những năm trước đây, số lượng website E-Learning ở Việt Nam rất ít và chưa thực sự phải là những giải pháp E-Learning tổng thể cũng như chưa tuân theo các chuẩn cho E-Learning trên thế giới Từ năm 2006, việc triển khai ứng dụng E-Learning đã có nhiều khởi sắc, một phần là được sự quan tâm của chính phủ, một phần là sự nỗ lực của các doanh nghiệp CNTT nghiên cứu, triển khai E-Learning

Một số website E-Learning ở Việt Nam:

 2007: Trung tâm Học Mãi ra mắt website luyện thi đại học, bồi dưỡng văn hóa trực

tuyến Hocmai.vn

 8-2012: Website E-Learning dành cho tiểu học đầu tiên ra mắt: Chamhoc.vn

 Cuối năm 2012: VNG ra mắt website E-Learning Zuni.vn, cung cấp bài học và luyện

thi các cấp, ngoại ngữ, kiến thức chuyên môn và kỹ năng mềm

 5-2013: Viettel ra mắt trang E-Learning viettelstudy.vn , cung cấp các bài học ngoại

ngữ, luyện thi các cấp và kỹ năng mềm

 6-2014: Báo Tuổi Trẻ cùng IIG ra mắt website E-Learning.tuoitre.vn , cung cấp các

là cung cấp khóa học ngoại ngữ, các chương trình ôn thi/bài giảng kiến thức phổ thông (cấp 2, cấp 3) và khóa học kỹ năng Tương ứng với bốn nhóm dịch vụ là các nhóm người dùng

Trang 24

2.1.3 Lợi ích và hạn chế của E-learning:

 Lợi ích:

Hỗ trợ các “đối tượng học” theo yêu cầu cá nhân hoá việc học Nội dung học tập

đã được phân chia thành các đối tượng tri thức riêng biệt theo từng lĩnh vực, ngành nghề

rõ ràng Điều này tạo ra tính mềm dẻo cao hơn, giúp cho sinh viên có thể lựa chọn những khoá học phù hợp với nhu cầu học tập của mình Sinh viên có thể truy cập những đối tượng này qua các đường dẫn đã được xác định trước, sau đó sẽ tự tạo cho mình các kế hoạch học tập, thực hành hay sử dụng các phương tiện tìm kiếm để tìm ra các chủ đề theo yêu cầu

Nội dung môn học được cập nhật, phân phối dễ dàng, nhanh chóng Với nhịp độ phát triển nhanh chóng của trình độ kỹ thuật công nghệ, các chương trình đào tạo cần được thay đổi, cập nhật thường xuyên để phù hợp với thông tin, kiến thức của từng giai đoạn phát triển của thời đại Với phương thức đào tạo truyền thống và những phương thức đào tạo khác, muốn thay đổi nội dung bài học thì các tài liệu phải được sao chép lại và phân bố lại cho tất cả các sinh viên Đối với hệ thống E-Learning, việc đó hoàn toàn đơn giản vì để cập nhật nội dung môn học chỉ cần sao chép các tập tin được cập nhật từ một máy tính địa phương (hoặc các phương tiện khác) tới máy chủ Tất cả sinh viên sẽ có được phiên bản mới nhất trong máy tính trong lần truy cập sau

Nội dung môn học được cập nhật, phân phối dễ dàng, nhanh chóng Với nhịp độ phát triển nhanh chóng của trình độ kỹ thuật công nghệ, các chương trình đào tạo cần

Hình 2.1 Top 10 trang edTech Việt Nam theo lượng truy cập

Trang 25

được thay đổi, cập nhật thường xuyên để phù hợp với thông tin, kiến thức của từng giai đoạn phát triển của thời đại Với phương thức đào tạo truyền thống và những phương thức đào tạo khác, muốn thay đổi nội dung bài học thì các tài liệu phải được sao chép lại và phân bố lại cho tất cả các sinh viên Đối với hệ thống E-Learning, việc đó hoàn toàn đơn giản vì để cập nhật nội dung môn học chỉ cần sao chép các tập tin được cập nhật từ một máy tính địa phương (hoặc các phương tiện khác) tới máy chủ Tất cả sinh viên sẽ có được phiên bản mới nhất trong máy tính trong lần truy cập sau

Giáo viên có thể theo dõi sinh viên dễ dàng E-Learning cho phép dữ liệu được

tự động lưu trên máy chủ, thông tin này có thể được thay thế từ phía người truy cập vào khoá học Giáo viên có thể đánh giá các sinh viên thông qua cách trả lời các câu hỏi kiểm tra và thời gian trả lời các câu hỏi đó Điều này cũng giúp đánh giá một cách công bằng học lực của các sinh viên

E-Learning giúp giảm chi phí học tập Bằng việc sử dụng các giải pháp học tập qua mạng, các tổ chức bao gồm cả trường học có thể giảm được các chi phí tiền học nhờ tiền lương phải trả cho giáo viên, tiền thuê phòng học, chi phí đi lại và ăn ở của sinh viên Đối với những người thuộc các tổ chức này, học tập qua mạng giúp họ không mất nhiều thời gian, công sức tiền bạc trong khi di chuyển, đi lại, tổ chức lớp học,… góp phần tăng hiệu quả công việc Thêm vào đó, giá cả các thiết bị công nghệ thông tin hiện nay cũng tương đối thấp, việc trang bị cho mình những chiếc máy tính có thể truy cập vào Internet và các phần mềm trình duyệt miễn phí để thực hiện việc học tập qua mạng

là hết sức dễ dàng E-Learning còn giúp làm giảm tổng thời gian cần thiết cho việc học Theo thống kê trung bình, lượng thời gian cần thiết cho việc học giảm từ 40-60%

Hỗ trợ triển khai đào tạo từ xa Giáo viên và sinh viên có thể truy cập vào khoá học ở bất cứ chỗ nào, trong bất cứ thời điểm nào mà không nhất thiết phải trùng nhau, chỉ cần có máy tính có thể kết nối Internet

 Hạn chế:

Học tập theo phương pháp E-Learning đòi hỏi người học phải có tinh thần tự học,

do ảnh hưởng của cách học thụ động truyền thống, tâm lí học phải có thầy (không thầy

đố mày làm nên), nội dung quá tải tại trường… dẫn đến việc tham gia học E-Learning chưa trở thành động lực học tập Nhiều sinh viên nghèo, nhất là ở vùng sâu vùng xa,

Trang 26

chưa thể trang bị máy vi tính kết nối Internet, nhiều thông tin trên mạng Internet dẫn đến gia đình lo lắng khi con em mình vào mạng cũng là lí do hạn chế E-Learning

Đòi hỏi phải có hạ tầng CNTT đủ mạnh, có đường truyền cáp quang, xây dựng Website trường học và Website E-Learning hoàn chỉnh chi phí cao, nếu không tận dụng hết khả năng của Web sẽ gây lãng phí

2.2 Phân tích một số hệ thống E-learning

Hiện nay, E-learning đang là một xu hướng giáo dục mới của thế giới Theo Cyber Universities, gần 90% trường Đại học tại Singapore sử dụng phương pháp đào tạo trực tuyến và ở Mỹ con số này là hơn 80% Một số công cụ phục vụ cho việc giảng dạy E-learning mã nguồn mở cũng như mã nguồn đóng đang có trên thị trường như Moodle, Blackboard, Edmodo, Dokeos

Moodle là hệ thống quản lý các khóa học trực tuyến mã nguồn mở được phát triển trên ngôn ngữ lập trình PHP và hệ quản trị cơ sở dữ liệu My SQL Hiện nay Moodle được phát triển tương thích với hầu hết các hệ cơ sở dữ liệu như SQLite, MS SQL, PostgreSQL, và cả ông lớn Oracle Theo thống kê gần đây nhất (28/12/2012) hiện trên thế giới có 72.094 site moodle đang hoạt động trên 223 quốc gia Tại Việt Nam hiện nay có 406 tổ chức, cá nhân sử dụng Moodle (chưa kể những website không đăng ký sử dụng với nhà cung cấp nguồn mở Moodle) trong đó phần lớn là các trường đại học và công ty có nhu cầu training thường xuyên cho nhân viên Với những ưu điểm như cách

sử dụng đơn giản, hiệu quả, dễ dùng, dễ cài đặt và cấu hình, hỗ trợ nhiều tập tin, bảo mật, phân quyền, quản trị hệ thống có thể tùy chỉnh vai trò của người dùng.Với những

ưu điểm này, Moodle được xem là một trong những hệ thống E-learning được hoàn thiện

và phổ biến hiện nay Bên cạnh đó Moodle cũng còn tồn tại một số hạn chế như: Tương tác giữa giáo viên và sinh viên còn kém (Việc giao tiếp giữa sinh viên và giáo viên chưa được truyền tải một cách kịp thời) Việc theo dõi quá trình học tập của sinh viên thông qua diễn đàn, bài kiểm tra,… còn nhiều thiếu xót dẫn đến việc đánh giá khả năng học tập của sinh viên nhiều khi không khách quan và thiếu chính xác Sinh viên mới tham gia vào học phải thông thạo các kỹ năng để sử dụng

Blackboard là một hệ thống quản lý học tập (Learning Management System) được sử dụng rộng rãi Blackboard là một sản phẩm cung cấp cho các doanh nghiệp và các nhà giáo dục khả năng tiếp cận và dạy cho nhân viên hoặc những người học của họ

Trang 27

thông qua một môi trường ảo Phần mềm cung cấp một hệ thống quản lý khóa học, kiến trúc mở tùy chỉnh, và thiết kế khả năng mở rộng giúp người dùng hợp nhất các hệ thống với hệ thống thông tin học sinh và quá trình xác thực Tuy nhiên hạn chế của Blackboard chính là chi phí rất đắt để triển khai và hệ thống Blackboard phát triển trên nền tảng tương đối lạc hậu

Edmodo là một nền tảng kiến thức xã hội cho sinh viên, học sinh, giáo viên trong các trường học Edmodo, giáo viên có thể tiếp tục thảo luận lớp học trực tuyến, cung cấp các cuộc thăm dò để đánh giá sự hiểu biết của sinh viên và giải thưởng phù hiệu cho học sinh dựa trên các hoạt động của học sinh Edmodo kết nối tất cả các giáo viên, phụ huynh, học sinh, và các quản trị viên trong trường hay học khu của bạn với nhau để cải thiện mạng lưới học tập chuyên nghiệp, được hỗ trợ bởi một cộng đồng toàn cầu của các nhà giáo dục Tuy nhiên Edmodo vẫn còn khá hạn chế về chức năng nếu so với Moodle, không cho phép người dùng tùy biến và chuyển đổi vai trò Mỗi nhóm học chỉ cho phép giáo viên dạy một môn học, gây khó khăn cho người dùng

Dokeos 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 là Course Management System hoặc VLE-Virtual Learning Environment) mã nguồn mở (do đó miễn phí và có thể chỉnh sửa được mã nguồn), cho phép tạo các khóa học trên mạng Internet hay các website học tập trực tuyến Dokeos rất dễ dùng với giao diện trực quan, giáo viên chỉ mất một thời gian ngắn để làm quen

và có thể sử dụng thành thạo Giáo viên có thể tự cài và nâng cấp Dokeos o thiết kế dựa trên module nên Dokeos cho phép bạn chỉnh sửa giao diện bằng cách dùng các theme

có trước hoặc tạo thêm một theme mới cho riêng mình Dokeos phù hợp với nhiều cấp học và hình thức đào tạo: phổ thông, đại học/cao đẳng, không chính quy, trong các tổ chức/công ty Dokeos phát triển dựa trên 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 Có thể dùng Dokeos với các database mã nguồn mở như MySQL hoặc PostgreSQL Đặc biệt Dokeos không chiếm nhiều tài nguyên hệ thống Dokeos còn tồn tại một số nhược điểm: Nhược điểm Dokeos là phần mềm mã nguồn mở được tách ra từ Croline nên nó tương đối mới với cộng đồng mã nguồn mở Cộng đồng phát triển của Dokeos cũng không mạnh khó về hỗ trợ kĩ thuật Thư viện hỗ trợ cho Dokeos cũng không nhiều và phong phú

Trang 28

- Sử dụng hệ thống giao diện tùy chỉnh, thân thiện phải trả phí cao

- Công nghệ được sử dụng khá cũ, lạc hậu

- Việc đưa hệ thống vào sử dụng cần có sự hỗ trợ nhiều để tập huấn sử dụng cho các đối tượng không am hiểu nhiều về E-Learning

- Chưa nổi bật được vấn đề chống gian lận trong thi cử

Hướng nghiên cứu và phát triển:

- Hạ thấp chi phí tối đa cho việc xây dựng hệ thống

- Xây dựng hệ thống giao diện thân thiện, người dùng không cần phải tập huấn sử

dụng cũng có thể sử dụng một cách thành thạo

- Sử dụng các công nghệ hiện đại đang là giải pháp của nhiều công ty phần mềm trong

và ngoài nước

- Xây dựng hệ thống hướng đến người dùng là chủ yếu, tăng cường việc trao đổi thông

tin giữa các đối tượng với nhau

- Chú trọng vấn đề gian lận trong thi cử và đưa ra giải pháp thích hợp

- Xây dựng hệ thống tracking mail tự động cho biết người nhận được mail đã kiểm tra

và nhận được mail của hệ thống hay chưa

- Phân tích mức độ của bộ đề thông qua việc làm bài của sinh viên giúp giáo viên nắm

 Meteor hướng tới các đối tượng không giỏi lập trình Do đó, Meteor rất dễ học dễ làm, tài liệu về Meteor cũng rất phong phú và dễ tìm

 Nhanh chóng tạo ra sản phẩm, được các công ty start-up, các doanh nghiệp nhỏ ưu

 Có vô số module đã viết sẵn, chỉ cần gắn vào và sử dụng Ví dụ việc đăng nhập, phân quyền khá phức tạp trong C#, Java, … trong Meteor chỉ cần gắn module vào, chỉnh sửa một chút là được

Trang 29

 Tích hợp nhiều công nghệ như: Node.js, Express, MongoDB, WebSocket, Phonegap

và realtime

 Code ít, được nhiều, Deploy rất nhanh Chỉ cần code một lần, đã có thể deploy nó thành một ứng dụng web, hoặc xây dựng nó thành một ứng dụng mobile trên Android, IOS

 Nhược điểm:

 Chỉ mới hỗ trợ MongoDB làm Database Engine

 View Engine Blaze hơi khó sử dụng Hiện tại ta có thể thay thế bằng AngularJS

 SEO cũng chưa tốt, do Meteor tập trung vào phát triển ứng dụng real time, tương tác cao Nếu cần làm trang web bán hàng, blog, trang tin tức, PHP & Joomla hay WordPress vẫn là lựa chọn hàng đầu

 Module nhiều nhưng tài liệu hướng dẫn không rõ ràng (Tình trạng tương tự như npm của Nodejs, có rất nhiều module nhưng tài liệu hướng dẫn còn rất mơ hồ, khó sử dụng)

2.3.1.2 Cấu trúc của một dự án Meteor

 Giới thiệu về import và export:

 Import tệp thông thường

// import CSS from absolute path

import moment from 'moment';

// default import from npm

Trang 30

 Sử dụng require (tương tự như import):

export const listRenderHold = LaunchScreen.hold(); // named export

export { Todos }; // named export

export default Lists; // default export

export default new Collection('lists'); // default export

import/

- startup/ #Thư mục chứa các tệp thiết lập khi ứng dụng khởi chạy

- client/ #Thư mục chứa những thiết lập phía client

- index.js #File chứa các thiết lập chính cho client

- routes.js #File thiết lập tất cả các routes của hệ thống

- useraccounts-configuration.js #File thiết lập tài khoản người dùng

- server/

- fixtures.js #File thêm vào database một số dữ liệu nền khi ứng dụng khởi chạy

- index.js #File khởi động máy chủ nhập tệp thông qua một điểm nhập chỉ mục duy nhất

- api/ #Thư mục chứa các collection của ứng dụng

- lists/

- server/

- publications.js #Danh sách tất cả publications có liên quan

- publications.tests.js #Danh sách các publications test

- lists.tests.js #Danh sách các tệp test của collection

Trang 31

2.3.1.3 Một số package meteor được sử dụng

 Để cài đặt gõ lệnh: meteor add session

- lists.js #Khai báo danh sách các collection

- methods.js #Danh sách các hàm có liên quan

- methods.tests.js #Danh sách các test của hàm

- ui/

- components/ #Thư mục chứa các component tương ứng

- import/

- layouts/ #Thành phần chứa bố cục và các component

- pages/ #Định tuyến các trang

- client/ #Phía client

- main.js #tất cả chức năng của client được import vào đây

- server/ #Phía server

- main.js #tất cả chức năng của server được import vào đây

Trang 32

2.3.2 Tìm hiểu về MongoDB

2.3.2.1 Giới thiệu về MongoDB

MongoDB là một cơ sở dữ liệu mã nguồn mở thuộc họ nhà NoSQL được phát hành sử dụng miễn phí bởi công ty MongoDB Với những ý tưởng lưu trữ mới MongoDB hoạt động trên mọi hệ điều hành phổ biến hiện nay như: Windows, Linux,

OS X và hỗ trợ đầy đủ các driver cho các ngôn ngữ lập trình để giao tiếp với chúng một cách dễ dàng nhất

Mỗi một table (bảng dữ liệu) trong SQL sử dụng thì trong MongoDB gọi là collection (tập hợp) Mỗi một record (bản ghi) trong MongoDB được gọi là document (tài liệu)

 Một bản ghi của MongoDB được lưu trữ như thế nào?

Một bản ghi của MongoDB được lưu trữ dưới dạng document (tài liệu), nó được ghi xuống với cấu trúc field (trường) và value (giá trị) Giống như một đối tượng JSON có dạng như sau:

Nói một cách dễ hiểu thì mỗi một bản ghi của MongoDB là một mảng dữ liệu riêng biệt bao gồm các cặp key, value khác nhau do đó cách lưu trữ của MongoDB là phi cấu trúc

dữ liệu

 Các định nghĩa trong SQL được ánh xạ sang MongoDB như bảng sau:

Bảng 2.1 Các định nghĩa trong SQL ánh xạ sang MongoDB

SQL Terms/Concepts MongoDB Terms/Concepts

Hình 2.2 Lưu trữ bản ghi trong MongoDB

Trang 33

column field

primary key (Khóa Chính) khóa chính được khởi tạo tự động là _id

2.3.2.2 Ưu và nhược điểm của MongoDB

 Không có cơ chế transaction (giao dịch) để phục vụ các ứng dụng ngân hàng

 Dữ liệu được caching, lấy RAM làm trọng tâm hoạt động vì vậy khi hoạt động yêu cầu một bộ nhớ RAM lớn

 Mọi thay đổi về dữ liệu mặc định đều chưa được ghi xuống ổ cứng ngay lập tức vì vậy khả năng bị mất dữ liệu từ nguyên nhân mất điện đột xuất là rất cao

Hình 2.3 Mô tả cấu trúc dữ liệu của MongoDB

Trang 34

2.3.3 Tìm hiểu về React và mô hình Redux

2.3.3.1 Ưu và nhược điểm của React (ReactJS)

 Ưu điểm của React:

 ReactJS giúp việc viết các đoạn code JS dễ dàng hơn: Với cú pháp đặc biệt là JSX (Javascript mở rộng) cho phép kết hợp giữa mã HTML và Javascript Có thể thêm vào các đoạn HTML vào trong hàm render mà không cần phải nối chuỗi Đây là đặc tính thú vị của ReactJS Nó sẽ chuyển đổi các đoạn HTML thành các hàm khởi tạo đối tượng HTML bằng bộ biến đổi JSX

 Có nhiều công cụ phát triển: Các ứng dụng mở rộng của Chrome dành cho ReactJS giúp debug code dễ dàng hơn

 Render tầng server: Một trong những vấn đề với các ứng dụng đơn trang là tối ưu SEO và thời gian tải trang Nếu tất cả việc xây dựng và hiển thị trang đều thực hiện

ở client, thì người dung sẽ phải chờ cho trang được khởi tạo và hiển thị lên Điều này thực tế là chậm ReactJS là một thư viện component, nó có thể vừa render ở ngoài trình duyệt sử dụng DOM và cũng có thể render bằng các chuỗi HTML mà server trả về

 Dễ dàng viết UI Testcases

 Hiệu năng cao đối với các ứng dụng có dữ liệu thay đổi liên tục, dễ dàng cho bảo trì

và sửa lỗi

 Nhược điểm của React:

 Reactjs chỉ phục vụ cho tầng View React chỉ là View Library nó không phải là một MVC framework như những framework khác Đây chỉ là thư viện của Facebook giúp render ra phần view Vì thế React sẽ không có phần Model và Controller, mà phải kết hợp với các thư viện khác React cũng sẽ không có 2-way binding hay là Ajax

 Tích hợp ReactJS vào các framework MVC truyền thống yêu cầu cần phải cấu hình lại

 React khá nặng nếu so với các framework khác React có kích thước tương tương với Angular (Khoảng 35kb so với 39kb của Angular) Trong khi đó Angular là một framework hoàn chỉnh

 Khó tiếp cận cho người mới học Web

Trang 35

2.3.3.2 Giới thiệu về Redux

Redux là một thư viện Javascript giúp tạo ra một lớp quản lý trạng thái của ứng dụng, được dựa trên nền tảng tư tưởng của kiến trúc Flux do Facebook giới thiệu, redux thường kết hợp hoàn hảo với React

 Cấu trúc của Redux: gồm 4 phần

- Action: là những đối tượng mô tả cách chúng ta muốn thay đổi state trong store

Hình 2.4 Mô tả về Redux

Hình 2.5 Nguyên lý hoạt động của Redux

Trang 36

- Reducer: Khác với actions có chức năng là mô tả những thứ gì đã xảy ra, nó không chỉ rõ state nào của response thay đổi, mà việc này là do reducers đảm nhiệm, nó là nơi xác định state sẽ thay đổi như thế nào

- Store: Store là 1 object lưu trữ state của toàn bộ ứng dụng có 3 phương thức sau:

 getState(): Giúp lấy ra state hiện tại

 dispatch(action): Thực hiện gọi 1 action

 subscrible(listener): Nó có vai trò cực quan trọng, luôn luôn lắng nghe xem có thay đổi gì không rồi ngay lập tức cập nhật ra View

 View: hiển thị dữ liệu được cung cấp bởi store

2.3.4 Tìm hiểu về Webpack

2.3.4.1 Giới thiệu về Webpack

Webpack là một module bundler nó nhận các module cùng với các dependencies và khởi tạo ra các static assets tương ứng

2.3.4.2 Mục tiêu

Chia các cây dependency thành các chunk được load khi cần thiết

 Thời gian init ngắn hơn

 Mỗi static asset đểu có thể trở thành một module

 Khả năng tích hợp 3rd-party library như module

 Khả năng custom gần như mọi thành phần của module bundler

 Phù hợp với các dự án lớn

2.3.5 Tìm hiểu về Next.js

2.3.5.1 Giới thiệu về Next.js

Next.js là một framework cho phép xây dựng ứng dụng ReactJS theo hướng server-side rendering

Như đã biết, các ứng dụng web SPA (single-page-application) được xây dựng nên từ các framework phổ biến hiện nay như reactjs, angular hay vuejs là các ứng dụng client-side rendering, giả sử khi ta mở một ứng dụng reactjs hay vuejs, ta sẽ nhận về từ server một file html "rỗng" với chỉ một phần tử DOM duy nhất, thường là một thẻ div

và một file bundle.js chứa toàn bộ Ứng dụng, sau đó nội dung sẽ được render bằng trình biên dịch của javascript trên trình duyêt, sau đó ta sẽ không cần gửi yêu cầu thêm tới server toàn bộ file html như trước, mà chỉ những dữ liệu cần thiết , thường ở dạng tập

Trang 37

kể Khi xây dựng ứng dụng front-end với giao diện được quản lý bởi React, điểm yếu của nó là chỉ client-side-render, nên việc SEO sẽ gặp khó khăn (có thể khắc phục bằng

hệ thống ở server có khả năng xử lý javascript như Prerender.io), Next.js giúp chúng ta

có tính năng Server-Side Rendering rất dễ dàng, ngoài ra còn có các tính năng đặc trưng (thừa kế từ Babel và Webpack):

 Hot Module Replacement (HMR) – Webpack

 Đóng gói bundle (có code split) và chuyển mã nguồn (Babel ví dụ từ ES6 -> ES5 cho trình duyệt web hiểu)

 Tạo chỉ mục (indexing) cho các tập tin trong thư mục pages

 Phục vụ static files, với Next.js thì không cần webserver khác (Có thể dùng Nginx làm reversed proxy)

2.3.5.2 Các tính năng của Next.js

 Mặc định là Server Side Rendering

 Tự động phân chia code để load trang nhanh hơn

 Client side routing rất đơn giản (với nền tảng là page)

 Hỗ trợ Webpack môi trường dev hỗ trợ Hot Module Replacement (HMR)

 Có thể cài đặt với Express hay bất cứ Node.js HTTP server nào

 Có thể tuỳ chỉnh tối ưu với Babel và Webpack configurations

2.3.6 Tìm hiểu về thư viện giao diện Ant Design

2.3.6.1 Giới thiệu về Ant Design

Ant (Github) là tập hợp các components của React được xây dựng theo chuẩn thiết kế của Ant UED Team Ant cung cấp hầu hết các component thông dụng trong ứng dụng web hiện đại, như Layout, Button, Icon, DatePicket,… Bên cạnh đó Ant cũng có những component riêng như LocaleProvider cho phép bạn thay đổi ngôn ngữ trên toàn ứng dụng

2.3.6.2 Cách cài đặt và sử dụng

Khởi tạo dự án React và tiến hành cài đặt thư viện Ant Design theo cú pháp:

$ npm install antd save

Khai báo thư viện trong dự án:

import 'antd/dist/antd.css';

Trang 38

import { DatePicker } from 'antd';

ReactDOM.render(<DatePicker />, mountNode);

2.4 Tìm hiểu về công nghệ AI xử lý ảnh và ứng dụng trong hệ thống

2.4.1 Thư viện OpenCV

Thư viện OpenCV (Open Computer Vision library) được phát triển bởi Intel OpenCV là một thư viện mã nguồn mở phục vụ cho việc nghiên cứu hay phát triển về thị giác máy tính, tối ưu hóa xử lí các ứng dụng trong thời gian thực OpenCV Giúp cho việc xây dựng các ứng dụng xử lí ảnh, thị giác máy tính một cách nhanh hơn Thư viện có hơn 500 hàm khác nhau và hơn

2500 các thuật toán đã được tối ưu về hình ảnh, được chia làm nhiều phần phục vụ cho các mục đích khác nhau

OpenCV được viết bằng ngôn ngữ C và C++, được thiết kế để chạy trên nhiều nền tảng khác nhau nghĩa là nó có thể chạy trên hệ điều hành Windows, Linux, Mac, iOS

Hình 2.6 Kiến trúc thư viện OpenCV

 Tổ chức thư viện OpenCV bao gồm 4 mô-đun chính và 2 mô-đun mở rộng:

CV & CVAUX: hỗ trợ các chức năng cấp cao như nhận dạng khuôn mặt, hiệu chỉnh

camera, xử lí ảnh, phân tích chuyển động Trong đó CV là mô-đun ổn định, còn CVAUX chứa các chức năng thử nghiệm để đưa vào phiên bản kế tiếp

Trang 39

CxCore: tổ chức dữ liệu cơ sở, thực hiện các thuật toán (phép tính ma trận, tính

toán), hỗ trợ chuẩn dữ liệu XML, các thao tác vẽ chú thích

HighGUI: giúp tạo nhanh giao diện đơn giản và hỗ trợ truy xuất ảnh/phim từ file

hoặc thiết bị ngoại vi

Hai mô-đun còn lại là MLL và IPP ít được sử dụng hơn Mô-đun MLL (Machine

Learning Library) cung cấp khả năng tự học của thuật toán với chức năng thống kê

phân loại và các thuật toán phân nhóm IPP là mô-đun thương mại cung cấp các

đoạn mã mở rộng đã được tối ưu hóa cho phần cứng của Intel giúp tăng tốc các ứng dụng lớn

Các chức năng của OpenCV tập trung vào thu thập ảnh, xử lí ảnh và các thuật toán phân tích dữ liệu ảnh, bao gồm:

 Truy xuất ảnh và phim: đọc ảnh số từ camera, từ file, ghi ảnh và phim

 Cấu trúc dữ liệu ảnh số và các dữ liệu hỗ trợ cần thiết: ma trận, vector, chuỗi, xâu và cây

 Xử lí ảnh căn bản: các bộ lọc có sẵn, tìm chi tiết cạnh, góc, chỉnh đổi màu, phóng to thu nhỏ, và hiệu chỉnh histograms

 Phân tích dữ liệu ảnh: nhận dạng thực thể, theo dõi các chi tiết và phân tích chuyển động

 Chức năng vẽ, chú thích lên ảnh

2.4.2 Thư viện học máy Sklearn

Scikit-learn (viết tắt là sklearn) là một thư viện mã nguồn mở dành cho học máy, rất mạnh mẽ và thông dụng với cộng đồng Python, được thiết kế trên nền NumPy và SciPy Scikit-learn chứa hầu hết các thuật toán machine learning hiện đại nhất, đi kèm với documentations, luôn được cập nhật

Những ưu điểm của thư viện sklearn

 Hỗ trợ hầu hết các thuật toán của machine learning một cách đơn giản, hiệu quả mà chúng ta không cần phải mất công ngồi cài đặt lại

 Có tài liệu hướng dẫn sử dụng

 Độ tin cậy cao do scikit-learn được xây dựng bởi các chuyên gia hàng đầu

 Có nguồn dữ liệu phong phú: iris, digit,…

Trang 40

2.5 Cấu hình hệ thống, triển khai hệ thống lên Server

2.5.1 Giới thiệu về Nginx

Nginx là một máy chủ proxy ngược mã nguồn mở (open source reverse proxy server) sử dụng phổ biến giao thức HTTP, HTTPS, SMTP, POP3 và IMAP , cũng như dùng làm cân bằng tải (load balancer), HTTP cache và máy chủ web (web server) Dự

án Nginx tập trung vào việc phục vụ số lượng kết nối đồng thời lớn (high concurrency), hiệu suất cao và sử dụng bộ nhớ thấp Nginx được biết đến bởi sự ổn định cao, nhiều tính năng, cấu hình đơn giản và tiết kiệm tài nguyên Nginx hiện đang được sử dụng bởi các dịch vụ web có lượng truy vấn cực cao như là Netflix, Hulu, Pinterest, CloudFlare, Airbnb, WordPress.com, GitHub, SoundCloud, Zynga, Eventbrite, Zappos, Media Temple, Heroku,…

Không giống như các chương trình máy chủ khác, Nginx không dựa vào luồng (threads) để xử lý các truy vấn (request) Thay vào đó, Nginx sử dụng kiến trúc hướng

sự kiện (event-driven) không đồng bộ (asynchronous) và có khả năng mở rộng Ngay cả khi không cần phải xử lý hàng ngàn truy vấn đồng thời, thì vẫn nên sử dụng Nginx do hiệu suất cao và yêu cầu bộ nhớ thấp của Nginx so với Apache Nginx có thể được sử dụng trên VPS cấu hình thấp nhất cho đến một hệ thống rộng lớn như Cloud Server với nhiều Clusters

Những tính năng của máy chủ HTTP Nginx:

 Có khả năng xử lý hơn 10.000 kết nối cùng lúc với bộ nhớ thấp

 Phục vụ tập tin tĩnh (static files) và lập chỉ mục tập tin

 Tăng tốc proxy ngược bằng bộ nhớ đệm (cache); cân bằng tải đơn giản và khả năng chịu lỗi

 Hỗ trợ tăng tốc với bộ nhớ đệm của FastCGI, uwsgi, SCGI, và các máy chủ memcached

 Kiến trúc modular; tăng tốc độ nạp trang bằng nén gzip tự động

 Hỗ trợ mã hoá SSL và TLS

 Cấu hình linh hoạt; lưu lại nhật ký truy vấn

 Chuyển hướng lỗi 3XX-5XX

 Rewrite URL (URL rewriting) dùng regular expressions

 Hạn chế tỷ lệ đáp ứng truy vấn

Ngày đăng: 25/12/2018, 23:52

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w