1. Trang chủ
  2. » Tất cả

Hệ hỗ trợ kiểm tra, đánh giá kiến thức về nhập môn lập trình

112 6 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Hệ hỗ trợ kiểm tra, đánh giá kiến thức về nhập môn lập trình
Tác giả Nguyễn Trường Hải
Người hướng dẫn PGS. TS Đỗ Văn Nhơn
Trường học Trường Đại Học Mở Thành Phố Hồ Chí Minh
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2020
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 112
Dung lượng 16,76 MB

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

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI (13)
    • 1.1. Tổng quan và đặt vấn đề (13)
    • 1.2. Mục tiêu nghiên cứu và phạm vi đề tài (15)
    • 1.3. Phương pháp và ý nghĩa luận văn (18)
    • 1.4. Kết cấu luận văn (18)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (20)
    • 2.1. Biểu diễn tri thức và hệ cơ sở tri thức [4] [8] [10] (20)
    • 2.2. Các phương pháp biểu diễn tri thức cơ bản [4] [8] (21)
      • 2.2.1. Phương pháp biểu diễn dựa trên logic hình thức (22)
      • 2.2.2. Phương pháp biểu diễn tri thức thủ tục (hệ luật dẫn) (22)
      • 2.2.3. Phương pháp biểu diễn tri thức dạng mạng (23)
      • 2.2.4. Phương pháp biểu diễn tri thức theo cấu trúc (24)
    • 2.3. Phương pháp biểu diễn tri thức dựa trên Ontology (24)
      • 2.3.1. Một số vấn đề cơ bản về ontology (24)
      • 2.3.2. Các thành phần cơ bản của ontology [4] [8] (26)
      • 2.3.3. Phân loại ontology [4] [8] (27)
    • 2.4. Phương pháp kiểm tra, đánh giá bằng trắc nghiệm khách quan (28)
      • 2.4.1. Các phương pháp kiểm tra, đánh giá kết quả học tập thường dùng (28)
      • 2.4.2. Đôi nét về phương pháp trắc nghiệm khách quan [15] [19] (30)
      • 2.4.3. Độ khó của câu trắc nghiệm và độ khó của đề kiểm tra, đánh giá (32)
  • CHƯƠNG 3: THIẾT KẾ CƠ SỞ TRI THỨC, MÔ HÌNH HÓA YÊU CẦU VÀ XÂY DỰNG THUẬT GIẢI (34)
    • 3.1. Mô hình tri thức nhập môn lập trình tiếp cận Ontology (34)
    • 3.2. Mô hình cho ngân hàng câu hỏi trắc nghiệm và việc thu thập (37)
      • 3.2.1. Mô hình của 1 câu hỏi trắc nghiệm (37)
      • 3.2.2. Mô hình ngân hàng câu hỏi trắc nghiệm (38)
      • 3.2.3. Thu thập và xây dựng ngân hàng câu hỏi trắc nghiệm (38)
    • 3.3. Bảng liên kết giữa câu hỏi trắc nghiệm và yếu tố kiến thức (39)
    • 3.4. Tổ chức lưu trữ cơ sở dữ liệu và tri thức của hệ thống (40)
      • 3.4.1. Các bảng dữ liệu (40)
      • 3.4.2. Mô tả các bảng dữ liệu (41)
    • 3.5. Xác định yêu cầu và xây dựng thuật giải (43)
      • 3.5.1. Sơ đồ chức năng của hệ thống (43)
      • 3.5.2. Quản lí dữ liệu (43)
      • 3.5.3. Tìm kiếm (52)
      • 3.5.4. Tạo đề thi (54)
      • 3.5.5. Làm bài thi và nhận xét, đánh giá kết quả (59)
  • CHƯƠNG 4: CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ (65)
    • 4.1. Cài đặt một số tác vụ chính (65)
      • 4.1.1. Tác vụ quản lý người dùng (65)
      • 4.1.2. Tác vụ Tra cứu kiến thức (67)
      • 4.1.3. Tác vụ Tra cứu câu hỏi (69)
      • 4.1.4. Tác vụ tạo đề kiểm tra, đánh giá (71)
      • 4.1.5. Tác vụ làm bài thi và nhận xét đánh giá kết quả bài thi (73)
      • 4.1.6. Tác vụ xem lại nhận xét đánh giá nhằm theo dõi quá trình học tập (77)
    • 4.2. Thử nghiệm (78)
      • 4.2.1. Thử nghiệm tác vụ tạo đề (78)
      • 4.2.2. Thử nghiệm tác vụ làm bài thi và nhận xét, đánh giá (81)
      • 4.2.3. So sánh mức độ hỗ trợ của một số ứng dụng thi trắc nghiệm (92)
    • 4.3. Đánh giá (93)
  • CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (94)
    • 5.1. Kết quả đạt được (94)
    • 5.2. Hạn chế và hướng phát triển (95)
  • TÀI LIỆU THAM KHẢO (97)

Nội dung

Hệ thống này hỗ trợ sinh viên ôn tập, tra cứu, tự đánh giá kiến thức của mình về môn nhập môn lập trình thông qua việc thực hiện các đề thi được tạo ra với nhiều tùy chọn về số lượng, mứ

Trang 1

- ∞0∞ -

NGUYỄN TRƯỜNG HẢI

HỆ HỖ TRỢ KIỂM TRA, ĐÁNH GIÁ KIẾN THỨC

VỀ NHẬP MÔN LẬP TRÌNH

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

TP HỒ CHÍ MINH, NĂM 2020

Trang 2

TRƯỜNG ĐẠI HỌC MỞ THÀNH PHỐ HỒ CHÍ MINH

- ∞0∞ -

NGUYỄN TRƯỜNG HẢI

HỆ HỖ TRỢ KIỂM TRA, ĐÁNH GIÁ KIẾN THỨC

VỀ NHẬP MÔN LẬP TRÌNH

Chuyên ngành: Khoa học máy tính

Mã số chuyên ngành: 60 48 01 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Giảng viên hướng dẫn: PGS TS ĐỖ VĂN NHƠN

TP HỒ CHÍ MINH, NĂM 2020

Trang 3

Tôi tên là: NGUYỄN TRƯỜNG HẢI

Ngày sinh: 04/07/1991 Nơi sinh: Tiền Giang

Chuyên ngành: Khoa học máy tính Mã học viên: 1784801010007

Tôi đồng ý cung cấp toàn văn thông tin luận văn tốt nghiệp hợp lệ về bản quyền cho Thư viện trường đại học Mở Thành phố Hồ Chí Minh Thư viện trường đại học Mở Thành phố Hồ Chí Minh sẽ kết nối toàn văn thông tin luận văn tốt nghiệp vào hệ thống thông tin khoa học của Sở Khoa học và Công nghệ Thành phố Hồ Chí Minh

Nguyễn Trường Hải

Trang 5

LỜI CAM ĐOAN

Tôi cam đoan rằng luận văn “Hệ hỗ trợ kiểm tra, đánh giá kiến thức về nhập môn lập trình” là bài nghiên cứu của chính tôi

Ngoại trừ những tài liệu tham khảo được trích dẫn trong luận văn này, tôi cam đoan rằng toàn phần hay những phần nhỏ của luận văn này chưa từng được công bố hoặc được sử dụng để nhận bằng cấp ở những nơi khác

Không có sản phẩm/nghiên cứu nào của người khác được sử dụng trong luận văn này mà không được trích dẫn theo đúng quy định

Luận văn này chưa bao giờ được nộp để nhận bất kỳ bằng cấp nào tại các trường đại học hoặc cơ sở đào tạo khác

TP Hồ Chí Minh, năm 2020

Nguyễn Trường Hải

Trang 6

LỜI CẢM ƠN

Lời đầu tiên, em xin trân trọng và gửi lời cảm ơn sâu sắc đến quý lãnh đạo,

quý thầy cô Trường Đại học Mở Thành phố Hồ Chí Minh, khoa Đào tạo sau đại học,

khoa Công nghệ thông tin, quý thầy cô bộ môn đã tận tình chỉ bảo và giảng dạy em

trong suốt thời gian em học tập tại trường đồng thời tạo điều kiện để em thực hiện đề

tài này

Bên cạnh đó em cũng xin bài tỏ lòng biết ơn chân thành đến giáo viên hướng

dẫn PGS.TS Đỗ Văn Nhơn, người thầy đã luôn tận tâm chỉ bảo và hướng dẫn em

trong suốt thời gian thực hiện luận văn này Vì kiến thức còn hạn chế, em đã gặp rất

nhiều khó khăn khi thực hiện đề tài, nhưng may mắn được thầy động viên và dẫn dắt,

thầy đã cho em nghị lực, niềm tin để em tiếp tục con đường nghiên cứu của mình

Con cũng không quên ghi khắc lòng biết ơn và kính trọng đến gia đình, cha

mẹ đã cho con hậu phương, chỗ dựa tinh thần và luôn ủng hộ con trên con đường học

tập, tìm kiếm tri thức Xin cảm ơn tất cả bạn bè, đồng nghiệp đã tư vấn, đóng góp cho

tôi những ý kiến quý báu để tôi làm cơ sở khắc phục thiếu sót và hoàn thành nhiệm

vụ học tập, nghiên cứu này

Xin gửi lời tri ân!

Học viên

Nguyễn Trường Hải

Trang 7

TÓM TẮT

Trắc nghiệm khách quan là một trong những hình thức kiểm tra, đánh giá kết quả học tập phổ biến trong các cấp học từ phổ thông đến cao đẳng, đại học Hình thức này đã được áp dụng trong rất nhiều lĩnh vực từ khoa học tự nhiên đến khoa học xã hội Với xu thế hiện đại và sự phát triển không ngừng của công nghệ thông tin cũng như định hướng tin học hóa giáo dục, kiểm tra, đánh giá bằng hình thức trắc nghiệm trên máy tính ngày càng trở nên phổ biến Theo đó, các ứng dụng thi trắc nghiệm trên máy tính cũng ngày càng đa dạng, phong phú

Tuy nhiên, các ứng dụng thi trắc nghiệm hiện nay chỉ tạo ra các đề thi tự động dựa trên các tham số đầu vào như số lượng câu hỏi, thời gian và cho ra điểm sau khi kết thúc bài thi mà không thể đánh giá mức độ hiểu biết của người dùng, không thể định hướng những nội dung kiến thức mà người dùng cần phải cập nhật thông qua bài kiểm tra

Đề tài luận văn này đã nghiên cứu và xây dựng một hệ thống hỗ trợ kiểm tra, đánh giá kiến thức về nhập môn lập trình, một trong những môn học bắt buộc đối với tất cả các sinh viên ngành công nghệ thông tin Hệ thống này hỗ trợ sinh viên ôn tập, tra cứu, tự đánh giá kiến thức của mình về môn nhập môn lập trình thông qua việc thực hiện các đề thi được tạo ra với nhiều tùy chọn về số lượng, mức độ khó, yếu tố kiến thức cần kiểm tra, đánh giá

