Chương 1 cũng trình bày mục tiêu và các nội dung thực hiện cùng với phạm vi thực hiện của đề tài. Nội dung luận văn gồm 5 chương, cấu trúc các chương tiếp theo của luận văn như sau: 9 • Chương 2: Luận văn sẽ trình bày việc khảo sát kiến thức của môn học OOP trong chương trình đào tạo ngành Công nghệ thông tin bậc đại học, và khảo sát các phương pháp biểu diễn tri thức cho việc tra cứu kiến thức. • Chương 3: Luận văn trình bày mô hình biểu diễn tri thức cho môn học theo tiếp cận ontology. Mô hình này kết hợp với đồ thị tri thức để có thể tổ chức cơ sở tri thức trên hệ thống tra cứu chuẩn xác hơn.
Chương 3 cũng đề xuất các vấn đề và các thuật giải tương ứng cho việc thiết kế hệ thống tra cứu kiến thức hỗ trợ việc học tập, đặc biệt cho môn học OOP. • Chương 4: Trình bày việc thiết kế thử nghiệm hệ thống hỗ trợ tra cứu kiến thức môn học OOP. • Chương 5: Trình bày các kết quả đạt được của luận văn và các hướng phát triển trong tương lai. 10 CHƯƠNG 2: KHẢO SÁT KIẾN THỨC MÔN HỌC LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG VÀ CÁC PHƯƠNG PHÁP BIỂU DIỄN TRI THỨC 2.1 Thu thập tri thức theo bài học Kiến thức môn học Lập trình hướng đối tượng (Object Oriented Programming - OOP) được thu thập từ [23], [24].
Nội dung môn học được chia thành 4 chương với 28 bài học. Các nội dung đó được thể hiện trong Bảng 2.1 như sau: Bảng 2.1 Các bài học được thu thập trong môn OOP Chương Bài học 1. Các phương pháp lập trình 1. Tổng quan lập 1.
Các khái niệm cơ bản trong OOP trình hướng đối tượng 1. Các đặc điểm quan trọng của OOP 1. Phân tích, thiết kế, và lập trình hướng đối tượng 2. Định nghĩa hàm thành phần 2.
Khai báo và tạo lập đối tượng 2. Phạm vi truy xuất 2. Lớp và đối tượng 2. Phương thức thiết lập 2.
Phương thức hủy bỏ 2. Phương thức truy vấn và cập nhật 2. Thành viên tĩnh – static member 3. Việc khởi tạo đối 3.
Đối tượng là thành phần của lớp tượng, hàm bạn và 3. Đối tượng là thành phần của mảng 3. Đối tượng được cấp phát động lớp bạn 3.4 Hàm bạn, lớp bạn 11 3. Giao diện và chi tiết cài đặt 3.
Các nguyên tắc xật dụng lớp 4. Giới thiệu overload toán tử và hàm 4. Các loại toán tử C++ 4. Các toán tử Overload được 4.
Cú pháp Operator Overloading 4. Chuyển kiểu (type conversions) Overloading 4. Phép toán << và >> 4. Phép toán lấy phần tử mảng: [ ] 4.
Phép toán gọi hàm: ( ) 4. Phép toán tăng ++ và giảm -- 2.2 Thu thập theo phân loại tri thức Từ các kiến thức đã được thu thập, các nội dung kiến thức được phân loại theo thành phần tri thức: a) Thành phần Khái niệm hay các Định nghĩa trong môn học b) Thành phần luật, tính chất, công thức c) Thành phần Toán tử và phép toán trong môn học.2 Thể hiện một phần tri thức đã được phân loại trong miền kiến thức môn học OOP.2 Phân loại các kiến thức theo thành phần tri thức Phân loại Yếu tố tri thức Kiến thức gốc Kiến thức liên quan Lập trình không có cấu Khái niệm Lập trình không trúc. Lập trình có cấu trúc. / Định có cấu trúc Phương pháp lập trình Lập trình hướng đối tượng.
12 Khái niệm Lập trình có cấu Lập trình có cấu trúc. Lập trình không có cấu trúc / Định trúc Lập trình thủ tục. Lập trình hướng đối tượng nghĩa Lập trình hướng đối Khái niệm Lập trình hướng tượng. Lập trình không có cấu trúc.
/ Định đối tượng Hướng đối tượng. Lập trình có cấu trúc nghĩa OOP. Khái niệm Lớp (class) Đối tượng / Định Đối tượng (object) (object) Sơ đồ đối tượng nghĩa Khái niệm Đối tượng (object) / Định Lớp (class) Lớp (class) nghĩa Sơ đồ đối tượng Khái niệm Sơ đồ đối tượng Tổng quan về Đối tượng (object) / Định Sơ đồ lớp sơ đồ đối tượng Class (lớp) nghĩa Sơ đồ thể hiện Khái niệm Đóng gói (Encapsulation) Trừu tượng hóa Trừu tượng hóa / Định Thừa kế (Inheritance) (Abstraction) (Abstraction) nghĩa Đa hình (polymorphism) Trừu tượng hóa Khái niệm Đóng gói Đóng gói (Abstraction) / Định (Encapsulation) (Encapsulation) Thừa kế (Inheritance) nghĩa Che dấu thông tin Đa hình (polymorphism) Trừu tượng hóa Khái niệm Thừa kế (Abstraction) / Định Thừa kế (Inheritance) (Inheritance) Đóng gói (Encapsulation) nghĩa Đa hình (polymorphism) Trừu tượng hóa Khái niệm (Abstraction) Đa hình Đa hình / Định (Polymorphism) (Polymorphism) Đóng gói (Encapsulation) nghĩa Thừa kế (inheritance) 13 Phân tích Thiết kế đối tượng (Object hướng đối Oriented Design – OOD) Khái niệm Phân tích hướng đối tượng (Object / Định tượng (Object Oriented Lập trình hướng đối tượng Oriented nghĩa Analysis – OOA) (Object Oriented Analysis – OOA) Programming - OOP) Phân tích hướng đối tượng Luật (định Thiết kế đối (Object Oriented Analysis – Thiết kế đối tượng OOA) lý, công tượng (Object (Object Oriented thức, tính Oriented Lập trình hướng đối tượng Design – OOD) chất,…) Design – OOD) (Object Oriented Programming - OOP) Lập trình hướng Phân tích hướng đối tượng Luật (định đối tượng (Object Oriented Analysis – Lập trình hướng đối lý, công (Object OOA) tượng (Object Oriented thức, tính Oriented Programming - OOP) Thiết kế đối tượng (Object chất,…) Programming - OOP) Oriented Design – OOD) Khái niệm Khái niệm lớp Cú pháp khai / Định Cú pháp khai báo lớp Các thành phần của lớp báo lớp nghĩa Cơ chế tạo lập các lớp Khái niệm Các thành phần của lớp Khái niệm lớp Các thành phần / Định Thuộc tính Cú pháp khai báo lớp của lớp nghĩa Phương thức Cơ chế tạo lập các lớp Khái niệm Khái niệm lớp Cơ chế tạo lập / Định Cơ chế tạo lập các lớp Các thành phần của lớp các lớp nghĩa Cú pháp khai báo lớp Khái niệm Định nghĩa hàm Định nghĩa hàm thành / Định thành phần phần nghĩa Khái niệm Khai báo và tạo Khai báo và tạo lập đối / Định lập đối tượng tượng nghĩa 14 Khái niệm Hàm thành phần Phạm vi truy / Định Phạm vi truy xuất Con trỏ this xuất nghĩa Phép gán đối tượng Khái niệm Phạm vi truy xuất Tham số hàm / Định Hàm thành phần Con trỏ this thành phần nghĩa Phép gán đối tượng Khái niệm Phạm vi truy xuất / Định Con trỏ this Con trỏ this Hàm thành phần nghĩa Phép gán đối tượng Phạm vi truy xuất Toán tử - Phép gán đối Phép gán đối tượng Hàm thành phần Phép toán tượng Con trỏ this Khái Phương thức thiết lập mặc Tổng quan về niệm/ Khái niệm phương thức định phương thức Định thiết lập Phương thức thiết lập sao thiết lập nghĩa chép Luật (định Khái niệm phương thức thiết Phương thức lập lý, công Phương thức thiết lập thiết lập mặc thức, tính mặc định Phương thức thiết lập sao định chất,.) chép Luật (định Khái niệm phương thức thiết Phương thức lập lý, công Phương thức thiết lập thiết lập sao thức, tính sao chép Phương thức thiết lập mặc chép chất,.) định Luật (định lý, công Phương thức Phương thức hủy bỏ thức, tính hủy bỏ chất,.) Luật (định Phương thức cập nhật lý, công Phương thức Phương thức truy vấn Phương thức truy vấn và cập thức, tính truy vấn chất,.) nhật 15 Luật (định Phương thức truy vấn lý, công Phương thức Phương thức cập nhật Phương thức truy vấn và cập thức, tính cập nhật chất,.) nhật Luật (định Phương thức truy vấn Phương thức lý, công Phương thức truy vấn truy vấn và cập Phương thức cập nhật thức, tính và cập nhật nhật chất,.) member Luật (định Đối với class Đối với các ngôn ngữ (C, lý, công C++) Đối với class Thành viên tĩnh – static thức, tính chất,.) member Phương thức static Luật (định Phương thức static Đối với các ngôn ngữ (C, lý, công Phương thức C++) thức, tính static Thành viên tĩnh – static chất,.) member Đối với class Khái niệm Đối tượng là Đối tượng là thành / Định thành phần của phần của lớp nghĩa lớp Khái niệm Đối tượng là Đối tượng là thành / Định thành phần của phần của mảng nghĩa mảng Cấp phát và hủy một đối Khái niệm tượng Đối tượng được Đối tượng được cấp / Định cấp phát động phát động Cấp phát và hủy hiều đối nghĩa tượng Luật (định Đối tượng được cấp phát lý, công Cấp phát và hủy Cấp phát và hủy một động thức, tính một đối tượng đối tượng Cấp phát và hủy hiều đối chất,.) tượng 16 Luật (định Đối tượng được cấp phát lý, công Cấp phát và hủy Cấp phát và hủy hiều động thức, tính hiều đối tượng đối tượng Cấp phát và hủy một đối chất,.) tượng Khái niệm / Định Hàm bạn Hàm bạn Lớp bạn nghĩa Khái niệm / Định Lớp bạn Lớp bạn Hàm bạn nghĩa Khái niệm Giao diện và Giao diện và chi tiết cài / Định chi tiết cài đặt đặt nghĩa Luật (định lý, công Các nguyên tắc Các nguyên tắc xây thức, tính xây dựng lớp dựng lớp chất,.