Chương 1. Giới thiệu tong quan về máy tính và lập trình: Thu thập tri thức khái niệm về máy tính, cấu trúc tổng quan và các thiết bị ngoại vi, các khái niệm co bản về lập trình, các ngôn ngữ lập trình, các hệ đếm trên máy tính, chuyền đổi giữa các hệ đếm, công nghệ lập trình hiện đại và triển vọng tương lai,. - Chương 2: Giới thiệu về thuật toán: Tri thức về vấn đề/bài toán, khái niệm thuật toán, sự cần thiết và các tiêu chuẩn, cũng như các cách biéu diện thuật toán. Các kiêu đữ liệu cơ sở và phép toán trong C++: chương trình là gi?, khái niệm về biến và hằng, các kiểu dữ liệu cơ sở, khái niệm biểu thức, tri thức về câu lệnh gan và biểu thức gan.
- Chương 4: Các cấu trúc điều khiển: Tri thức câu lệnh và khối lệnh trong lập trình, phạm vi hoạt động của biến, cấu trúc rẽ nhánh if, if-else, switch-case, cấu trúc lặp for,while, do. - Chương 5: Hàm và tham số của ham: Tri thức về hàm, phân biệt ham trong toán học va trong lập trình, tri thức về lợi ích và cấu trúc viết hàm, các loại đệ quy, cũng như cách viết, nguyên tắc hoạt động của hàm đệ quy, ưu khuyết điểm của phương pháp đệ quy,. - Chương 6: Mang: thu nhập kiến thức về mảng trong lập trình, lợi ich của việc 10 sử dụng mảng các yếu tố để xác định mảng, các tác vụ trên mảng, thu thập kiến thức về khai báo, khởi tạo, nhập xuất chuỗi,. - Chương 7: Cấu trúc: thu thập tri thức về khai báo, khởi tạo và sử dụng biến cấu trúc, cấu trúc phức hợp, vấn đề liên quan khác: Phép gán, truyền cấu trúc cho hàm, kích thước của cấu tric,.
- Chương 8: Con trỏ: Thu thập tri thức về khai vai trò, tầm quan trọng, Vai trò, tam quan trọng của con trỏ,. - Chương 9: Lập trình với tập tin: Tri thức thu thập về tập tin dang văn bản, qui trình chung và cơ chế đọc ghi dữ liệu, một số thao tác trên tập tin van bản,.2 Tri Thức về cấu trúc dự liệu và giải thuật Tương tự như tri thúc về cầu trúc dữ liệu và giải thuật cũng được mô tả ở bản phụ lục tri thức về kỹ thuật lập trình, nội dung từng chương về cấu trúc dữ liệu và giải thuật như sau[1 1]. - Chương 1-2 : Tổng quan về giải thuật và cấu trúc dữ liệu: cấu trúc dữ liệu là gì? Tri thức về kiểu dữ liệu trừ tượng, về thuật toán, biểu diễn thuật toán và độ phức tạp, phân tích, phân lớp thuật toán, Tìm kiếm và sắp xép: tri thức thu thập được ở chương này là các giải thuật tìm kiếm nội, bài toán tim kiếm. - Chương 3: Cấu trúc dữ liệu động: kiến thức có được ở chương này bao gồm kiểu dit liệu con trỏ, danh sách liên kết, các hình thức tô chức danh sách, cấu trúc dữ liệu dạng danh sách liên kết khac,.
- Chương 4: Ngăn xếp, hàng đợi: tri thức được thu thập ở chương này về ngăn xếp, hàng đợi, ví dụ ngăn xếp, hàng đợi,. - Chương 5: Cấu trúc cây: thu thập các kiến thức về cấu trúc, tinh chat cây, cây nhị phân, cây tổng quát, cây nhị phân tìm kiếm,. - Chương 6: Bảng băm: các kiến thức thu thập được như bảng băm là gì, phương pháp băm, phân tích bảng băm, giải quyết đụng độ.2 Khái niệm về cơ sở tri thức Theo Nikoletta Bika [4], cơ sở tri thức là một thư viện trực tuyến, nơi thông tin về một chủ đề được thu thập, sắp xếp và dé dàng truy cập. Được thiết kế đề cung cấp câu trả lời nhanh chóng cho người sử dụng khi họ cần đến chúng.
Cơ sở tri thức bao 11 gồm các tài liệu, các hướng dẫn, các câu hỏi thường gặp, v. Còn theo Mathew Patterson[5], cơ sở tri thức là một bộ sưu tập thông tin có tổ chức, được quản lý về một lĩnh vực chủ đề cụ thê - một cách làm cho thông tin đó dễ tiếp cận và sử dụng hơn. Cơ sở tri thức là một công cụ tự phục vụ, cung cấp cho khách hàng để họ tự tìm câu trả lời mà không cần yêu cầu và chờ đợi của người khác. Từ hai định nghĩa trên ta thấy rằng cơ sở tri thức có đặc điểm chính là một hệ thống phục vụ thông tin trực tuyến, cung cấp thông tin chỉ tiết về một lĩnh vực nào đó cụ thé và trả lời các câu hỏi phổ biến.
Kiến thức trong cơ sở tri thức có thể có được từ nhiều nguồn, những nhà chuyên gia thuộc lĩnh vực liên quan sẽ bô sung và mở rộng nội dung. Với mục tiên xây dựng cơ sở tri thức về kỹ thuật lập trình nhằm kết hợp con người với công nghệ thông tin dé tạo lập, quản lý, chia sẻ và sử dụng tri thức. Giúp phần lớp sinh viên gặp lỗ hỗng về kiến thức hai môn học tại trường là nhập môn lập trình, cấu trúc dữ liệu vả giải thuật. Bên cach đó, cơ sở tri thức còn được trình bày dưới dang văn bản, hình ảnh, video, âm thanh, hay bất kỳ định dạng phương tiện nào khác.
Nên có thể cung cấp thông tin cho người dung một cách tiếp thu hiệu quả nhất. Đặc biệt là với phần mềm cơ sở tri thức cụ thể, chẳng hạn trong luận văn là về kỹ thuật lập trình thì người sử dụng có thể được cung cấp đúng thông tin, nhanh hơn. Mà một trong những mô hình biểu diễn một lĩnh vực và được sử dụng để suy luận về các đối tượng trong lĩnh cu thé và mối quan hệ giữa chúng là Ontology sẽ được trình bài ở mục 2.1 Giới tl lệu chung vỀ ontology Một trong những định nghĩa phổ biến về ontology, R. Arp và cộng sự [2]: Ontology là một sản phẩm trình diễn do con người tạo ra, với thành phần đặc thù là một bảng phân loại biểu diễn tường minh một tổ hợp nào đó của các kiểu, các lớp được định nghĩa và một sô quan hệ giữa chúng.
Chang han Ontology ứng dụng ( application ontology) được tạo ra nhằm mục đích thực hiện một số bài toán hoặc ứng dụng cụ thẻ. Ontology cung cấp một bộ từ vựng chung bao gồm các khái niệm, các thuộc 12 tính quan trọng và các định nghĩa về các khái niệm và các thuộc tính, cung cấp các ràng buộc. Các ontology được sử dụng như là một biéu mẫu trình bai tri thức về thế giới hay một phần của nó. Các thành phần trong ontology gồm: - Cá Thẻ (Individuals): La các thành phan cơ bản, nền tang của một ontology, bao gồm các đối tượng cụ thể (con người, động vat,.) căng như các cá thể trừu tượng.
- Lớp(Classes): Là các nhóm, tập hợp các đối tượng trừa tượng. Các ontology biến đổi tùy thuộc vào cấu trúc và nội dung, một lớp có thé chứa các lớp con, lớp tông quát chứa tat cả mọi thứ, cũng có thé chỉ chứa những cal thé riêng lẻ. - Thuộc tính(Properties): các đối tượng trong ontology có thề được mô tả thông qua việc khai báo các thuộc tính. Mỗi thuộc tính đều có tên và giá trị.
Được sử dụng để lưu trữ các thông tin mà đối tượng có thể có. - Mối quan hệ(Relation): Mô tả mối liên hệ giữa các đối tượng trong ontology. Một mối quan hệ là một thuộc tính có giá trị là một đối tượng nào đó.2 Các bước xây dựng ontology Năm lý do ma Natalya F.Noy [3] dưa ra đê xây dựng một ontology như sau: Thứ nhất: việc chia sẽ sự “hiểu” về các cầu trúc thông tin giữa con người và các phần mềm là mục tiêu lớn nhất trong sự phát triển của ontology. Ví dụ, nhiều website chứa đựng các thông tin hay dịch vụ về tin học, các website này chia sẽ trên cơ sở sử dụng các thuật ngữ của cùng mồ ontology thì máy tính có thẻ trích chọn và tích hợp thông tin, trả lời cho các truy vấn người dùng hay làm input cho một ứng dụng khác.
Thứ hai: xây dung ontology cho phép khả năng sử dụng lại các tri thức miễn. "Thứ ba: cho phép khả năng sử dụng lại các tri thức miền Thứ tư: việc xây dựng ontology cho phép tách biệt tri thức miền với tri thức thi hành. Thứ năm: phân tích tri thức miễn là hoàn toàn có thể thi hành được khi đã biết được các định nghĩa của các khái niệm trong ontology được xây dựng.Noy [3] đã chỉ ra 7 bước chính dé xây dung ontology, bao gồm: Bước 1: Xác định miền cần xây dựng ontology và phạm vi của việc xây dựng ontology Bước 2: Ra soát, phân tích các ontology đã được xây dựng có liên quan đến miền cần 13 xây dựng ontology, qua đó xem xét việc tái sử dụng và tích hợp các ontology đã có. Bước 3: Phân tích, trích xuất từ các nguồn đữ liệu, qua đó xác định được các khái niệm, thuật ngữ quan trọng của ontology cần xây dựng.
Bước 4: Xác định các khái niệm và cây phân cấp các khái niệm của ontology cần xây dựng. Bước 5: Định nghĩa các thuộc tính của các khái niệm. Bước 6: Định nghĩa miền giá trị của các thuộc tính của các khái niệm. Bước 7: Tạo các thể hiện của các khái niệm và quan hệ giữa các thể hiện của các khái niệm.3 Xây dung ontology về kỹ thuật lập trình.
Quy trình xây dựng Dựa theo các quy trình xây dựng ontology đang được dùng hiện nay và đặc thù về ngôn ngữ tiếng việt, và dựa trên qui trình xây dựng ontology lĩnh vực CNTT [1], luận văn đề xuất quy trình xây dựng ontology về miền kỹ thuật lập trình bao gồm bốn bước: Bước 1: Xác định phạm vi và Thu thập các ontology từ nhiều nguồn. Luận văn tập trung vào kiến thức hai môn học được giảng dạy tại đại học quốc gia TP. Hồ Chí Minh- trường đại học công nghệ thông tin là nhập môn lập trình, cấu trúc dữ liệu và giải thuật. Tham khảo thêm các ebook [6] và sách dé thu thập thêm.
Bước 2: Làm giàu ontology, thông kê trên tập tri thức thu thập với kết quả tìm kiếm trên Internet, nếu chưa có thì bổ sung vào đề làm tăng số lương ontology về kỹ thuật lập trình. Bước 3: Rút chích keyphrase và mối quan từ Bước 2. Xây dựng ontology từ dữ liệu đó, mô hình cụ thể để xây dựng và lưu trữ là PT_ONTO sẽ được trình bài cụ thể ở chương 3. Bước 4: Chuẩn hóa Ontology.
Dưới sự giám sát của chuyên gia, các ontology lần lượt được xây dựng và lưu vào hệ thống.