Hơn thế nữa, hệ thống này còn có thể đánh giá mức độ hiểu biết của sinh viên đối với từng yếu tố kiến thức, đề xuất định hướng những nội dung kiến thức mà sinh viên cần phải cập nhật, cải thiện thông qua phân tích kết quả bài thi Từ đó làm cơ sở cho sinh viên học tập, hoàn thiện kiến thức môn học

Trang 8

Objective test, one of the forms of testing and evaluating learning results, is widely used in all educational levels from high school to college and university It has been applied in many fields from natural to social sciences With the modern trend and the continuous development of information technology as well as the orientation of computerized education, computer-based testing and evaluating is becoming more and more popular And that is the reason why application for multiple choice tests on computers are more diverse and rich

The application of multiple choice tests, however, only creates automated exams based on input parameters such as the number of questions, times and scores after the end of the test This cannot assess the user’s level of knowledge as well as direct the knowledge content that the users need to update through the test

This thesis has researched and built a support system for the knowledge test and evaluation about Introduction to Programming, one of the compulsory subjects for all students of information technology This system supports students to review, look up, and self-assess their knowledge of the Introduction to Programming course through exam questions created with many options such as number of questions, difficulty levels, and the knowledge factors which should be tested and evaluated

Besides this system can also assess the student's understanding of each element

of knowledge, propose orientation of knowledge content that students need to update and improve through analysing test results And it can also be considered as a basis for students to learn and improve subject knowledge as well

Trang 9

MỤC LỤC

Contents

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

TÓM TẮT iii

MỤC LỤC iv

DANH MỤC HÌNH vi

DANH MỤC BẢNG VÀ SƠ ĐỒ vii

CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI 1

1.1 Tổng quan và đặt vấn đề 1

1.2 Mục tiêu nghiên cứu và phạm vi đề tài 3

1.3 Phương pháp và ý nghĩa luận văn 6

1.4 Kết cấu luận văn 6

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 8

2.1 Biểu diễn tri thức và hệ cơ sở tri thức [4] [8] [10] 8

2.2 Các phương pháp biểu diễn tri thức cơ bản [4] [8] 9

2.2.1 Phương pháp biểu diễn dựa trên logic hình thức 10

2.2.2 Phương pháp biểu diễn tri thức thủ tục (hệ luật dẫn) 10

2.2.3 Phương pháp biểu diễn tri thức dạng mạng 11

2.2.4 Phương pháp biểu diễn tri thức theo cấu trúc 12

2.3 Phương pháp biểu diễn tri thức dựa trên Ontology 12

2.3.1 Một số vấn đề cơ bản về ontology 12

2.3.2 Các thành phần cơ bản của ontology [4] [8] 14

2.3.3 Phân loại ontology [4] [8] 15

2.4 Phương pháp kiểm tra, đánh giá bằng trắc nghiệm khách quan 16

2.4.1 Các phương pháp kiểm tra, đánh giá kết quả học tập thường dùng 16

2.4.2 Đôi nét về phương pháp trắc nghiệm khách quan [15] [19] 18

2.4.3 Độ khó của câu trắc nghiệm và độ khó của đề kiểm tra, đánh giá 20

CHƯƠNG 3: THIẾT KẾ CƠ SỞ TRI THỨC, MÔ HÌNH HÓA YÊU CẦU VÀ XÂY DỰNG THUẬT GIẢI 22

3.1 Mô hình tri thức nhập môn lập trình tiếp cận Ontology 22

Trang 10

3.2 Mô hình cho ngân hàng câu hỏi trắc nghiệm và việc thu thập 25

3.2.1 Mô hình của 1 câu hỏi trắc nghiệm 25

3.2.2 Mô hình ngân hàng câu hỏi trắc nghiệm 26

3.2.3 Thu thập và xây dựng ngân hàng câu hỏi trắc nghiệm 26

3.3 Bảng liên kết giữa câu hỏi trắc nghiệm và yếu tố kiến thức 27

3.4 Tổ chức lưu trữ cơ sở dữ liệu và tri thức của hệ thống 28

3.4.1 Các bảng dữ liệu 28

3.4.2 Mô tả các bảng dữ liệu 29

3.5 Xác định yêu cầu và xây dựng thuật giải 31

3.5.1 Sơ đồ chức năng của hệ thống 31

3.5.2 Quản lí dữ liệu 31

3.5.3 Tìm kiếm 40

3.5.4 Tạo đề thi 42

3.5.5 Làm bài thi và nhận xét, đánh giá kết quả 47

CHƯƠNG 4: CÀI ĐẶT THỬ NGHIỆM VÀ ĐÁNH GIÁ 53

4.1 Cài đặt một số tác vụ chính 53

4.1.1 Tác vụ quản lý người dùng 53

4.1.2 Tác vụ Tra cứu kiến thức 55

4.1.3 Tác vụ Tra cứu câu hỏi 57

4.1.4 Tác vụ tạo đề kiểm tra, đánh giá 59

4.1.5 Tác vụ làm bài thi và nhận xét đánh giá kết quả bài thi 61

4.1.6 Tác vụ xem lại nhận xét đánh giá nhằm theo dõi quá trình học tập 65

4.2 Thử nghiệm 66

4.2.1 Thử nghiệm tác vụ tạo đề 66

4.2.2 Thử nghiệm tác vụ làm bài thi và nhận xét, đánh giá 69

4.2.3 So sánh mức độ hỗ trợ của một số ứng dụng thi trắc nghiệm 80

4.3 Đánh giá 81

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 82

5.1 Kết quả đạt được 82

5.2 Hạn chế và hướng phát triển 83

TÀI LIỆU THAM KHẢO 85

Trang 11

DANH MỤC HÌNH

Hình 4.1 Giao diện đăng nhập vào hệ thống 53

Hình 4.2 Giao diện người dùng với quyền quản lý 54

Hình 4.3 Giao diện người dùng với quyền giáo viên 54

Hình 4.4 Giao diện người dùng với quyền sinh viên 55

Hình 4.5 Giao diện quản lý hệ thống 55

Hình 4.6 Giao diện tra cứu kiến thức 56

Hình 4.7 Thử nghiệm thao tác tra cứu kiến thức 57

Hình 4.8 Giao diện tìm kiếm câu hỏi trắc nghiệm theo kiến thức 58

Hình 4.9 Thử nghiệm thao tác tìm kiếm câu hỏi trắc nghiệm 58

Hình 4.10 Giao diện tạo đề kiểm tra, đánh giá ngẫu nhiên 59

Hình 4.11 Giao diện tạo đề kiểm tra, đánh giá theo yếu tố kiến thức 60

Hình 4.12 Thử nghiệm thao tác tạo đề kiểm tra, đánh giá kiến thức 61

Hình 4.13 Giao diện làm bài kiểm tra, đánh giá kiến thức 62

Hình 4.14 Giao diện kết quả bài kiểm tra, đánh giá kiến thức 63

Hình 4.15 Thử nghiệm thao tác làm bài kiểm tra, đánh giá kiến thức 64

Hình 4.16 Giao diện hiển thị kết quả và nhận xét đánh giá bài làm 64

Hình 4.17 Giao diện hiển thị thông tin kết quả các bài làm của sinh viên 65

Biểu đồ 4.1 Kết quả kiểm tra, đánh giá với các đề thi có độ khó khác nhau 69

Biểu đồ 4.2 Biểu đồ thể hiện sự thay đổi về số lượng đề thi có câu sai thuộc kiến thức về Các kiểu dữ liệu cơ sở 78

Biểu đồ 4.3 Biểu đồ thể hiện sự thay đổi về số lượng đề thi có câu sai thuộc kiến thức về Biến 78

Biểu đồ 4.4 Biểu đồ thể hiện sự thay đổi về số lượng đề thi có câu sai thuộc kiến thức về Lệnh 79

Biểu đồ 4.5 Biểu đồ thể hiện sự thay đổi về số lượng đề thi có câu sai thuộc kiến thức về Các toán tử và biểu thức 79

Trang 12

DANH MỤC BẢNG VÀ SƠ ĐỒ

Sơ đồ 3.1 Sơ đồ mô hình tri thức nhập môn lập trình 23

Bảng 3.1 Bảng dữ liệu lưu trữ cây tri thức về nhập môn lập trình 24

Bảng 3.2 Bảng dữ liệu lưu trữ ngân hàng câu hỏi trắc nghiệm 26

Bảng 3.3 Bảng dữ liệu lưu trữ liên kết kiến thức 27

Sơ đồ 3.2 Lưu đồ thuật toán thêm yếu tố kiến thức 33

Sơ đồ 3.3 Lưu đồ thuật toán chỉnh sửa thông tin một yếu tố kiến thức 35

Sơ đồ 3.4 Lưu đồ thuật toán xóa yếu tố kiến thức 37

Sơ đồ 3.5 Lưu đồ thuật toán thêm một câu hỏi trắc nghiệm 38

Sơ đồ 3.6 Lưu đồ thuật toán sửa một câu hỏi trắc nghiệm 39

Sơ đồ 3.7 Lưu đồ thuật toán xóa một câu hỏi trắc nghiệm 40

Sơ đồ 3.8 Lưu đồ thuật toán tra cứu kiến thức 41

Sơ đồ 3.9 Lưu đồ thuật toán tìm kiếm câu hỏi trắc nghiệm 42

Sơ đồ 3.10 Lưu đồ thuật toán tạo đề kiểm tra 1 yếu tố kiến thức 44

Sơ đồ 3.11 Lưu đồ thuật toán tạo đề kiểm tra 1 nhóm yếu tố kiến thức 47

Sơ đồ 3.12 Lưu đồ thuật toán làm bài thi 49

Sơ đồ 3.13 Lưu đồ thuật toán nhận xét, đánh giá kết quả 51

Bảng 4.1 Kết quả kiểm tra, đánh giá với các đề thi có độ khó khác nhau 66

Bảng 4.2 Bảng số lượng đề thi mà mỗi thí sinh có câu trả lời sai theo từng yếu tố kiến thức, lần 1 70

Bảng 4.3 Tỷ lệ phần trăm số đề thi mà mỗi thí sinh có câu trả lời sai theo từng yếu tố kiến thức 72

Bảng 4.4 Bảng số lượng đề thi mà mỗi thí sinh có câu trả lời sai theo từng yếu tố kiến thức, lần 2 75

Trang 13

CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI 1.1 Tổng quan và đặt vấn đề

Ngày nay, việc tổ chức kiểm tra, đánh giá bằng hình thức trắc nghiệm ngày càng phổ biến, áp dụng cho hầu hết các môn học từ cấp học phổ thông đến cao đẳng, đại học Từ những năm đầu của thế kỉ XXI, Bộ Giáo dục và Đào tạo đã có định hướng chuyển đổi hình thức thi trong các kỳ thi Trung học phổ thông cũng như tuyển sinh vào đại học Đánh dấu bước ngoặc quan trọng về việc áp dụng thi trắc nghiệm trong đánh giá kết quả học tập đó là Bộ Giáo dục và Đào tạo đã ban hành Chỉ thị số 55/2008/CT-BGDĐT ngày 30 tháng 9 năm 2008 về việc tăng cường giảng dạy, đào tạo và ứng dụng công nghệ thông tin trong ngành giáo dục giai đoạn 2008 - 2012, yêu cầu sử dụng trắc nghiệm trong các kỳ thi tốt nghiệp trung học phổ thông và tuyển sinh đại học Theo đó, các trường đại học và cao đẳng cũng dần áp dụng hình thức trắc nghiệm vào hầu hết các môn học đào tạo của trường Tuy nhiên, việc tổ chức thi trắc nghiệm đòi hỏi chi phí rất cao trong việc in ấn, mất nhiều thời gian trong việc soạn câu hỏi, tạo đề thi, chấm bài và công bố kết quả,

Để khắc phục những điểm yếu đó, có rất nhiều hệ thống hỗ trợ thi trắc nghiệm ra đời, những ứng dụng này rất đa dạng và phong phú cả về hình thức cũng như nền tảng công nghệ Ban đầu những ứng dụng này chỉ tập trung hỗ trợ cho người dùng việc soạn thảo, quản lí câu hỏi trắc nghiệm nhằm giảm thời gian trong khâu tạo các đề thi Sau đó, các ứng dụng dần được nâng cấp và cải thiện tính năng, không chỉ hỗ trợ soạn thảo và quản lí câu hỏi chúng còn hỗ trợ người dùng từ việc soạn thảo câu hỏi; tạo lập đề thi nhanh chóng với khả năng đảo câu hỏi, đáp án cũng như tạo ra các mã đề khác nhau; tổ chức thi; chấm bài và trả về kết quả ngay sau khi kết thúc bài thi một cách nhanh chóng và hiệu quả Có thể nhắc đến một số ứng dụng như Phần mềm thi trắc nghiệm ED Quiz 2.1 [17], được sử dụng cho tổ chức thi các học phần Ngoại ngữ thuộc khoa Anh, Trường Đại học Sư phạm Thành phố Hồ Chí Minh; Phần mềm Exam version 2.0 [18], ứng dụng được sử dụng để tổ chức thi kết thúc môn học chính thức tại trường Trung cấp Phương Nam từ năm 2015; Phần mềm thi trắc nghiệm trực tuyến

Trang 14

của Trường Trung cấp nghề Hà Tĩnh [28]; Websize thi trắc nghiệm trực tuyến Aztest [29], …

Không những được tạo ra như một ứng dụng hỗ trợ thi độc lập, một số hệ thống giáo dục trực tuyến cũng đã xây dựng tích hợp tính năng kiểm tra, đánh giá kết quả học tập của học viên nhằm tạo nên một hệ thống thống nhất từ đăng ký nhập học đến quản lý quá trình đào tạo và đánh giá kết quả học tập Có thể đề cử một số hệ thống giáo dục trực tuyến như Bigschool [25], hocmai [26], zuni [27], …

Tuy nhiên, nhìn chung những ứng dụng này sử dụng chung cho rất nhiều môn, không cho phép người dùng lựa chọn các nội dung và kiến thức cần kiểm tra, đánh giá của một môn học cụ thể cũng như mức độ khó dễ của đề bài Qua các thông tin nghiên cứu thực tế tại các trường học và internet, tôi cho rằng hiện nay các ứng dụng

hỗ trợ kiểm tra, đánh giá kiến thức vẫn còn hạn chế về tính năng, chưa đáp ứng được nhu cầu của người sử dụng

Ngoài những ứng dụng thi trắc nghiệm, các website thi trắc nghiệm đã được thương mại hóa và các hệ thống giáo dục trực tuyến, còn có rất nhiều đề tài nghiên cứu nhằm cải thiện các tính năng trong việc tạo, quản lí câu hỏi, tạo đề và làm bài thi

Có một số đề tài liên quan như “Nghiên cứu xây dựng hệ thống thi trắc nghiệm trực tuyến bậc trung học phổ thông” [5], “Xây dựng phần mềm trắc nghiệm loại hình thông minh cho trẻ 11 - 12 tuổi” [14], “Nghiên cứu xây dựng hệ thống thi trắc nghiệm cho trường cao đẳng y tế Trà Vinh” [11] Các đề tài hiện nay tập trung vào việc cải tiến các công cụ nhập liệu câu hỏi, cải tiến thuật toán trộn đề, hoặc nâng cao chất lượng câu hỏi trắc nghiệm thông qua việc tính toán và xác định độ khó, độ phân biệt, đánh giá chất lượng ngân hàng câu hỏi,…nhưng rất ít những đề tài nghiên cứu về khả năng đánh giá kết quả bài thi của thí sinh sau khi hoàn thành bài làm cũng như nhận định mức độ hiểu biết của thí sinh về một hay một số yếu tố kiến thức nhất định của môn học, định hướng cho thí sinh những nội dung kiến thức còn khiếm khuyết cần phải

bổ sung, ôn tập

Trang 15

Theo số liệu thống kê từ Cục quản lý chất lượng, Bộ Giáo dục và Đào tạo công

bố trên các phương tiện truyền thông vào cuối tháng 8 năm 2020, tại một số trường Đại học số nguyện vọng đăng ký vào các ngành thuộc lĩnh vực công nghệ thông tin dẫn đầu về số lượng thí sinh Đơn cử trường Đại học FPT năm 2020 tuyển 5000 chỉ tiêu ngành công nghệ thông tin, các trường đại học khác cũng có số lượng chỉ tiêu tương đối cao trong khoảng từ 100 đến 400 chỉ tiêu cho mỗi trường Nhập môn lập trình là môn học đầu tiên và bắt buộc đối với các sinh viên ngành công nghệ thông tin Đây là môn học cơ sở và cũng là môn học các sinh viên gặp nhiều khó khăn trong việc tiếp thu kiến thức và kiểm tra mức độ hiểu biết của mình Xuất phát từ thực tế

đó và quá trình nghiên cứu về mức độ hỗ trợ của các ứng dụng kiểm tra, đánh giá

kiến thức hiện tại tôi chọn đề tài xây dựng Hệ hỗ trợ kiểm tra, đánh giá kiến thức

về Nhập môn lập trình để phần nào hỗ trợ sinh viên trong việc tự đánh giá, đồng

thời là nguồn tài liệu hữu ích hướng dẫn học tập và kiểm tra môn học Trong cuộc cách mạng 4.0 gắn liền tin học hóa giáo dục, Hệ hỗ trợ kiểm tra, đánh giá kiến thức

về Nhập môn lập trình là công cụ cần có cho cả người dạy và người học

1.2 Mục tiêu nghiên cứu và phạm vi đề tài

Từ thực trạng nghiên cứu nêu trên, tôi đã định hướng đề tài với mục tiêu xây dựng một hệ hỗ trợ kiểm tra, đánh giá kiến thức về môn Nhập môn lập trình Ứng dụng này sẽ cung cấp cho người dùng hệ thống kiến thức về Nhập môn lập trình, một trong những môn học bắt buộc và cũng là môn học đầu tiên cho các học sinh, sinh viên ngành công nghệ thông tin Không chỉ cung cấp cây kiến thức liên quan đến môn học mà ứng dụng còn hỗ trợ việc kiểm tra, đánh giá kiến thức của người học thông qua các câu hỏi trắc nghiệm khách quan được phân bố theo từng yếu tố kiến thức riêng rẽ với các mức độ khó khác nhau cho người học tập luyện và tự đánh giá kiến thức của mình

Mục đích mang ý nghĩa quan trọng nhất của ứng dụng là không chỉ cho ra điểm của bài làm mà còn cung cấp thông tin về các câu trả lời đúng, trả lời sai và bảng nhận xét, đánh giá kết quả bài thi của thí sinh liên quan đến kiến thức môn học làm cơ sở

Trang 16

định hướng cho học sinh những kiến thức còn yếu khuyết cần bổ sung để hoàn thiện môn học Ứng dụng phục vụ cho nhu cầu sử dụng của 3 nhóm đối tượng chính:

Thứ nhất là người quản lý hệ thống: Nhóm đối tượng này sẽ thực hiện các tác

vụ quản lý liên quan đến người dùng và phân quyền người dùng Chỉ người dùng có quyền quản trị mới được thực hiện thao tác, cụ thể:

- Tạo mới, chỉnh sửa thông tin, xóa tài khoản, cấp lại tài khoản và mật khẩu cho các đối tượng người dùng

- Phân quyền người dùng: Các thao tác chung dành cho tất cả các đối tượng sử dụng ứng dụng gồm tra cứu kiến thức, tìm kiếm câu hỏi trắc nghiệm, tạo đề, làm bài, xem kết quả đánh giá, bên cạnh đó mỗi nhóm đối tượng có quyền thao tác với các tác

vụ riêng, ví dụ nhóm tài khoản giáo viên có quyền cập nhật tri thức, cập nhật câu hỏi trắc nghiệm, tạo đề thi, làm bài thi, xem kết quả, tra cứu kiến thức và tra cứu câu hỏi; Nhóm tài khoản sinh viên thì không được can thiệp đến thao tác như quản lý người dùng, cập nhật tri thức và câu hỏi trắc nghiệm

Thứ hai là giảng viên: Nhóm đối tượng này sẽ thực hiện các tác vụ quản lý liên

quan đến tri thức và danh sách câu hỏi trắc nghiệm, cụ thể:

- Cập nhật nội dung các yếu tố kiến thức của hệ thống như thêm, xóa, chỉnh sửa nội dung của các yếu tố kiến thức, bổ sung ví dụ, bài tập minh họa, …

- Cập nhật các câu hỏi trắc nghiệm như thêm câu hỏi mới, chỉnh sửa nội dung câu hỏi, đáp án, yếu tố kiến thức liên quan hay xóa bỏ các câu hỏi cũ, không phù hợp, …

Thứ ba là sinh viên: Nhóm đối tượng này sẽ thực hiện các tác vụ chung dành

cho người dùng liên quan đến việc tra cứu kiến thức, tìm kiếm câu hỏi trắc nghiệm, tạo đề kiểm tra và làm bài, xem bảng đánh giá bài thi, cụ thể:

- Tra cứu nội dung các yếu tố kiến thức liên quan đến môn học

- Tìm kiếm các câu hỏi trắc nghiệm liên quan đến yếu tố kiến thức mà sinh viên quan tâm và muốn ôn tập

Trang 17

- Tạo đề kiểm tra ngẫu nhiên hoặc theo các nhu cầu của sinh viên về yếu tố kiến thức liên quan và mức độ khó

- Làm bài kiểm tra và xem đánh giá bài làm để làm cơ sở định hướng học tập, hoàn thiện kiến thức môn học

Việc kiểm tra, đánh giá giúp xác nhận khả năng vận dụng kiến thức của học sinh, sinh viên trong việc trả lời các câu hỏi, bài tập trong đề thi Tuy vậy, người học còn

có nhu cầu muốn biết mình đang hạn chế ở yếu tố kiến thức nào để cập nhật, bổ sung kiến thức đó Những ứng dụng thi trắc nghiệm ngày nay chưa đáp ứng được nhu cầu nêu trên vì vậy tôi chọn đề tài xây dựng “Hệ hỗ trợ kiểm tra, đánh giá kiến thức về Nhập môn lập trình”

Đề tài này tập trung nghiên cứu xây dựng mô hình tri thức cho kiến thức Nhập môn lập trình, môn học dành cho các sinh viên đại học ngành công nghệ thông tin Danh sách các câu hỏi trắc nghiệm khách quan về kiến thức nhập môn lập trình nhằm kiểm tra, đánh giá kiến thức sinh viên

Tạo đề thi theo yếu tố kiến thức, theo các mức độ khó khác nhau từ dễ, trung bình, khó và khá khó

Làm bài thi, chấm điểm và nhận xét, đánh giá bài thi của sinh viên liên quan đến các yếu tố kiến thức môn học

Đề tài này tập trung nghiên cứu trong phạm vi các tác vụ dành cho đối tượng chính của ứng dụng đó là sinh viên Bao gồm:

- Tra cứu các yếu tố tri thức về nhập môn lập trình

- Tra cứu các câu hỏi trắc nghiệm liên quan đến các yếu tố tri thức về nhập môn lập trình

- Tạo đề kiểm tra đánh giá kiến thức về nhập môn lập trình một cách ngẫu nhiên hoặc theo các tham số để lựa chọn như nội dung yếu tố kiến thức cần kiểm tra, mức

độ khó của đề, số lượng câu hỏi

Trang 18

- Làm bài và nhận xét đánh giá kết quả bài thi

- Đề xuất các tác vụ liên quan đến việc cập nhật tri thức và câu hỏi trắc nghiệm nhưng không triển khai thử nghiệm trong luận văn này

1.3 Phương pháp và ý nghĩa luận văn

Thu thập các yếu tố kiến thức của môn Nhập môn lập trình, phân tích thành các nhóm kiến thức riêng biệt và lưu trữ theo một mô hình có thể xử lý được

Thu thập, xây dựng các câu hỏi trắc nghiệm khách quan, phân tích và sắp xếp chúng vào các nhóm kiến thức đã được phân chia trước đó với các mức độ khó từ dễ, trung bình, khó đến khá khó

Xây dựng mô hình cho các nội dung liên quan, tạo đề, tổ chức thi và suy luận nhằm đưa ra nhận xét, đánh giá cho kết quả bài thi của sinh viên

Hệ hỗ trợ kiểm tra, đánh giá kiến thức về nhập môn lập trình không chỉ là một ứng dụng thi trắc nghiệm mà còn là một hệ hỗ trợ học tập đối với sinh viên giúp sinh viên nhận biết khả năng vận dụng kiến thức của mình trên các kiến thức nhất định đồng thời biết được những yếu tố kiến thức nào còn thiếu sót mà kịp thời cập nhật cho bản thân thông qua các nhận xét sau mỗi bài thi

1.4 Kết cấu luận văn

Luận văn này gồm có 5 chương:

- Chương 1: Giới thiệu tổng quan về đề tài bao gồm các thông tin khảo sát về thực trạng tổ chức kiểm tra, đánh giá kết quả học tập bằng hình thức thi trắc nghiệm trên máy tính Trình bày các vấn đề tồn tại trong việc xây dựng các hệ thống hỗ trợ thi trắc nghiệm hiện nay, mục tiêu, phạm vi nghiên cứu và ý nghĩa của đề tài

- Chương 2: Trình bày cơ sở lý thuyết liên quan đến tri thức, biểu diễn tri thức, các

mô hình và kỹ thuật để xây dựng ứng dụng hỗ trợ kiểm tra, đánh giá kiến thức

Trang 19

- Chương 3: Thiết kế cơ sở tri thức, tổ chức lưu trữ, mô hình hóa các yêu cầu và xây dựng thuật giải cho các yêu cầu liên quan đến việc xây dựng hệ hỗ trợ kiểm tra, đánh giá kiến thức

- Chương 4: Trình bày bảng thiết kế các chức năng và quy trình thực hiện của ứng dụng, kiểm thử một số chức năng của ứng dụng trên một vài mẫu cụ thể so sánh với các ứng dụng hiện có và đưa ra đánh giá

- Chương 5: Kết luận và hướng phát triển, tóm tắt kết quả đạt được, những vấn đề còn tồn tại của đề tài và định hướng phát triển tiếp theo nhằm hoàn thiện ứng dụng

và phát triển thêm để nâng cao khả năng hỗ trợ của ứng dụng

Trang 20

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Biểu diễn tri thức và hệ cơ sở tri thức [4] [8] [10]

Tri thức được hiểu là kiến thức hay sự hiểu biết của con người trong các lĩnh vực hay miền tri thức nhất định như kiến thức về toán học nói chung hay các miền tri thức toán học với phạm vi thu hẹp hơn như kiến thức về hình học phẳng, hình học không gian, hình học giải tích, … Tri thức thường bao gồm rất nhiều các thành phần trừu tượng và chúng có các mối quan hệ rất phức tạp Các thành phần cơ bản thường là thành phần khái niệm, quan hệ, toán tử, hàm, sự kiên hay các luật

Tùy thuộc vào cách thức con người giải quyết vấn đề mà có các kỹ thuật để biểu diễn các dạng tri thức khác nhau Không có kỹ thuật nào biểu diễn đầy đủ cơ chế tổ chức tri thức trong các chương trình máy tính vì vậy tùy vào lĩnh vực hay miền tri thức nhất định mà ta lựa chọn dạng biểu diễn cho phù hợp Có thể nói đến một số dạng biểu diễn tri thức thường gặp dưới đây

Tri thức thủ tục, dạng tri thức này mô tả cách thức giải quyết một vấn đề, giúp

đưa ra giải pháp để thực hiện một công việc nào đó Dạng biểu diễn này thường là các luật, chiến lược, lịch trình và thủ tục

Tri thức khai báo, loại tri thức này bao gồm các phát biểu đơn giản dưới dạng các

khẳng định logic đúng hoặc sai Nó có thể là một danh sách các khẳng định nhằm mô

tả đầy đủ hơn về đối tượng hay một khái niệm nào đó

Siêu tri thức, loại tri thức này mô tả tri thức về tri thức, giúp lựa chọn tri thức

thích hợp nhất trong số các tri thức khi giải quyết một vấn đề Người ta sử dụng tri thức này để điều chỉnh hiệu quả giải quyết vấn đề bằng cách hướng các lập luận về miền tri thức có khả năng cao hơn

Tri thức heuristic, còn được gọi là tri thức nông cạn do không đảm bảo hoàn toàn

chính xác về kết quả giải quyết vấn đề

Tri thức có cấu trúc mô tả mô hình tri thức tổng quát của một vấn đề, diễn tả chức

năng và mối quan hệ giữa các tri thức dựa theo cấu trúc xác định

Trang 21

Hệ cơ sở tri thức là một tập hợp các thành phần kiến thức, các khái niệm, các luật, các mối quan hệ về một lĩnh vực hay miền tri thức cụ thể nào đó giúp chúng ta quản

lý tri thức trên máy đồng thời giải quyết các vấn đề liên quan đến tri thức

Quá trình thu thập tri thức là quá trình rút trích các tri thức và định dạng chúng theo một cấu trúc, việc rút trích được thực hiện từ nhiều nguồn khác nhau, đặt biệt là

ý kiến của các chuyên gia trong từng lĩnh vực cụ thể hình thành hệ chuyên gia Các hệ chuyên gia là một loại cơ sở tri thức được thiết kế cho một ứng dụng cụ thể, thuộc một lĩnh vực cụ thể bao gồm trong đó là kinh nghiệm của chuyên gia nhằm suy luận và giải quyết những vấn đề chuyên môn liên quan đến lĩnh vực đang được

đề cập đến Kiến trúc cơ bản của một hệ chuyên gia đòi hỏi phải có hai thành phần chính đó là Cơ sở tri thức và bộ suy diễn Khi tiếp nhận yêu cầu giải quyết vấn đề, bộ suy diễn sẽ lưu trữ các sự kiện (giả thiết, mục tiêu) sau đó sẽ tìm ra câu trả lời cho vấn đề đó Trong quá trình suy diễn, bộ suy diễn sẽ tìm kiếm và so sánh với các luật, các mối quan hệ trong cơ sở tri thức để tìm ra lời giải

Nguồn thu thập thi thức thường là sách vở, tài liệu và từ các chuyên gia Ban đầu tri thức được diễn đạt dưới dạng cách hiểu tự nhiên của con người thông qua ngôn ngữ, các ký hiệu, các sơ đồ thông dụng để diễn đạt thông tin của con người Từ tri thức dưới dạng tự nhiên đó, người thiết kế phải tổ chức, biểu diễn chúng dưới dạng các mô hình nhằm dễ dàng lưu trữ, xử lý trên máy tính và giải quyết các vấn đề của bài toán

2.2 Các phương pháp biểu diễn tri thức cơ bản [4] [8]

Để xây dựng các mô hình biểu diễn tri thức ta có thể vận dụng các công cụ, phương tiện như: các cấu trúc dữ liệu kiểu dãy, tập hợp, ngăn xếp, danh sách, hàng đợi, các cấu trúc cây, lớp

Ngoài ra tùy vào lĩnh vực hay miền tri thức nhất định ta có thể sử dụng các công

cụ, cấu trúc toán học như logic mệnh đề, logic vị từ, logic mờ, logic thời gian, …

Trang 22

Bên cạnh đó, với các dạng hệ giải bài toán ta còn có thể sử dụng kiến thức xác suất thống kê, toán rời rạc và lý thuyết đồ thị, đại số tuyến tính hay giải tích để xây dựng mô hình biểu diễn tri thức Một số mô hình biểu diễn tri thức cơ bản có thể nói đến như:

2.2.1 Phương pháp biểu diễn dựa trên logic hình thức

Có thể xem đây là phương pháp biểu diễn tri thức đơn giản nhất khi nó sử dụng các biểu thức logic hình thức để biểu diễn các sự kiện và các luật trong cơ sở tri thức phương pháp này sử dụng các phép toán logic như and (), or (), not (), kéo theo () hay tương đương () để diễn tả một khái niệm

Tuy nhiên phương pháp này chủ yếu làm rõ về mặt hình thức chứ không mô

tả đầy đủ được hết các tri thức có độ phức tạp cao hay tính trừu tượng lớn

2.2.2 Phương pháp biểu diễn tri thức thủ tục (hệ luật dẫn)

Phương pháp này biểu diễn tri thức như là một tập hợp các luật, các chỉ thị nhằm giải quyết vấn đề mà bài toán đặt ra Kiểu biểu diễn này thường được thể hiện bằng một tập các luật dẫn có dạng if … then …, tức là một cặp gồm điều kiện – kết quả hay hành động Điều đó cũng có nghĩa là tri thức sẽ được biểu diễn dưới dạng một tập các luật dẫn trên các sự kiện hay hành động, nếu điều kiện xảy ra thì thành động hay kết quả sẽ được thực hiện

Cấu trúc của mô hình hệ luật dẫn gồm hai thành phần

(Facts, Rules)

Trong đó:

- Facts là tập các sự kiện hay tác vụ trong phạm vi tri thức

- Rules là tập các luật dẫn, mỗi luật r thuộc tập Rules có dạng

r: gt(r) kl(r)

với gt(r) là giả thiết và kl(r) là kết luận của luật r

Trang 23

2.2.3 Phương pháp biểu diễn tri thức dạng mạng

Phương pháp này biểu diễn tri thức thành dạng một đồ thị với mỗi nút trong

đồ thị biểu diễn một yếu tố tri thức là các khái niệm, sự kiện, đối tượng hay các thành phần cấu trúc phức tạp khác, mỗi cung thể hiện mối quan hệ giữa các yếu tố tri thức

ở các đỉnh Hai đại diện phổ biến nhất của phương pháp này là mạng ngữ nghĩa và các đồ thị khái niệm

Mô hình mạng ngữ nghĩa có dạng

(Nodes, Arcs)

Trong đó:

Nodes là tập các yếu tố hay các bộ phận cấu thành tri thức, các nodes có thể là khái

niệm, đối tượng, quan hệ, sự kiện, các cấu trúc từu tượng khác

Arcs là các liên kết biểu diễn sự liên hệ giữa các nodes Các liên hệ này có thể là

IS_A, HAS_A, …

Phương pháp này giúp thể hiện rõ mối quan hệ giữa cá yếu tố tri thức thông qua biểu diễn của các cung Tuy nhiên các thao tác tìm kiếm trên mạng ngữ nghĩa thường gặp khó khăn đặc biệt đối với các mạng có kích thước lớn

Mạng các đối tượng tính toán:

Một mạng tính toán còn được gọi là đối tượng tính toán (ký hiệu O) [7] Một mạng các đối tượng tính toán bao gồm tập các đối tượng tính toán

O = {O1, O2, On} và tập các quan hệ giữa các đối tượng tính toán

F = {f1, f2, fm} Mô hình biểu diễn tri thức dạng này cho phép ta thực hiện tính toán các biến của một hay hiều đối tượng dựa trên tập biến của các đối tượng khác

Trang 24

2.2.4 Phương pháp biểu diễn tri thức theo cấu trúc

Phương pháp này sử dụng các cấu trúc dữ liệu phức tạp và trừu tượng trong

việc biểu diễn Có thể nhắc đến như cấu trúc khung (Frame), Script hay các lớp đối

tượng (Class)

Với Frame là một cấu trúc dữ liệu lưu trữ tất cả những tri thức liên quan đến một đối tượng nào đó, nó “đóng gói” toàn bộ một đối tượng, một vấn đề, một tình huống thành một thực thể duy nhất có cấu trúc Vì vậy Frame giúp ta mô tả khá đầy

đủ và chi tiết về một đối tượng

Phương pháp này thường được dùng để biểu diễn các tri thức chuẩn, những tri thức được xây dựng dựa trên kinh nghiệm hoặc các đặc điểm đã được hiểu biết cặn

kẽ

Mỗi Frame mô tả một đối tượng (object) thường bao gồm hai thành phần chính

là slot (là một thuộc tính đặc tả đối tượng được biểu diễn bởi frame) và facet (đặc tả một số thông tin hoặc thủ tục liên quan đến thuộc tính được mô tả bởi slot) Các Frame

có thể được liên kết với nhau theo một nguyên tắc nào đó, có thể thể hiện tính kế thừa của các tính chất giữa các Frame tạo thành cấu trúc phân cấp với mức độ trừu tượng

từ cao xuống thấp giống như mô hình của một cấu trúc cây với gốc là mức độ trừu tượng cao nhất, thấp dần là các nhánh và các cấp dưới cùng là các lá

Script và Class cũng biểu diễn tri thức bằng các thuộc tính và hành vi giống như đối với Frame Thay vì Frame đặc tả các đối tượng thì Script mô tả một chuỗi các sự kiện

2.3 Phương pháp biểu diễn tri thức dựa trên Ontology

Trang 25

Về nguồn gốc triết học, ontology là một nhánh của triết học, liên quan đến sự tồn tại và bản chất các sự vật trong thực tế Có thể hiểu, đối tượng nghiên cứu chủ yếu của ontology là phân loại các sự vật dựa trên các đặc điểm mang tính bản chất của

Trong khoa học máy tính, lĩnh vực trí tuệ nhân tạo giải quyết các vấn đề lý luận các mô hình tri thức, thuật ngữ: “ontology” nhằm mô tả việc làm thế nào để có thể biểu diễn tri thức của thế giới quan lên máy tính Có một số định nghĩa về ontology được phổ biến rộng rãi như:

 Theo tài liệu [23] Gruber (1993) định nghĩa ontology là một đặc tả tường minh của sự khái niệm hóa trong một lĩnh vực (An ontology is an explicit specification of

a conceptualization”

 Theo tài liệu [24] Borst (1997) đã bổ sung ý tưởng là các khái niệm cần thể hiện được sự chia sẻ thông tin với các khái niệm liên quan và là một sự thống nhất giữa nhiều khái niệm chứ không phải là một khái niệm độc lập và nên được thể hiện trong một định dạng mà máy tính có thể đọc được, ông định nghĩa ontology là một đặc tả hình thức của sự khái niệm hóa được chia sẻ

 Năm 1998, Studer và cộng sự đã kết hợp hai định nghĩa trên lại với nhau với nội dung ontology là một đặc tả hình thức và tường minh của một sự khái niệm hóa được chia sẻ [22]

- Với sự khái niệm hóa (conceptualization) là một mô hình trừu tượng bao gồm các khái niệm có liên quan để mô tả thế giới thực

- Tường minh (explicit) nói đến các khái niệm và các ràng buộc được sử dụng đã được định nghĩa cụ thể và rõ ràng

- Hình thức (formal) là vấn đề máy có thể hiểu và thao tác được trên ontology

- Chia sẻ (shared) thể hiện tri thức trong ontology không bị giới hạn bởi vài cá nhân mà được chấp nhận rộng rãi

Trang 26

 Theo Hendler (2001) định nghĩa ontology là một tập hợp các thuật ngữ tri thức (knowledge term), bao gồm từ vựng, các quan hệ ngữ nghĩa, một số luật suy diễn và logic trong một lĩnh vực đặc thù

Có rất nhiều cách định nghĩa về ontology, mỗi định nghĩa thể hiện một cách nhìn nhận khác nhau về ontology và kèm theo một phương pháp luận và kỹ thuật để xây dựng nó

2.3.2 Các thành phần cơ bản của ontology [4] [8]

Các ontology được xây dượng thường bao gồm các thành phần sau:

- Các lớp (class), thành phần này tương ứng với các khái niệm (concept), là

một thành phần quan trọng của một ontology Các lớp này được tổ chức theo một cấu trúc phân cấp để mô tả các khái niệm trong một miền, lĩnh vực Theo đó, ontology có thể sử dụng tính kế thừa của cấu trúc phân cấp được định nghĩa, các lớp con biểu diễn khái niệm cụ thể hơn so với lớp cha

- Quan hệ (relation) biểu diễn liên kết giữa các khái niệm trên một miền tri

thức Các quan hệ nhị phân được sử dụng để biểu diễn thuộc tính và giá trị của quan

hệ là một khái niệm

- Khía cạnh (slot), thuộc tính (property, attribute) hay vai trò (role) là một mặt

nào đó của sự vật là kiểu quan hệ giữa thực thể và thuộc tính, giữa thực thể và lớp hoặc giữa các lớp với nhau Thuộc tính được phân biệt với quan hệ (relation) dựa trên giá trị là một kiểu dữ liệu (string, number, boolean, ) Một thuộc tính bản thân nó cũng có các thuộc tính con và cũng có các ràng buộc trên nó

- Thực thể, thể hiện (individual, instance) biểu diễn các phần tử riệng biệt của

khái niệm là các thể hiện của lớp Mỗi thể hiện của lớp biểu diễn một sự cụ thể hóa của khái niệm đó

Trang 27

- Tiên đề (formal axioms) dùng để mô hình hóa các khẳng định tiền đề luôn

đúng, thường được sử dụng để biểu diễn tri thức mà không thể định nghĩa bằng các thành phần khác hay để xác minh tính nhất quán của bản thân các ontology và suy luận ra kiến thức mới

2.3.3 Phân loại ontology [4] [8]

Để phân loại ontology ta phải dựa trên rất nhiều tiêu chí và khía cạnh khác nhau, nhưng phổ biến nhất có hai phương pháp được sử dụng: thứ nhất là phân loại các ontology dựa theo tính hình thức và sự thể hiện của ngôn ngữ được dùng để miêu

tả ontology (ngôn ngữ tự nhiên, ngôn ngứ hình thức, …); thứ hai là phân loại dựa vào

phạm vi của các đối tượng được mô tả bởi các ontology

- Phân loại dựa trên tính hình thức và sự biểu hiện của ngôn ngữ miêu tả:

Ontology thông tin (Information Ontologies) bao gồm các biểu đồ, phác thảo

sử dụng để lên kế hoạch, thiết kế ý tưởng cho các công trình, dự án

Ontology thuật ngữ (Linguistic/Terminological Ontologies) mô tả các khái

niệm theo hướng tiên đề và định nghĩa được phát biểu dưới dạng logic hoặc một vài ngôn ngữ hướng đối tượng chuyển đổi theo dạng logic Các dạng logic này không hạn chế về việc phát biểu các tiên đề và định nghĩa và máy tính có thể dễ dàng thực hiện Các Ontology ngôn ngữ có thể là bảng chú giải các thuật ngữ, từ điển, từ vựng

điều khiển, phân cấp, …

Ontology phần mềm (Software Ontologies) cung cấp lược đồ khái niệm mà

trọng tâm chính là lưu trữ và thao tác dữ liệu

Ontology hình thức (Formal Ontologies) yêu cầu ngữ nghĩa rõ ràng của các

ngôn ngữ được sử dụng để định nghĩa các khái niệm Các ngôn ngữ thường được sử

dụng để mô tả Ontology loại này là logic thủ tục, logic mô tả hoặc đồ thị khái niệm

- Phân loại dựa trên phạm vị của các đối tượng được mô tả

Trang 28

Ontology cục bộ/ứng dụng (Local Ontologies/Application Ontologies) bao

gồm các tri thức cần thiết dùng để mô hình hóa cho một lĩnh vực cụ thể theo quan

điểm của người phát triển

Ontology lĩnh vực (Domain Ontologies) có thể tái sử dụng trong một lĩnh vực

nào đó

Ontology tác vụ (Task Ontologies) cung cấp các từ vựng được hệ thống hóa từ

các thuật ngữ dùng để giải quyết các tác vụ

Ontology tham chiếu lõi (Core Reference Ontologies) là sự tích hợp nhiều

Ontology lĩnh vực nhằm cung cấp các khái niệm quan trọng của một lĩnh vực

Ontology tổng quát (Genenal Ontologies) bao gồm các tri thức có ý nghĩa

chung không dành riêng cho một miền hay một lĩnh vực cụ thể

Ontology cấp độ cao (Top Level Ontologies/Upper Level Ontologies) diễn tả

những khái niệm tổng quát và trừu tượng có thể chia sẻ qua nhiều lĩnh vực và ứng dụng Nó không được sử dụng trực tiếp mà được sử dụng thông qua các ontology khác

2.4 Phương pháp kiểm tra, đánh giá bằng trắc nghiệm khách quan

2.4.1 Các phương pháp kiểm tra, đánh giá kết quả học tập thường dùng

Ta có thể tóm tắt hệ thống các phương pháp kiểm tra, đánh giá kết quả học tập

bằng sơ đồ dưới đây [9]:

Trang 29

- Phương pháp quan sát giúp xác định thái độ, hành vi, thao tác và kĩ năng

thực hành của người được kiểm tra Phương pháp này chủ yếu mang tính chất định tính nên thường dùng trong đánh giá kết quả thực hành

- Phương pháp vấn đáp thường dùng trong các bài kiểm tra xử lí tình huống,

rèn luyện sự phản ứng nhanh nhạy trong các trường hợp cụ thể Phương pháp này có

độ chính xác tương đối cao tuy nhiên không thích hợp để kiểm tra một số lượng kiến thức lớn và mất khá nhiều thời gian để thực hiện

- Phương pháp kiểm tra viết là phương pháp được sử dụng phổ biến nhất với

ưu điểm có thể kiểm tea đồng thời nhiều học sinh, bao gồm hai hình thức là trắc nghiệm tự luận và trắc nghiệm khách quan

Đúng/sai

Nhiều lựa chọn

Trang 30

2.4.2 Đôi nét về phương pháp trắc nghiệm khách quan [15] [19]

Tác giả Dương Thiệu Tống định nghĩa “Trắc nghiệm là một dụng cụ hay phương thức hệ thống nhằm đo lường một mẫu các động thái để trả lời câu hỏi: thành tích của cá nhân như thế nào khi so sánh với những người khác hay so sánh với một lĩnh vực các nhiệm vụ dự kiến” [6]

Có rất nhiều phương pháp kiểm tra, đánh giá kết quả học tập của người học,

có thể nhắc đến như quan sát, vấn đáp, trắc nghiệm tự luận, trắc nghiệm khách quan,… Từ những năm đầu thập niên 50, 60 của thế kỉ XX trắc nghiệm khách quan

đã bắt đầu được áp dụng trong các trường học Theo đó, rất nhiều tài liệu về trắc nghiệm khách quan cũng được xuất bản với một số đại diện tiêu biểu như Lê Quang Nghĩa (1963) với “Trắc nghiệm vạn vật lớp 12”; Phùng Văn Hướng (1964) với

“Phương pháp học và thi vạn vật lớp 12”; Dương Thiệu Tống với “Trắc nghiệm thành quả học tập” [13]

Đến những năm 90 của thế kỷ XX, với mục đích thúc đẩy việc sử dụng trắc nghiệm khách quan trong kiểm tra đánh giá ở bậc phổ thông, giáo sư Trần Bá Hoành

đã biên soạn những tài liệu đề cập đến những kĩ thuật cơ bản nhất của việc xây dựng, thử nghiệm và ứng dụng trắc nghiệm khách quan như “Đánh giá trong giáo dục” (1996), “Đổi mới phương pháp dạy học” (1997) [13]

Tuy có những bước phát triển đáng ghi nhận nhưng phương pháp đo lường bằng trắc nghiệm khách quan vẫn còn khá nhiều hạn chế Một sự kiện khác đánh dấu

sự phát triển của phương pháp trắc nghiệm khách quan đó là vào tháng 7/1996 trường Đại học Đà Lạt đã tổ chức kỳ thi tuyển sinh vào đại học thí điểm bằng phương pháp trắc nghiệm khách quan Năm 1998 trường Đại học Tây Nguyên, Đại học Quốc gia

thành phố Hồ Chí Minh cũng tổ chức thi bằng hình thức này

Trắc nghiệm khách quan có bốn hình thức chủ yếu đó là câu hỏi dạng đúng/sai (True-false items), câu hỏi ghép đôi (Matching items), câu điền khuyết (Completion items), câu nhiều lựa chọn (Multiple choice question - MCQ)

Trang 31

- Câu hỏi dạng đúng/sai (True-false items) được thể hiện dưới hình thức một câu nhận định, phát biểu Học sinh trả lời bằng cách lựa chọn một trong hai đáp án Đúng hoặc Sai, rất thích hợp trong việc kiểm tra tính đúng đắn của các định luật, khái niệm hay sự kiện lịch sử Tuy nhiên điểm hạn chế của dạng câu hỏi này là xác suất

để lựa chọn đáp án đúng mà không cần phải tư duy là 50% Nói cách khác, độ tin cậy trong việc đánh giá của dạng câu hỏi này là không cao, tạo tâm lý chủ quan và hình thành thói quen học thuộc lòng chứ không suy nghĩ và phân tích vấn đề

- Câu hỏi dạng ghép đôi (Matching items) là câu hỏi bao gồm có hai dãy thông tin, yêu cầu thí sinh phải ghép đúng từng cặp nội dung của hai dãy thông tin để có được một thông tin đúng, đầy đủ Thường dạng câu hỏi này được cho với dữ liệu của hai dãy không bằng nhau để cặp cuối cùng vẫn còn nhiều đáp án để lựa chọn

- Câu hỏi dạng điền khuyết (Completion items) nêu ra một mệnh đề có khuyết

một bộ phận, thí sinh phải điền nội dung thích hợp vào bộ phận còn trống Dạng câu hỏi này hạn chế tính may rủi, nó đòi hỏi người làm phải nhớ, phân tích và trình bày nội dung một cách đúng đắn

- Câu hỏi dạng nhiều lựa chọn (Multiple choice question – MCQ) đưa ra một nhận định hay một nội dung chưa hoàn chỉnh và một số phương án trả lời (thường là

4 – 5) Trong các phương án trả lời chỉ có một phương án trả lười đúng nhất, các phương án còn lại là có tác dụng “gây nhiễu” (distractor) cho thí sinh

Trong phạm vi đề tài này chỉ tập trung và phương pháp trắc nghiệm khách quan với dạng câu hỏi nhiều lựa chọn, có 4 phương án trả lời và có một lựa chọn đúng nhất

Dạng câu hỏi này có 2 thành phần chính là phần nội dung hỏi - câu dẫn (stem) nêu vấn đề, cung cấp thông tin cần thiết hoặc một câu hỏi và phần lựa chọn gồm có các phương án trả lời cho câu hỏi hoặc bổ sung cho phát biểu được hoàn chỉnh Trong các phương án đó chỉ có một phương án đúng nhất

Trang 32

2.4.3 Độ khó của câu trắc nghiệm và độ khó của đề kiểm tra, đánh giá

2.4.3.1 Độ khó của câu trắc nghiệm

Người ta xác định độ khó dựa vào việc thử nghiệm câu hỏi trắc nghiệm trên các đối tượng thí sinh phù hợp, và định nghĩa độ khó p bằng tỷ số phần trăm thí sinh làm đúng câu hỏi trên tổng số thí sinh tham gia làm câu hỏi đó: [9] [12]

𝒑 = 𝒕ổ𝒏𝒈 𝒔ố 𝒕𝒉í 𝐬𝐢𝐧𝐡 𝒕𝒓ả 𝒍ờ𝒊 đú𝒏𝒈

𝒕ổ𝒏𝒈 𝒔ố 𝒕𝒉í 𝐬𝐢𝐧𝐡 𝒕𝒉𝒂𝒎 𝒈𝒊𝒂Theo đó giá trị p thông thường có thể chấp nhận được là từ 0,25 đến 0,75, lớn hơn 0,75 là quá dễ, nhỏ hơn 0,25 là quá khó

- Từ 75% - 100% là câu dễ;

- Từ 30% - 75% là câu trung bình;

- Dưới 30% là câu khó

2.4.3.2 Độ khó của đề kiểm tra, đánh giá

Để xác định được độ khó của một đề kiểm tra người ta thường tính toán dựa trên tỉ lệ các câu với các mức độ khó khác nhau trong tổng số câu của

đề kiểm tra Hiện nay, chưa có tài liệu chính thức nào quy định cụ thể tỉ lệ câu hỏi theo mức độ khó để xác định độ khó của đề kiểm tra Tuy nhiên theo ý kiến của các chuyên gia thông thường đối với một đề kiểm tra với mức độ khó nào đó thì tỉ lệ câu hỏi có độ khó tương ứng thường nằm trong khoảng từ 50 – 60% Chẳng hạn một đề kiểm tra có số lượng câu hỏi 45 câu với độ khó trung bình thì phải có khoảng từ 23 – 27 câu có độ khó trung bình còn lại là các câu hỏi với các mức độ khó khác

Trang 33

Trong phạm vi của luận văn này, thông qua ý kiến các chuyên gia việc xác định mức độ khó của đề kiểm tra được thể hiện qua sự phân bố câu hỏi như sau:

Mức độ đề thi Tỷ lệ

câu dễ

Tỷ lệ câu trung bình

Tỷ lệ câu khó

Tỷ lệ câu khá khó

Trang 34

CHƯƠNG 3: THIẾT KẾ CƠ SỞ TRI THỨC, MÔ HÌNH HÓA YÊU CẦU VÀ

XÂY DỰNG THUẬT GIẢI 3.1 Mô hình tri thức nhập môn lập trình tiếp cận Ontology

Đầu tiên, tiến hành thu thập và phân tích một yếu tố kiến thức của nhập môn lập trình: biến (variables), ta nhận thấy rằng kiến thức về biến bao gồm các thành phần như khái niệm biến, cách khai báo biến, quy tắc đặt tên biến, giá trị của biến, vị trí khai báo biến (hay phạm vi của biến) Với mỗi thành phần đó có thể chỉ sẽ chứa nội dung kiến thức của nó hoặc phân chia ra thành các thành phần nhỏ hơn, chi tiết hơn Chẳng hạn, thành phần kiến thức về phạm vi của biến được chia thành các thành phần nhỏ hơn như biến cục bộ và biến toàn cục, ta có thể thể hiện như sau:

* Biến

- Khái niệm biến <nội dung>

- Khai báo biến <nội dung>

- Quy tắc đặt tên biến <nội dung>

- Giá trị của biến <nội dung>

- Phạm vi của biến

+ Biến toàn cục <nội dung>

+ Biến cục bộ <nội dung>

Tương tự, khi phân tích các yếu tố tri thức khác, ta thấy chúng đề có thể được phân cấp từ tổng quát đến chi tiết theo cấu trúc tương tự Phân tích một cách tổng quát hệ thống tri thức của môn học nhập môn lập trình tôi đánh giá tri thức về nhập môn lập trình có thể được xây dựng theo hệ thống phân cấp các yếu tố tri thức từ tổng quan đến chi tiết Mỗi yếu tố tri thức có một định danh kèm theo nội dung của yếu tố tri thức đó, lưu trữ dưới dạng văn bản

Các Ontology gồm có nhiều thành phần, tuy nhiên thành phần quan trọng nhất của một Ontology là lớp (Class) – biểu diễn tương ứng các khái niệm (concept) được

Trang 35

tổ chức theo một cấu trúc phân cấp để mô tả các khái niệm trong một miền tri thức Trong phạm vi luận văn này, tôi đã nghiên cứu và đề xuất một Ontology đơn giản nhằm mô tả các yếu tố kiến thức về Nhập môn lập trình dưới dạng cấu trúc phân cấp Qua quá trình nghiên cứu tôi nhận thấy với hệ thống tri thức này mô hình dữ liệu phân cấp dạng cây là phù hợp để biểu diễn cho hệ thống tri thức nhập môn lập trình bởi vì mô hình này được xây dựng bằng cách phân cấp theo node, node gốc là node tổng quát nhất, các nhóm yếu tố tri thức được lưu trữ vào các node con gọi là node nhánh, với mỗi node nhánh của cây ta có thể phân cấp thành các node nhánh con, các node này sẽ phân cấp cho đến node chứa yếu tố tri thức sâu nhất (gọi là node lá) Tổng quát mô hình gồm có một node gốc, các node nhánh và các node lá có cấu trúc được trình bày dưới dạng sơ đồ sau:

Sơ đồ 3.1 Sơ đồ mô hình tri thức nhập môn lập trình Cấu trúc mỗi node gồm có 4 thành phần

NODE (key, name, value, parent)

Trang 36

Key: lưu trữ giá trị định danh của một yếu tố tri thức nhất định làm cơ sở để xác định

một node

Name: lưu trữ tên (nội dung đặc trưng cho yếu tố tri thức)

Value: lưu trữ 1 văn bản thể hiện nội dung của yếu tố tri thức tương ứng

Parent: lưu trữ key của node cha, nhằm xác định thành phần tri thức cấp trên

Tổ chức lưu trữ dữ liệu dưới dạng một quan hệ như sau:

Bảng 3.1 Bảng dữ liệu lưu trữ cây tri thức về nhập môn lập trình

<key 1> <name 1> <value 1> <key_parent>

<key i> <name i> <value i> <key_parent>

<key n> <name n> <value n> <key_parent>

Trong phạm vi của đề tài này, tôi đã tham khảo các tài liệu liên quan đến kiến thức nhập môn lập trình như: Giáo trình Tin học 2 [1], Đề cương môn học Cơ sở lập trình, Trường Đại học Mở Thành phố Hồ Chí Minh [2], Đề cương môn học Nhập môn lập trình, Trường Đại học Công nghệ thông tin – Đại học Quốc gia Thành phố

Hồ Chí Minh [3], Giáo trình kỹ thuật lập trình C (căn bản và nâng cao) [16], C++ Programming From Problem Analysis to Program Design [20], The Complete Reference C++ [21] Từ đó, tiến hành thu thập và phân nhóm các yếu tố kiến thức cơ

sở để xây dựng hệ thống phân cấp các yếu tố đó theo mô hình đã đề ra Mặc khác, ngoài các tài liệu trên, trong quá trình thu thập kiến thức tôi còn tham khảo ý kiến của các chuyên gia là giảng viên có giảng dạy môn học nhập môn lập trình

Theo đó, tôi đã xây dựng cây yếu tố kiến thức với 8 nhánh chính bao gồm: Các vấn đề cơ bản của ngôn ngữ lập trình C; Các kiểu dữ liệu cơ sở; Hằng, Biến; Các toán

tử và biểu thức; Lệnh; Hàm; Dữ liệu có cấu trúc Mỗi nhánh chính có thể bao gồm từ

2 đến 7 nhánh con và độ sâu tối đa là 4

Trang 37

Ví dụ yếu tố kiến thức về Biến

 Biến

 Khái niệm biến

 Khai báo biến

 Quy tắc đặt tên biến

 Giá trị của biến

 Vị trí khai báo biến (phạm vi)

3.2 Mô hình cho ngân hàng câu hỏi trắc nghiệm và việc thu thập

3.2.1 Mô hình của 1 câu hỏi trắc nghiệm

Câu hỏi trong phạm vi đề tài này là dạng câu hỏi trắc nghiệm khách quan gồm

có nội dung câu hỏi với 4 đáp án để lựa chọn, trong đó có 1 đáp án đúng nhất Với cấu trúc thông thường của một câu hỏi trắc nghiệm khách quan dạng có nhiều lựa chọn bao gồm 3 thành phần chính là nội dung (phần dẫn), các phương án để lựa chọn

và đáp án đúng của câu hỏi

Tuy nhiên, để phục vụ cho việc phân cấp độ và liên kết với các yếu tố kiến thức cần kiểm tra đánh giá của môn học nhập môn lập trình, đề tài này đã xây dựng một mô hình câu hỏi trắc nghiệm với 6 thành phần, ngoài 3 thành phần chính nói trên tôi đã đề xuất bổ sung thêm 3 thành phần tạo thành cấu trúc câu hỏi có 6 thành phần, bao gồm:

1 Khóa câu hỏi

2 Nội dung câu hỏi

3 Các sự lựa chọn (4 nội dung đáp án để lựa chọn)

4 Đáp án đúng

5 Mức độ của câu hỏi (dễ, trung bình, khó, khá khó)

6 Yếu tố kiến thức mà câu hỏi muốn kiểm tra, đánh giá

Qua quá trình nghiên cứu tôi nhận thấy để lưu trữ các thành phần trên của một câu hỏi trắc nghiệm ta có thể sử dụng 1 cấu trúc gồm 6 thành phần: Khóa câu hỏi

Trang 38

(STT), nội dung hỏi, các đáp án, đáp án đúng, mức độ của câu hỏi (dễ, trung bình, khó, khá khó) và yếu tố kiến thức mà câu hỏi muốn kiểm tra, đánh giá

Mô hình như sau:

Cauhoi (khóa, nội dung câu hỏi, các đáp án, đáp án đúng, mức độ, yếu tố kiến thức)

Ví dụ: Câu 1 Lệnh nào trong các lệnh sau cho phép chuyển đến đầu vòng lặp,

chuẩn bị chu trình mới mà không cần phải thực hiện các lệnh còn lại của vòng lặp?

A break B goto C continute D return

Độ khó: Dễ

Đáp án đúng: C

Yếu tố kiến thức liên quan: lệnh ngắt

3.2.2 Mô hình ngân hàng câu hỏi trắc nghiệm

Danh sách câu hỏi trắc nghiệm là một tập hợp gồm nhiều (n) câu hỏi trắc nghiệm có cấu trúc và thành phần giống hệt nhau, vì vậy mô hình của danh sách các câu hỏi trắc nghiệm là một danh sách các thành phần có cấu trúc, mỗi cấu trúc có mô hình của 1 câu hỏi trắc nghiệm và được tổ chức lưu trữ dữ liệu dưới dạng một quan

Mức

độ khó

Khóa kiến thức

[khóa

câu hỏi]

[nội dung]

[mức

độ khó]

[khóa kiến thức]

3.2.3 Thu thập và xây dựng ngân hàng câu hỏi trắc nghiệm

Ngân hàng câu hỏi trắc nghiệm được xây dựng thông qua việc tìm kiếm, thu thập các câu hỏi từ các nguồn khác nhau như internet, sách bài tập, tài liệu tham khảo liên quan đến môn học cũng như các đề kiểm tra, đánh giá sinh viên tại các trường có

Trang 39

sử dụng hình thức kiểm tra, đánh giá bằng hình thức thi trắc nghiệm Sau đó, các câu hỏi được phân tích, thống kê và tiến hành phân nhóm, đánh giá mức độ khó Trong quá trình phân tích và đánh giá, đề tài còn tham khảo ý kiến của các chuyên gia để nhằm nâng cao tính đúng đắn của việc xác định nội dung kiến thức đánh giá và mức

độ khó của câu hỏi trắc nghiệm

Ngoài ra, sau khi thu thập, tôi đã soạn thảo bổ sung một số câu hỏi thuộc các yếu tố kiến thức cơ sở của đề tài để phục vụ cho quá trình thử nghiệm hệ thống Ngân hàng câu hỏi thử nghiệm bao gồm các câu hỏi thuộc các yếu tố kiến thức cơ sở như Các vấn đề cơ bản của ngôn ngữ lập trình C; Các kiểu dữ liệu cơ sở; Hằng, Biến; Các toán tử và biểu thức; Lệnh; Hàm; Dữ liệu có cấu trúc Chúng được chọn lọc, đánh giá

và phân bổ vào 4 mức độ khó gồm Dễ, Trung bình, Khó, Khá khó

Từ các câu hỏi thuộc ngân hàng trên, ta có thể tạo ra các đề thi phục vụ cho việc kiểm tra, đánh giá kiến thức về môn học nhập môn lập trình Các thành phần chính của một đề thi bao gồm: Khóa, Mã đề, Các câu hỏi và được lưu trữ thành quan

hệ có dạng như sau:

[khóa] [Khóa đề thi] [Khóa câu hỏi]

3.3 Bảng liên kết giữa câu hỏi trắc nghiệm và yếu tố kiến thức

Bảng liên kết giữa câu hỏi trắc nghiệm và các yếu tố kiến thức thể hiện mối quan

hệ giữa một câu hỏi trắc nghiệm với yếu tố kiến thức mà nó cần kiểm tra, đánh giá, gồm 2 thành phần: khóa kiến thức, khóa câu hỏi trắc nghiệm

Qua quá trình nghiên cứu tôi nhận thấy để lưu trữ các thành phần trên ta sử dụng cấu trúc gồm 2 thành phần, cụ thể mô hình như sau:

Bảng 3.3 Bảng dữ liệu lưu trữ liên kết kiến thức

Khóa câu hỏi Yếu tố kiến thức

[khóa câu hỏi] [khóa yếu tố kiến thức]

Trang 40

Sự liên kết giữa câu hỏi trắc nghiệm và các yếu tố kiến thức là chìa khóa để có thể kiểm tra, đánh giá được mức độ hiểu biết của sinh viên đối với một yếu tố kiến thức thông qua việc làm bài thi từ các câu hỏi trắc nghiệm đó Mối liên hệ này làm cơ sở cho quá trình suy luận và đưa ra các nhận xét, đánh giá kết quả bài thi

Chẳng hạn, khi sinh viên hoàn thành bài thi với 50 câu hỏi thuộc 3 yếu tố kiến thức gồm mảng, biến và kiểu dữ liệu thì chính việc phân tích và suy luận thông qua mối quan quan hệ liên kết giữa từng câu hỏi với từng yếu tố kiến thức, hệ thống có thể đánh giá yếu tố kiến thức nào sinh viên này còn hạn chế nhất, từ đó đưa ra định hướng cho sinh viên ôn tập, cải thiện

3.4 Tổ chức lưu trữ cơ sở dữ liệu và tri thức của hệ thống

Sau khi thiết kế các mô hình và thu thập dữ liệu liên quan, ta cần tổ chức việc lưu trữ các dữ liệu và tri thức đó trên máy tính Trong quá trình xử lý các tác vụ có thể phát sinh một số quan hệ phụ nhưng cơ bản cần có các quan hệ sau:

3.4.1 Các bảng dữ liệu

Khóa tri thức

Tên tri thức

Nội dung tri thức

Khóa node cha

Khóa câu hỏi Nội dung câu hỏi Lựa chọn A Lựa chọn B Lựa chọn C Lựa chọn D Đáp án đúng Mức độ khó Khóa tri thức

Tên người dùng Mật khẩu

Phân quyền

Khóa Khóa đề thi Khóa câu hỏi

Ngày đăng: 27/03/2023, 19:54

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Đặng Thành Tín (2005), Tin học 2, Nhà xuất bản Khoa học và kỹ thuật, Hà Nội Sách, tạp chí
Tiêu đề: Tin học 2
Tác giả: Đặng Thành Tín
Nhà XB: Nhà xuất bản Khoa học và kỹ thuật
Năm: 2005
[2] Đề cương môn học Cơ sở lập trình, Trường Đại học Mở Thành phố Hồ Chí Minh Sách, tạp chí
Tiêu đề: Cơ sở lập trình
[3] Đề cương môn học Nhập môn lập trình, Trường Đại học Công nghệ thông tin - Đại học Quốc gia Thành phố Hồ Chí Minh Sách, tạp chí
Tiêu đề: Nhập môn lập trình
[4] Đỗ Văn Nhơn (2016), Biểu diễn tri thức và suy luận, Nhà xuất bản Đại học quốc gia Thành phố Hồ Chí Minh Sách, tạp chí
Tiêu đề: Biểu diễn tri thức và suy luận
Tác giả: Đỗ Văn Nhơn
Nhà XB: Nhà xuất bản Đại học quốc gia Thành phố Hồ Chí Minh
Năm: 2016
[5] Đoàn Thị Luyến (2012), Nghiên cứu xây dựng hệ thống thi trắc nghiệm trực tuyến bậc trung học phổ thông, Luận văn thạc sĩ Khoa học máy tính, Trường Đại học Đà Nẵng Sách, tạp chí
Tiêu đề: Nghiên cứu xây dựng hệ thống thi trắc nghiệm trực tuyến bậc trung học phổ thông
Tác giả: Đoàn Thị Luyến
Năm: 2012
[6] Dương Thiệu Tống (1995), Trắc nghiệm và đo lường thành quả học tập, Bộ Giáo dục và Đào tạo, Trường Đại học Tổng hợp Thành phố Hồ Chí Minh Sách, tạp chí
Tiêu đề: Trắc nghiệm và đo lường thành quả học tập
Tác giả: Dương Thiệu Tống
Năm: 1995
[7] Hoàng Kiếm (2001), Giải một bài toán trên máy tính như thế nào, Nhà xuất bản Giáo Dục Sách, tạp chí
Tiêu đề: Giải một bài toán trên máy tính như thế nào
Tác giả: Hoàng Kiếm
Nhà XB: Nhà xuất bản Giáo Dục
Năm: 2001
[8] Hoàng Kiếm, Đỗ Phúc, Đỗ Văn Nhơn, Giáo trình các hệ cơ sở tri thức, Nhà xuất bản Đại học Quốc gia Thành phố Hồ Chí Minh Sách, tạp chí
Tiêu đề: Giáo trình các hệ cơ sở tri thức
Nhà XB: Nhà xuất bản Đại học Quốc gia Thành phố Hồ Chí Minh
[9] Lâm Quang Thiệp (2010), Đo lường trong Giáo dục - Lý thuyết và ứng dụng, Nhà xuất bản đại học quốc gia Hà Nội Sách, tạp chí
Tiêu đề: Đo lường trong Giáo dục - Lý thuyết và ứng dụng
Tác giả: Lâm Quang Thiệp
Nhà XB: Nhà xuất bản đại học quốc gia Hà Nội
Năm: 2010
[10] Nguyễn Quang Hoan (2007), Giáo trình nhập môn trí tuệ nhân tạo, Học viện công nghệ bưu chính viễn thông Sách, tạp chí
Tiêu đề: Giáo trình nhập môn trí tuệ nhân tạo
Tác giả: Nguyễn Quang Hoan
Năm: 2007
[11] Nguyễn Thái Hòa (2013), Nghiên cứu xây dựng hệ thống thi trắc nghiệm cho trường cao đẳng y tế Trà Vinh, Luận văn thạc sĩ Khoa học máy tính, Trường Đại học Đà Nẵng Sách, tạp chí
Tiêu đề: Nghiên cứu xây dựng hệ thống thi trắc nghiệm cho trường cao đẳng y tế Trà Vinh
Tác giả: Nguyễn Thái Hòa
Năm: 2013
[12] Nguyễn Thị Hồng Minh, Nguyễn Đức Thiện (2006), Đo lường - Đánh giá trong thi trắc nghiệm khách quan: Độ khó câu hỏi và khả năng của thí sinh, Tạp chí khoa học - Đại học Quốc gia Hà Nội, T.XXII, số 4, 2006 Sách, tạp chí
Tiêu đề: Đo lường - Đánh giá trong thi trắc nghiệm khách quan: Độ khó câu hỏi và khả năng của thí sinh
Tác giả: Nguyễn Thị Hồng Minh, Nguyễn Đức Thiện
Năm: 2006
[14] Nguyễn Thị Thu Hà (2013), Xây dựng phần mềm trắc nghiệm loại hình thông minh cho trẻ 11 - 12 tuổi, Luận văn Thạc sĩ Khoa học máy tính, Học viện công nghệ bưu chính viễn thông Sách, tạp chí
Tiêu đề: Xây dựng phần mềm trắc nghiệm loại hình thông minh cho trẻ 11 - 12 tuổi
Tác giả: Nguyễn Thị Thu Hà
Năm: 2013
[15] Nguyễn Thị Thúy An (2016), Đánh giá kết quả học tập môn giáo dục học của sinh viên đại học sư phạm theo tiếp cận năng lực, Luận văn thạc sĩ khoa học giáo dục, Viện Khoa học giáo dục Việt Nam Sách, tạp chí
Tiêu đề: Đánh giá kết quả học tập môn giáo dục học của sinh viên đại học sư phạm theo tiếp cận năng lực
Tác giả: Nguyễn Thị Thúy An
Năm: 2016
[16] Phạm Văn Ất (2009), Giáo trình kỹ thuật lập trình C (căn bản và nâng cao), Nhà xuất bản Hồng Đức, Hà Nội Sách, tạp chí
Tiêu đề: Giáo trình kỹ thuật lập trình C (căn bản và nâng cao)
Tác giả: Phạm Văn Ất
Nhà XB: Nhà xuất bản Hồng Đức
Năm: 2009
[17] Phần mềm thi trắc nghiệm ED Quiz 2.1, Khoa Anh, Trường Đại học Sư phạm Thành phố Hồ Chí Minh Sách, tạp chí
Tiêu đề: ED Quiz 2.1
[18] Phần mềm thi trắc nghiệm Exam version 2.0, Công ty TNHH Tin học Gold Step Tiếng Anh Sách, tạp chí
Tiêu đề: Exam version 2.0
[19] Bui Ngoc Quang (2017), Evaluation of the quality of multiple choice test bank for the module of Introduction to Anthropology by using the RASCH model and QUEST software, SCIENCE &amp; TECHNOLOGY DEVELOPMENT, Vol 20, No.X3- 2017 Sách, tạp chí
Tiêu đề: Evaluation of the quality of multiple choice test bank for the module of Introduction to Anthropology by using the RASCH model and QUEST software
Tác giả: Bui Ngoc Quang
Năm: 2017
[20] D.S. Malik (2010), C++ Programming From Problem Analysis to Program Design, Fifth (5th) Edition Sách, tạp chí
Tiêu đề: C++ Programming From Problem Analysis to Program Design
Tác giả: D.S. Malik
Năm: 2010
[28] Phần mềm thi trắc nghiệm trực tuyến, Trường trung cấp nghề Hà Tĩnh, http://tcnhatinh2.phanmemdaotao.com/ Link

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