Các phần tử XML trong cấu trúc câu hỏi của IMS Như đã đề cập ở phần trước, IMS sử dụng XML đề lưu trữ các nguồn tàinguyên nội dung có cấu trúc, một trong các nguồn tài nguyên có cấu trúc
Trang 1LỜI NÓI ĐẦU
Năm năm học tập tại trường Đại Học Bách Khoa Hà Nội là khoảng thời gian quý giá trong cuộc đời em Ngay từ những ngày đầu tiên tới trường, em đã được các thầy giáo, cô giáo tận tình giảng dạy, đã cho em nhiều kiến thức chuyên môn cũng như phương pháp học tập, làm việc khoa học Đặc biệt khi vào chuyên ngành Công nghệ thông tin, không những em được tiếp xúc với nhiều kiến thức mới qua những bài giảng của các thầy các cô, mà em còn hiểu thêm nhiều điều về
xã hội, vì ngoài những kiến thức chuyên môn mà các thầy các cô cung cấp cho chúng em, các thầy các cô còn quan tâm, nhắc nhở chúng em trong cách làm việc, cách ứng xử, Em xin gửi lời cảm ơn chân thành tới các thầy các cô trong bộ môn Công nghệ phần mềm đã dìu dắt em những bước đầu tiên trong nghề Những kiến thức em nhận được từ các thầy các cô, những điều các thầy các cô căn dặn, chúng em luôn luôn nhớ và chúng em xin hứa sẽ thực hiện thật tốt.
Nhân dịp này, em cũng xin gửi lời cảm ơn tới thầy Vũ Đức Vượng và thầy Huỳnh Quyết Thắng Các thầy đã nhiệt tình hướng dẫn, tạo điều kiện về thời gian cũng như phương tiện, trang thiết bị, cung cấp cho em những tài liệu và kiến thức quý báu để em có thể hoàn thành được đồ án tốt nghiệp này Hiện nay, hình thức thi trắc nghiệm đang được áp dụng trong nhiều trường, nhiều trung tâm đào tạo Thi lấy chứng chỉ TOEFL, thi lấy chứng chỉ của VITEC, hay như cuộc thi đường lên đỉnh OLYMPYA cho khối phổ thông trung học đều đã áp dụng hình thức trắc nghiệm Do vậy, em hi vọng kết quả của đồ án này sẽ có ích cho mọi người, giúp mọi người dễ dàng hơn trong việc ôn tập và kiểm tra lại những kiến thức đã
có, cũng như học hỏi thêm được nhiều kiến thức mới Dù đã rất cố gắng, nhưng trong đồ án này chắc chắn còn những thiếu sót nhất định Em mong các thầy các
cô nhận xét, hướng dẫn, góp ý và giúp đỡ em để đồ án này được hoàn thiện hơn.
Cuối cùng, em xin gửi lời cảm ơn tới gia đình, tới những người bạn đã quan tâm, giúp đỡ em, động viên em học tập và giúp đỡ em hoàn thành đồ án tốt nghiệp này.
Phan Anh Tân
Trang 2MỞ ĐẦU
Vấn đề đào tạo từ xưa đến nay đều mang tính chất quan trọng, góp phầnquyết định sự phát triển của nhiều lĩnh vực khác nhau Do nhu cầu ngày càng caocủa xã hội về đào tạo ngành nghề, tiếp thu công nghệ mà nhiều trường đại học đã
mở thêm rất nhiều khoa, viện, nâng cấp cơ sở vật chất Nhiều cơ sở đào tạo nghề,bồi dưỡng kiến thức cũng ra đời Để tham gia được những khoá học như vậy,học viên cần phải làm rất nhiều thủ tục, cũng như phải lo đến các vấn đề khác như
đi lại, nơi ở Điều này thực sự là một vấn đề đáng quan tâm đối với những người
Trong đào tạo, có rất nhiều vấn đề cần quan tâm như: Các thủ tục đăng kýhọc, đăng ký lớp, đăng ký môn học rồi các vấn đề khác như: trình tự các mônhọc, các bài học, làm thế nào để được học tiếp môn khác, bài khác hay là việc hỏiđáp giữa thầy và trò được thực hiện như thế nào, giữa các học viên thì trao đổi rasao Tuy nhiên, trong phạm vi đề tài này, em muốn thực hiện một phần trong E-learning, nhưng cũng là phần quan trọng và không thể thiếu, nó góp phần quyếtđịnh tới việc đánh giá trình độ của các học viên, đó là phần thi trắc nghiệm
Việc áp dụng chuẩn để thiết kế và xây dựng các hệ thống đang trở nên phổbiến trong lĩnh vực công nghệ phần mềm cũng như trong nhiều lĩnh vực khác.Hiện nay, có 5 chuẩn chính cho việc xây dựng một hệ thống E-learning là:ARIADNE, AICC, IEEE, IMS, và SCORM Mỗi chuẩn khi được đưa ra đều cónhững ưu điểm nhất định Tuy nhiên, khái niệm “chuẩn” cũng chỉ mang tính tươngđối, bởi thực tế cho thấy vẫn còn khá nhiều chuẩn cho cùng một vấn đề đang cùngtồn tại và phát triển, nên không nhất thiết phải áp dụng toàn bộ một chuẩn nào đómột cách cứng nhắc, bởi giữa các hệ thống phần mềm đều có những đặc trưngriêng, dù các hệ thống phần mềm đó có giải quyết cùng một vấn đề hay không Do
Trang 3vậy, trong phần đồ án này, em muốn xây dựng hệ thống thi trắc nghiệm dựa theo
mô hình của chuẩn IMS (Instructional Management Systems) Một trong những lý
do cơ bản để lựa chọn chuẩn IMS vì đây chuẩn trong vấn đề đóng gói và xuất bảnnội dung, SCORM cũng lựa chọn chuẩn của IMS để áp dụng vào vấn đề đóng gói
và xuất bản tài nguyên Dựa theo mô hình nghĩa là không áp dụng toàn bộ các yêucầu của chuẩn này, mà chỉ lựa chọn và sử dụng những yếu tố lý thuyết thích hợp,
từ đó đề ra hướng giải quyết cho bài toán đặt ra
Như vậy, mục tiêu được đặt ra trong đồ án này là:
- Tìm hiểu chuẩn IMS cho các loại hình câu hỏi trắc nghiệm
- Dựa vào một số loại hình câu hỏi trắc nghiệm tiêu biểu do IMS đề xuất đểxây dựng công cụ biên soạn và quản lý các câu hỏi trắc nghiệm sử dụngtrong hệ thống thi trắc nghiệm
Trang 4CHƯƠNG 1 CƠ SỞ LÝ THUYẾT CỦA ĐỀ TÀI
1.1 Tổng quan về chuẩn SCORM
SCORM (Sharable Content Object Reference Model: Mô hình đối tượngnội dung có khả năng chia sẻ) là chuẩn được đưa ra nhằm tạo sự thuận tiện trongviệc thao tác dữ liệu giữa các phần mềm dạy học trên nền tảng web (nền tảng webkhông có nghĩa là phần mềm đó phải chạy trên Internet Một ứng dụng web vẫn cóthể chạy được trên một máy PC hoặc trong mạng nội bộ) Theo chuẩn này, để cácthành phần dữ liệu có khả năng tái sử dụng, chúng phải được xây dựng dựa trên
mô hình đối tượng dùng chung (Common Object Model) (Các mô hình này đượctrình bày khá đầy đủ trong các tài liệu của tổ chức ADL Co-lab, có thể xem chi tiếttại địa chỉ www.jointadlcolab.org hoặc trong các tài liệu đi kèm với đồ án này)
Hình 1.1: Các đối tượng dữ liệu dùng chung khi chưa tập hợp
Các thành phần chia sẻ các đối tượng dùng chung có thể tập hợp và sử dụnglại được những đối tượng dùng chung này
Hình 1.2: Các đối tượng dữ liệu dùng chung có thể tập hợp và tái sử dụng
Trang 5Các hệ thống LMS (Learning Management System - Hệ thống quản lý đàotạo) áp dụng SCORM có thể có khả năng di chuyển các course (khoá học, bài học)(một khoá học có thể bao gồm nhiều mô hình dữ liệu có cấu trúc như: Môn học,bài học, kỳ thi, điểm, nguồn tài nguyên câu hỏi Việc di chuyển các course đồngnghĩa với việc di chuyển toàn bộ các dữ liệu có cấu trúc nằm trong course này), tái
sử dụng nội dung của các hệ LMS khác, tạo ra nơi chứa đựng thông tin hỗ trợ khảnăng tìm kiếm nội dung từ các hệ LMS khác
Hình 1.3: Mô hình SCORM của tổ chức ADL Co-lab
Để đạt được các mục tiêu trên, SCORM tập hợp các đặc điểm trong các chuẩn do một số nhóm và công ty có uy tín đề ra (cũng có thể hiểu rằng, SCORM
là chuẩn bao gồm nhiều chuẩn khác nhau, kết hợp với nhau để đạt được mục tiêuđóng gói và chia sẻ nguồn tài nguyên) Có thể chia SCORM thành hai phần chính:
- CAM (Content Aggregation Model: Mô hình tập hợp dữ liệu): Hướng dẫn
cách mà nội dung được mô tả (meta-data) và kết hợp để tạo ra các đơn vị dữ liệu(teaching units), các khoá học (courses) hoặc các chương trình giảng dạy(curricula), cùng với cách đóng gói các nội dung để cung cấp cho các hệ thốngkhác nhau
- RTE (Run Time Environment: Môi trường thực thi): Định nghĩa phương
pháp kỹ thuật để thực hiện và theo dõi các nội dung giảng dạy giữa hệ thống giảngdạy LMS và người học trên máy trạm
Trang 6Như vậy, có thể thấy rằng, SCORM sử dụng chuẩn IMS cho việc đóng gói
và xuất bản nội dung Những hệ thống khác nếu áp dụng chuẩn IMS cho việc đónggói và xuất bản nội dung đều có khả năng tương thích với các hệ thống áp dụngSCORM ở lĩnh vực đóng gói và xuất bản nội dung
IMS là một trong những chuẩn phục vụ cho các hệ thống Elearning Nó quyđịnh cấu trúc nội dung cho các hệ thống (cấu trúc nội dung ở đây nghĩa là cách tổchức và lưu trữ các nội dung dạng như: Bài giảng, khoá học, câu hỏi trắc nghiệm,các nguồn tài nguyên giáo dục ) Các hệ thống khác nhau nếu tổ chức nội dungtheo IMS thì đều có khả năng chia sẻ các nguồn tài nguyên nội dung này
Do mục tiêu của bài toán đặt ra là thiết kế câu hỏi trắc nghiệm, xây dựngcông cụ soạn thảo và quản lý câu hỏi trắc nghiệm, từ đó hình thành hệ thống thitrắc nghiệm, nên trong phần dưới đây, em chỉ đề cập đến mô hình đóng gói nộidung do IMS đề ra trong phần Content Aggregation Model (mô hình tập hợp nộidung), vì nó hỗ trợ cho phần lớn việc tạo ra và lưu trữ các câu hỏi thi trắc nghiệm
Hình 1.4: Chuẩn SCORM là tập hợp của một số chuẩn khác nhau
1.2 Đóng gói nội dung theo chuẩn IMS
1.2.1 Tổng quan
Mục đích của đóng gói nội dung (Content Packaging) là đưa ra một phươngpháp chuẩn để trao đổi nguồn tài nguyên kiến thức (learning) giữa các hệ thốnghoặc các công cụ Content Packaging định nghĩa cấu trúc (cách tổ chức) và cách
Trang 7tập hợp các tài nguyên này Như vậy, Content Packaging có thể dùng để trao đổinguồn tài nguyên giữa các hệ thống, nó cung cấp những xử lý vào/ra chung nhất
mà các hệ thống đều hỗ trợ
Ngoài ra, mô hình IMS Content Packaging còn cung cấp phương pháp đểliệt kê và đóng gói tất cả các tệp dữ liệu vật lý cần thiết để phân phối các nguồn tàinguyên, tạo ra mối quan hệ giữa các tệp dữ liệu với một hoặc nhiều nguồn tàinguyên khác, phân chia nguồn tài nguyên theo cách mà chúng được tổ chức, chophép sử dụng cùng một nguồn tài nguyên trong các ngữ cảnh khác nhau
1.2.2 Cấu trúc nội dung
Mục tiêu của cấu trúc nội dung (content structure) là hỗ trợ việc phát triểnnội dung giảng dạy theo hướng tập hợp nguồn tài nguyên tạo thành những đơn vị
có cấu trúc, áp dụng các cấu trúc này kết hợp với các tác động đặc biệt có thể táisản xuất lại nguồn tài nguyên qua các hệ LMS khác nhau
Cấu trúc nội dung có thể xem như một bản đồ để theo dõi và sử dụng nguồntài nguyên đã được đóng gói Cấu trúc nội dung không những bao gồm nguồn cáctài nguyên, mà còn có các tác động trên những nguồn tài nguyên đó
“Cấu trúc nội dung không đề cập đến chức năng của các hệ LMS, các hệthống LMS đều có những chức năng và đặc trưng riêng nhất định, nhưng cần giả
sử rằng các hệ LMS có chức năng xuất cấu trúc nội dung của nó (export), chứcnăng nhập cấu trúc nội dung từ một hệ LMS khác và lưu trữ cấu trúc đó theo cáchcủa nó (import) Cấu trúc nội dung không yêu cầu các hệ thống LMS phải có môhình được thiết kế giống nhau.” Đây là tư tưởng của một số chuyên gia phát triểncác hệ LMS theo chuẩn IMS, cũng là tư tưởng quan trọng mà những người thiết kế
và xây dựng các hệ LMS cần xem xét và thống nhất, vì tư tưởng này là phươngpháp tiếp cận mới có liên quan đến việc thiết kế nội dung Trong cấu trúc nội dung
có nhiều phần, mỗi phần đều có liên quan đến những khía cạnh khác nhau của cáctài nguyên Các phần đó là:
-Content Hierarchy (Hệ thống phân cấp nội dung): Thể hiện nội dung dưới
dạng cây phân cấp, nhóm các nguồn tài nguyên theo một thứ tự nhất định Trongnhiều trường hợp, cây phân cấp này thể hiện thứ tự mặc định mà một người tạo racho người khác thực hiện
Trang 8-Context Specific Meta-data: Khi nguồn tài nguyên được tạo ra, người phát
triển hi vọng có thể tạo ra được các meta-data đi kèm để mô tả mục đích, địnhnghĩa, tên của các nguồn tài nguyên này Ở đây meta-data có nghĩa là: Dữ liệuđược cấu trúc hoá để mô tả cho một dữ liệu khác, giống như khi ta click chuột phảivào 1 biểu tượng của một file và chọn mục Properties, một bảng hiện ra mô tả cácthuộc tính và thông số của file, có thể coi bảng đó là 1 loại meta-data
-Sequencing and Navigation: Phần này cung cấp cho hệ LMS các thông tin
mà nó cần để xác định nguồn tài nguyên nào sẽ được đưa ra cho người học, và khinào Nó cũng cung cấp cho hệ LMS cách thể hiện sự lựa chọn tới người dùng đểthông qua được các nguồn tài nguyên
Hình dưới đây minh hoạ một số mô hình phân cấp một khoá học:
Mô hình Army Mô hình Air Force Mô hình Marine Corps Mô hình CanadianTiến trình Tiến trình Tiến trình Tiến trìnhĐơn vị Khối Thời kỳ Đối tượng thực hiệnBài học Đơn vị Tiến trình con Đối tượng có thểĐối tượng đào tạo Bài học Bài học Điểm đào tạoBước đào tạo Đối tượng đào tạo Công việc
Đối tượng đào tạo Bước đào tạo
Hình 1.5: Mô hình phân cấp một khoá học của một số tổ chức
Hiểu được phương pháp thiết kế được sử dụng trong cấu trúc nội dung vàcác tiếp cận khác nhau trong việc tập hợp các nội dung sẽ trợ giúp cho việc tái sửdụng và cung cấp các thông tin mở rộng cho một hệ LMS khi nội dung của nóđược di chuyển và thay đổi
1.2.3 Cây nội dung
Việc tạo ra một tập hợp các tài nguyên giảng dạy theo một cấu trúc logicđược hiểu theo nghĩa tổ chức các nguồn tài nguyên này dưới dạng cây (contenthieararchy) SCORM chia các nguồn tài nguyên thành các nhóm gọi là block(khối) Các block ở đây có thể hiểu như một khoá học của một khoa, hay là mộtbài học trong một môn học, cũng có thể là một chương trong một bài học Trongmột block cũng có thể bao hàm các block khác Các block có thể lồng nhau tới cấpbất kỳ Bên trong các block lại được chia thành các khối sco (shareable contentobjects), là các đối tượng nội dung có khả năng chia sẻ (một ví dụ cụ thể là các
Trang 9dạng dữ liệu âm thanh hình ảnh mà các block cần sử dụng) Như vậy, phụ thuộcvào phương pháp thiết kế, cây phân cấp theo nhóm này có thể dùng để thể hiện cáckhái niệm như course (khoá học), chapter (chương), topic (chủ đề) hoặc các kháiniệm tương tự thể hiện cách tập hợp nguồn tài nguyên từ các phần nhỏ hơn.
Hình 1.6: Cây phân cấp nội dung
1.2.4 Meta-data đặc trưng ngữ cảnh
Khi nguồn tài nguyên được tạo ra, cũng cần kèm theo các tài liệu mô tả,phục vụ cho việc định vị và tái sử dụng trong trường hợp cần thiết (meta-data).Một meta-data được hiểu là “độc lập với ngữ cảnh” nếu nó mô tả được nguồn tàinguyên mà không phụ thuộc vào phương pháp tập hợp cụ thể Ví dụ: Một bài họccần hướng dẫn cách xâu kim Trong trường hợp này, meta-data sẽ mô tả kỹ năngthu được: làm cách nào đưa sợi chỉ qua lỗ của kim, mà không mô tả cái kim đượccấu tạo thế nào, xâu kim xong rồi làm gì
Phát triển và ứng dụng meta-data cho các nguồn tài nguyên dạy học và tậphợp các nguồn tài nguyên này là một khái niệm còn mới Nói chung nó thườngđược dùng để khai thác và tái sử dụng nguồn tài nguyên, ngoài ra có thể dùng nó
để mô tả về nguồn gốc tài nguyên, người tạo ra, mục đích của thông tin được tạora Một số nhà nghiên cứu và phát triển SCORM còn cho rằng meta-data có khảnăng giúp đỡ và hướng dẫn người học (learner) hiểu được nội dung các bài học dễdàng hơn
Trước khi đi vào tìm hiểu chi tiết về mô hình các câu hỏi trắc nghiệm doIMS đề xuất, chúng ta sẽ tìm hiểu sơ lược về ngôn ngữ XML Đây là công cụ giúpchúng ta thực hiện được khả năng chia sẻ tài nguyên và tái sử dụng một cách dễdàng
Trang 101.3 XML và ứng dụng trong mô hình câu hỏi trắc
nghiệm của IMS
Mô hình cây phân cấp khá thuận tiện cho việc thể hiện dữ liệu gồm nhiềuphần tử và phần tử con (elements và sub-elements), mà XML lại là giải pháp choviệc thể hiện các phần tử và các phần tử con Do vậy, một tài liệu XML có thể coi
là một cây phân cấp chứa các phần tử cùng với nội dung và thuộc tính của cácphần tử đó Từ đó có thể thấy, XML là giải pháp tốt cho việc lưu trữ các dữ liệu cócấu trúc, mà tiêu biểu là dữ liệu của một câu hỏi trắc nghiệm
1.3.1 Phần tử
Một phần tử (element) là một thành phần của một tài liệu được định nghĩasao cho máy tính có thể hiểu được Mỗi phần tử đều có một bộ phận gọi là thẻ, tên
thẻ nằm trong dấu “<” và “>” Khi có dấu hiệu kiểu <TAGNAME>, bộ dịch của
máy tính sẽ đánh dấu sự xuất hiện của một phần tử mới Khi một thẻ có kèm theo
dấu “/”, ví dụ như </TAGNAME>, bộ dịch hiểu đó là dấu hiệu kết thúc một phần
tử Hai thẻ trên gọi là thẻ bắt đầu và thẻ kết thúc của một phần tử Một phần tử cóthể có nội dung, được đặt giữa thẻ bắt đầu và thẻ kết thúc Phần tử cũng có thể cómột hoặc nhiều thuộc tính Khi một phần tử có một thẻ bắt đầu và một thẻ kết thúc(còn gọi là thẻ mở và thẻ đóng) có phần tên giống nhau, nó được hiểu là định dạngtốt “well-formed” Một ví dụ của phần tử như sau:
<TAGNAME>This is my contents</TAGNAME>
1.3.1.1 Nội dung của phần tử
Một phần tử có thể chứa các phần tử khác, các Parsed Character Data
(PCDATA), Character Data (CDATA), hoặc chứa cả PCDATA và các phần tử PCDATA là một xâu ký tự bất kỳ không chứa ký hiệu của một phần tử PCDATA
là phần nội dung của một phần tử nằm giữa thẻ mở và thẻ đóng CDATA hơi khác
một chút, nó cũng là dữ liệu kiểu ký tự nhưng được sử dụng để thêm vào các ký tự
không bị xử lý như các xâu ký tự thông thường, ví dụ như các đoạn mã Javascript Đoạn dữ liệu được đặt trong CDATA sẽ được đảm bảo nguyên vẹn mà không bị bộ
biên dịch XML hiểu nhầm
Trang 111.3.1.2 Thuộc tính của phần tử
Một thuộc tính cung cấp một thông tin mở rộng, là cách gán các đặc điểmcho một phần tử Một phần tử có thể có một hoặc nhiều thuộc tính, các thuộc tínhnày được đặt trong thẻ mở của phần tử Một thuộc tính được nhận ra bằng tên của
nó, theo sau là dấu “=” Giá trị của thuộc tính được đặt trong dấu nháy kép đóng Ví dụ:
a Tất cả các tên của thẻ (được hiểu là tên của các phần tử) cần tuân theo
nguyên tắc đặt tên của phiên bản XML 1.0, cụ thể: Tất cả các tên có thể bắt đầubằng một ký tự (không được bắt đầu bằng chữ số), bằng một dấu gạch dưới, bất kỳ
ký tự Unicode nào vốn là các ký tự, từ ký tự thứ 2 trở đi có thể sử dụng số, dấu haichấm, dấu chấm Đặc biệt lưu ý là: không được đặt tên có 3 ký tự đầu tiên dạngxml, XML hoặc tương tự như Xml Tuy được sử dụng dấu hai chấm, nhưng đừngbao giờ dùng chúng để đặt tên, vì dấu hai chấm cũng được sử dụng để phân táchcác tên namespace với các tên thuộc tính và thành phần XML cơ bản Việc sửdụng dấu hai chấm để đặt tên có thể gây ra những nhầm lẫn và rắc rối không cầnthiết
b Tên của tất cả các phần tử, thuộc tính đều phải viết chữ thường, như theo
đề nghị của W3C
c Tên của các phần tử, thuộc tính không được sử dụng các tên riêng dành
cho XML như: DOCTYPE, ELEMENT, ATTLIST, ENTITY
Trang 12d Các thẻ được định nghĩa trong hệ thống do IMS đề ra không được phép
định nghĩa lại, ngoại trừ một số trường hợp mở rộng
1.3.2 Giản đồ XML
IMS đưa ra một giản đồ XML (XML schema), trong đó định nghĩa cácphần tử với mẫu nội dung, danh sách các thuộc tính của nó Giản đồ này cũng địnhnghĩa các loại phần tử với các nhóm thuộc tính riêng biệt của chúng, với mục đích:
- Tên của các phần tử được khai báo trước khi định nghĩa loại phần tử đểngăn chặn sự gán ghép lộn xộn của bộ dịch Điều này tương tự như việc ta khaibáo các chương trình con ở phần đầu của một thư viện chương trình
- Các loại phần tử phức tạp có thể được quản lý hiệu quả hơn, có thể hỗ trợkhả năng nâng cấp trong các phiên bản sau
- Các thuộc tính cũng có thể được quản lý và sử dụng hiệu quả, hợp lý hơn
1.3.3 Định nghĩa loại tài liệu
Tên của thẻ, mẫu nội dung, các thuộc tính của các phần tử được định nghĩatrong phát biểu DTD (Document Type Definitions) Các định nghĩa này có thểnằm ở một file riêng biệt hoặc được đặt tại 1 vị trí thích hợp trong cùng tài liệuXML
1.3.3.1 Khai báo nội dung phần tử
Mẫu khai báo nội dung của một phần tử:
<!ELEMENT tagname (Content Model)>
Ví dụ, một phần tử có tên là short, với kiểu dữ liệu là PCDATA được khai
báo như sau:
<!ELEMENT short (#PCDATA)>
1.3.3.1.1 Danh sách các phần tử
Một danh sách các phần tử có thể hiểu là sự lặp đi lặp lại nội dung của mộtphần tử Các phần tử sau khi đã được khai báo, nội dung của nó có thể lặp lại mộthoặc nhiều lần Ví dụ:
<!ELEMENT section (item*,extension?)>
<section>
Trang 13<item> "The first question set."</item>
<item> "The second question set."</item>
1.3.3.2 Khai báo các thuộc tính của phần tử
Dưới đây là ví dụ về cách khai báo thuộc tính của một phần tử:
<!ELEMENT assessment (description, section+, objectives?, result, extension?)>
<!ATTLIST assessment title CDATA #IMPLIED>
Dòng đầu tiên chỉ định rằng có một phần tử tên là assessment có các phần
tử con là: description, section và result Có thể có một hoặc không có phần tử extension, phần tử objectives cũng tương tự như vậy.
Dòng thứ hai khai báo rằng phần tử assessment có một thuộc tính tên là title, giá trị phải thuộc kiểu CDATA Ký hiệu cuối cùng của dòng này là IMPLIED,
nghĩa là cho phép người dùng bỏ qua giá trị của thuộc tính này mà không dùngđến giá trị mặc định
1.3.4 Các luật sử dụng đặc biệt
1.3.4.1 Các ký hiệu dành riêng cho XML
Do XML cũng là một loại ngôn ngữ đánh dấu (sử dụng thẻ) nên bắt buộcphải sử dụng những ký tự đặc biệt cho mục đích đánh dấu Đó là các ký tự sau: Ký
Trang 14tự và (&), ký tự nhỏ hơn (<), ký tự lớn hơn (>), ký tự nháy đơn (‘), ký tự nháy kép (“) Trong trường hợp dữ liệu cần chứa những ký tự này, có thể thay thế nó bằng các xâu ký tự quy ước tương ứng như &, <, >, ', " (lưu ý: các xâu ký tự quy ước đều bắt đầu bằng ký hiệu & và kết thúc bằng ký hiệu ; ) Các giá trị của thuộc tính muốn chứa ký tự nháy đơn hoặc nháy kép thì phải thay
thế bằng các xâu ký tự quy ước tương ứng Phần nội dung của phần tử có thể chứabất kỳ ký tự Unicode nào ngoại trừ các ký tự được dùng cho mục đích đánh dấu kể
trên Trong phần CDATA không được phép chứa ký tự dạng “]]>” vì đây là dấu hiệu kết thúc phần CDATA (dữ liệu dạng CDATA được lưu trữ bên trong cặp ký hiệu <![CDATA[ ] ]> ) Đây cũng là yếu tố quan trọng cần quan tâm khi muốn
lưu trữ một định dạng của HTML (tức là dữ liệu có chứa các thẻ HTML)
1.3.4.2 Xử lý các khoảng trống
Các phần tử và các thuộc tính có thể chứa nhiều khoảng trống, tab chonhững dụng ý riêng, nhưng trong từng hệ thống sử dụng XML, các khoảng trốngnày có thể bị biến đổi không theo ý muốn của người tạo ra Khi tạo ra các tài liệuXML, chúng ta thường sử dụng các công cụ phần mềm hỗ trợ (ví dụ phần mềmXMLSpy) Các phần mềm này thường có khả năng chèn các khoảng trống vào đầutừng dòng văn bản tạo ra những khoảng phân cách thích hợp tuỳ theo vị trí của cácphần tử, các vùng khai báo, các thuộc tính tạo cho người dùng khả năng dễ đọc,
dễ theo dõi và quản lý Các khoảng trống kiểu này thường không mong muốn đốivới những loại tài liệu đã được phân phát cho sử dụng, vì khi đó việc xử lý tài liệuđược dành cho ứng dụng giải quyết Các khoảng trống kiểu này có mặt trong tàiliệu sẽ gây nhiều rắc rối hơn là ích lợi mà nó mang lại
Do vậy, trong một tài liệu XML cần có quy ước rõ ràng về việc xử lý cáckhoảng trống cho phù hợp với mục đích sử dụng XML quy định sử dụng mộtthuộc tính có tên là xml:space được gắn với một phần tử để lưu ý về mục đích sửdụng các khoảng trống trong phần tử đó Trong một tài liệu XML hợp lệ, thuộctính này phải được khai báo nếu có ý định sử dụng nó Các giá trị của thuộc tínhnày có dạng liệt kê (nghĩa là chỉ tồn tại một trong các giá trị được liệt kê ra tại một
thời điểm), gồm hai giá trị: default và preserve Có thể khai báo giá trị nào được
chọn làm giá trị mặc định khởi đầu cho tài liệu Xét ví dụ sau:
Trang 15<!ATTLIST poem xml:space (default | preserve) 'preserve'>
Trong ví dụ trên, giá trị default báo hiệu cho bộ dịch XML biết việc xử lý
các khoảng trống tuỳ thuộc vào cách xử lý trên mỗi hệ thống cụ thể Giá trị
preserve báo cho bộ biên dịch của các ứng dụng biết, khi sử dụng tài liệu XML
này phải đảm bảo vị trí cũng như số lượng các khoảng trống trong tất cả các phần
tử con có thể có của phần tử được khai báo thuộc tính này (ngoại trừ tại một phầncon nào đó có khai báo thuộc tính này với dụng ý khác)
1.3.5 Khả năng mở rộng
Một số nhà cung cấp thứ ba nhận thấy rằng các phần tử hiện có do IMSđịnh nghĩa có một số giới hạn, do vậy không thể phục vụ đầy đủ mục đích của họ.Cần có khả năng mở rộng trên cơ sở những gì đã có XML định nghĩa khả năng
mở rộng là việc thêm thông tin cho một cấu trúc XML đã có, khai báo dưới dạngsau:
<!ELEMENT resp_extension ANY>
<render_choice> Multiple choice selections </render_choice>
<render_hotspot> Image hot spot selections </render_hotspot>
<resp_extension>
<comment>This is a test to demo extensions</comment>
</resp_extension>
</presentation>
Chú ý rằng những phần tử mới định nghĩa mà trùng với những phần tử đã
có trong tài liệu sẽ không được tạo ra
Một mở rộng với không gian tên mới cần có thêm phần mô tả cho mở rộngnày Ví dụ, nhóm ADL (Advanced Distributed Learning) muốn thêm tiếp đầu ngữ
adl vào tên của các phần tử mở rộng do họ định nghĩa để nhận diện (tiếp đầu ngữ
do đó phải được khai báo ở phần đầu tài liệu) Dưới đây là ví dụ:
Trang 16<adl:resp_extension adl:classification="Not classified">
<adl:comment>Discusses how the questions are constructed for defence posts </adl:comment>
</adl:resp_extension>
</item>
1.3.6 Các phần tử XML trong cấu trúc câu hỏi của IMS
Như đã đề cập ở phần trước, IMS sử dụng XML đề lưu trữ các nguồn tàinguyên nội dung có cấu trúc, một trong các nguồn tài nguyên có cấu trúc đó cáccác loại hình câu hỏi trắc nghiệm Do các số lượng các phần tử XML định nghĩatrong cấu trúc của các loại hình câu hỏi khá nhiều, nên xin xem ở phần phụ lục vềthông tin chi tiết về các phần tử này
1.4 Quan điểm của IMS về các loại câu hỏi trắc nghiệm
Theo quan điểm của IMS, các câu hỏi trắc nghiệm phân biệt nhau thôngqua hình thức trả lời cho câu hỏi đó, các câu hỏi trắc nghiệm có bản chất giốngnhau thì được xếp vào cùng một nhóm Như vậy hình thức trả lời là định danh duynhất cho mỗi loại hình câu hỏi trắc nghiệm
1.4.1 Phân loại câu hỏi theo hình thức trả lời
Hình dưới đây minh hoạ sự phân loại các câu hỏi trắc nghiệm theo quan điểmcủa IMS Các thuật ngữ cần lưu ý:
- Cơ bản: Loại câu hỏi chỉ chứa một hình thức trả lời duy nhất.
- Hoà trộn: Loại câu hỏi chứa nhiều hình thức trả lời (ví dụ có thể chứa cả
hình thức lựa chọn lẫn hình thức điền từ vào chỗ trống)
- Sở hữu riêng: Loại câu hỏi của riêng hãng sử dụng, không công bố.
- Độc lập với thời gian: Việc trả lời câu hỏi không bị giới hạn thời gian.
- Hạn chế thời gian: Việc trả lời câu hỏi bị giới hạn thời gian.
Trang 17Hình 1.7: Phân loại câu hỏi theo hình thức trả lời
Cấp độ cuối cùng trong bảng trên được xác định nhờ số lượng các hoạtđộng mà người dùng phải thực hiện Bảng dưới đây mô tả chi tiết về sự phân loạinày:
Đơn Người dùng thực hiện một
thao tác trả lời cho một câuhỏi dạng cơ bản (ví dụ: loạiđiền từ vào một chỗ trốnghoặc loại chọn một phương
án )
Người dùng thực hiện mộtthao tác trả lời cho một câuhỏi dạng hoà trộn Hình thứctrả lời có thể là chọn mộtphương án, điền một từ hoặckhông trả lời
Bội Người dùng thực hiện một
hoặc nhiều thao tác trả lờicho một câu hỏi dạng cơbản (ví dụ: loại chọn nhiềuphương án, loại điền từ vàonhiều chỗ trống )
Người dùng thực hiện mộthoặc nhiều thao tác trả lời chomột câu hỏi dạng hoà trộn.Hình thức trả lời có thể làchọn một hoặc nhiều phương
án, điền một hoặc nhiều từvào chỗ trống, hoặc không trảlời
Có thứ tự Người dùng thực hiện một Người dùng thực hiện một
Trang 18hoặc nhiều thao tác trả lờicho một câu hỏi dạng cơbản (ví dụ: loại kéo thả, loạisắp xếp thứ tự các đốitượng .) Thứ tự các thaotác và thứ tự các phương ántrả lời sẽ được ghi nhận vàđối chiếu với đáp án.
hoặc nhiều thao tác trả lời chomột câu hỏi dạng hoàtrộn.Thứ tự các thao tác vàthứ tự các phương án trả lời
sẽ được ghi nhận và đối chiếuvới đáp án Việc trả lời có thểkhông bắt buộc
1.4.2 Một số loại câu hỏi trắc nghiệm do IMS đề xuất
Dưới đây là danh sách một số loại câu hỏi thi trắc nghiệm cơ bản
- Trắc nghiệm lựa chọn dựa vào tính logic (LID) (Logical identifier)
- Trắc nghiệm lựa chọn dựa vào toạ độ (XYC) (X-Y co-ordinate)
- Trắc nghiệm dựa vào xâu ký tự (STR) (String)
- Trắc nghiệm dựa vào con số (NUM) (Numeric)
- Trắc nghiệm dựa vào nhóm logic (GRP) (Logical groups)
Trong từng loại lại chia thành nhiều hình thức cụ thể hơn như sau:
a Loại trắc nghiệm lựa chọn dựa vào tính logic có các hình thức sau:
- Chọn True/False (dạng văn bản) (Standard True/False-Text based)
- Chọn một phương án (dạng văn bản) (Standard Multiple Choice-Textbased)
- Chọn một phương án (dạng ảnh) (Standard Multiple Choice-Image based)
- Chọn một phương án (dạng audio) (Standard Multiple Choice-Audiobased)
- Chọn nhiều phương án (dạng văn bản) (Standard Multiple Response-Textbased)
- Sắp xếp thứ tự các đối tượng (dạng văn bản) (Standard Order Text based)
Objects Sắp xếp thứ tự các đối tượng (dạng ảnh) (Standard Order ObjectsObjects Imagebased)
Trang 19b Loại trắc nghiệm lựa chọn dựa vào toạ độ có các hình thức:
- Vùng ảnh nhạy cảm (dạng ảnh) (Standard Image Hot Spot-Image based)
- Nối các điểm (dạng ảnh) (Connect the points-Image based)
c Loại trắc nghiệm dựa vào xâu ký tự có các hình thức sau:
- Điền từ vào chỗ trống (một vị trí) (Standard Singler Fill-in-Blank)
- Điền từ vào chỗ trống (nhiều vị trí) (Standard Multiple Fill-in-Blank)
- Trả lời ngắn (dạng văn bản) (Standard Short Answer)
d Loại trắc nghiệm dựa vào con số có các hình thức sau:
- Điền số nguyên vào chỗ trống (Standard Integer Fill-in-Blank)
- Điền số thực vào chỗ trống (Standard Real number Fill-in-Blank)
- Nhập số dùng Slider (Numerical entry with Slider)
e Loại trắc nghiệm dựa vào nhóm logic có các hình thức sau:
- Kéo thả (dạng ảnh) (Standard Drag and Drop-Multiple Images based)Trước khi đi vào các ví dụ mẫu về từng loại hình, chúng ta hãy xem xét vềcách lưu trữ các câu hỏi trắc nghiệm của IMS (cấu trúc câu hỏi) Do IMS phânchia thành khá nhiều loại hình, nhưng một số loại câu hỏi lại có bản chất khágiống nhau (dù cách thể hiện có khác nhau) nên trong phần này em chỉ phân tíchcác lưu trữ của một số loại hình câu hỏi trắc nghiệm cơ bản
Theo chuẩn IMS, loại hình câu hỏi chọn một phương án được lưu bằng mộtfile dạng XML, có cấu trúc như sau:
-Có một thẻ cấp cao nhất tên là <questestinterop>, thẻ này đại diện cho
một câu hỏi trắc nghiệm, dùng để lưu trữ các thể khác cấp thấp hơn
- Thẻ <item> là thẻ con của thẻ <questestinterop>, thẻ này chứa các định nghĩa về loại câu hỏi (chọn đúng sai, điền từ, kéo thả ) Trong thẻ <item>
này có rất nhiều các thẻ con khác, mỗi thẻ đều có những chức năng nhấtđịnh và được sử dụng trong những yêu cầu cụ thể Tuy nhiên, một số thẻsau đây có tính chất quan trọng và thường xuất hiện:
o Thẻ <material> Thẻ này dùng để định nghĩa loại tài liệu cần thể
hiện cho người dùng Khái niệm “tài liệu” ở đây có thể là: nộidung câu hỏi, các phương án trả lời, các phản hồi Các loại tài
Trang 20liệu có thể có là: Thuần văn bản, hình ảnh, âm thanh, video được lưu trữ và định nghĩa trong các thẻ con tương ứng là
<mattext>, <matimage>, <mataudio>, <matvideo>.
o Thẻ <render_choice> Thẻ này chứa các phương án trả lời sẽ
đưa ra cho người dùng trong các loại câu hỏi như: Chọn đúng sai,chọn một phương án, chọn nhiều phương án, điền từ , trong đó,các phương án cụ thể được lưu trữ trong thẻ con là
<response_label>.
Các thẻ khác và vị trí, ý nghĩa của từng thẻ cũng như các thuộc tính của nó,xin xem thêm ở phần phụ lục Tuy nhiên cần lưu ý một điểm khá quan trọng, nội
dung của thẻ <material> rất có thể chứa các ký tự đặc biệt, ví dụ như thẻ <b>, thẻ
<sub>, thẻ <script> trong HTML Trong những trường hợp như vậy, trong thẻ
<mattext> của thẻ <material> thường sử dụng cặp ký hiệu <![CDATA[ ]]> để
lưu trữ các ký tự đặc biệt này Người lập trình cần quan tâm và xử lý những trườnghợp dữ liệu được lưu trữ trong cặp ký hiệu này
Để thuận tiện trong việc theo dõi, phần dưới đây chỉ đưa ra các ví dụ điểnhình ứng với từng mẫu câu hỏi trên Các ví dụ dạng file XML do IMS đề xuất chotừng loại câu hỏi này khá dài nên không đưa trực tiếp vào phần cơ sở lý thuyết, tuynhiên chúng không thể thiếu vì chúng giúp chúng ta hiểu được rõ hơn cấu trúc củatừng loại câu hỏi, đặc biệt càng có ích hơn đối với người lập trình xử lý xuất/nhập
dữ liệu theo chuẩn của IMS Do vậy, các ví dụ dạng file XML này sẽ được lưutrong đĩa CD kèm theo đồ án
1.4.2.1 Các mẫu câu hỏi dạng lựa chọn dựa vào tính logic
1.4.2.1.1 Chọn True/False
Hình 1.8.a: Câu hỏi hiện theo hàng ngang
Trang 21Hình 1.8.b: Câu hỏi hiện theo hàng dọc
Hai hình bên trên thể hiện một câu lựa chọn True/False (Đúng/Sai) tiêubiểu, các tình huống biểu diễn câu hỏi được trình bày theo các kiểu khác nhau(Hình 1.8.a-Các phương án thể hiện theo chiều ngang Hình 1.8.b - Các phương
án thể hiện theo chiều dọc) Trong hai ví dụ này, người dùng cần lựa chọn phương
án Đúng hoặc Sai để trả lời câu hỏi Nội dung file XML lưu trữ câu hỏi ở hình
1.8.a như sau:
<questestinterop>
<qticomment>
Đây là câu hỏi chọn Đúng/Sai, cấu trúc câu dựa theo phiên bản 1.2 của IMS Trong câu hỏi này, các phương án đưa ra được hiển thị theo hàng ngang và hiển thị bằng nút radio button Đáp án cho câu hỏi cũng được đi kèm
Trang 23</item>
</questestinterop>
1.4.2.1.2 Chọn một phương án (dạng văn bản)
Hình 1.9: Nội dung câu hỏi chọn một phương án dạng văn bản
Hình trên thể hiện một ví dụ tiêu biểu về loại câu chọn một phương án(dạng văn bản) Người dùng cần lựa chọn một trong số các phương án được đưa rabằng các click chuột vào một trong các radio button tương ứng để trả lời câu hỏi
1.4.2.1.3 Chọn một phương án (dạng ảnh)
Hình 1.10: Nội dung câu hỏi chọn một phương án dạng ảnh
Hình trên thể hiện dạng câu hỏi chọn một phương án sử dụng ảnh Ngườidùng cần click chuột vào một trong các radio button tương ứng để lựa chọn câu trảlời thích hợp
Trang 24H ình 1.11: Nội dung câu hỏi chọn một phương án dạng audio
1.4.2.1.5 Chọn nhiều phương án (dạng văn bản)
Hình 1.12: Nội dung câu hỏi chọn nhiều phương án dạng văn bản
Hình trên biểu diễn một câu hỏi chọn nhiều phương án (dạng văn bản).Người dùng cần click chuột vào các check button tương ứng để lựa chọn câu trảlời thích hợp
Trang 251.4.2.1.6 Sắp xếp thứ tự các đối tượng (dạng văn bản)
Hình dưới đây biểu diễn một câu hỏi sắp xếp thứ tự các đối tượng Ngườidùng cần click chuột lên các văn bản tương ứng và thay đổi lại thứ tự của chúng
Hình 1.13: Nội dung câu hỏi sắp xếp thứ tự các đối tượng dạng văn bản
1.4.2.1.7 Sắp xếp thứ tự các đối tượng (dạng ảnh)
Hình dưới đây thể hiện một câu hỏi sắp xếp thứ tự các đối tượng dạng ảnh Người dùng sử dụng chuột để di chuyển chúng và sắp xếp lại thứ tự của chúng
Hình 1.14: Nội dung câu hỏi sắp xếp thứ tự các đối tượng dạng văn ảnh
1.4.2.2 Các mẫu câu hỏi dựa vào toạ độ
1.4.2.2.1 Chọn một phương án với vùng ảnh nhạy cảm
Hình dưới đây thể hiện mẫu câu hỏi chọn một phương án với vùng ảnhnhạy cảm Người dùng cần click chuột vào các radio button tương ứng để lựa chọncâu trả lời thích hợp Lưu ý điểm khác ở đây là các radio button được đặt tạinhững toạ độ thích hợp
Trang 26Hình 1.15: Nội dung câu hỏi chọn một phương án với vùng ảnh nhạy cảm
1.4.2.2.2 Chọn nhiều phương án với vùng ảnh nhạy cảm
Hình 1.16: Nội dung câu hỏi chọn nhiều phương án với vùng ảnh nhạy cảm
Hình trên thể hiện một ví dụ về loại câu chọn nhiều phương án với vùng
ảnh nhạy cảm Theo ví dụ này, người dùng cần click chuột vào tất cả các bánh xe
của hai xe trong hình
Trang 271.4.2.2.3 Nối các điểm
Hình 1.17: Nội dung câu hỏi nối các điểm
Hình trên biểu diễn một câu hỏi nối các điểm Theo ví dụ trên, người dùngcần nối 3 điểm nào đó sao cho tam giác tạo thành là tam giác vuông
1.4.2.3 Các mẫu câu hỏi dựa vào xâu ký tự
1.4.2.3.1 Điền từ vào chỗ trống (một vị trí)
Hình 1.18: Nội dung câu hỏi điền từ vào chỗ trống (một vị trí)
Hình trên là một ví dụ về loại câu điền từ vào chỗ trống (một vị trí) Ngườidùng cần nhập câu trả lời vào vị trí trống quy định
1.4.2.3.2 Điền từ vào chỗ trống (nhiều vị trí)
Hình 1.19: Nội dung câu hỏi điền từ vào chỗ trống (nhiều vị trí)
Hình trên là ví dụ về loại câu điền từ vào chỗ trống (nhiều vị trí) Ngườidùng cần nhập câu trả lời vào các vị trí trống quy định
Trang 281.4.2.3.3 Trả lời ngắn (dạng văn bản)
Hình dưới đây là ví dụ loại câu trả lời ngắn dạng văn bản Người dùng cầnnhập đoạn văn bản vào vị trí yêu cầu
Hình 1.20: Nội dung câu hỏi trả lời ngắn (dạng văn bản)
1.4.2.4 Các mẫu câu hỏi dựa vào con số
1.4.2.4.1 Điền số nguyên vào chỗ trống
Hình 1.21: Nội dung câu hỏi điền số nguyên vào chỗ trống
Hình trên là ví dụ về loại câu điền số nguyên vào chỗ trống Người dùngcần nhập một số nguyên vào vị trí yêu cầu
1.4.2.4.2 Điền số thực vào chỗ trống
Hình 1.22: Nội dung câu hỏi điền số thực vào chỗ trống
Hình trên thể hiện một ví dụ về loại câu điền số thực vào chỗ trống Ngườidùng cần nhập số thực thích hợp
1.4.2.4.3 Nhập số dùng thanh trượt (slider)
Trang 29Hình 1.23: Nội dung câu hỏi nhập số dùng thanh trượt
Hình trên là ví dụ về loại câu nhập số sử dụng Slider (thanh trượt) Ngườidùng cần kéo con trượt trên thanh để lựa chọn con số thích hợp
1.4.2.5 Các mẫu câu hỏi theo nhóm logic
1.4.2.5.1 Kéo thả ảnh
Hình dưới đây là ví dụ về loại câu hỏi kéo thả Theo ví dụ này, người dùng
cần kéo những ảnh chứa các câu trả lời ở vùng dưới cùng như venus, jupiter rồi
thả vào các vị trí tương ứng (các hình chữ nhật), bên dưới các hành tinh trong hình Nội dung file XML lưu trữ câu hỏi này xin tham khảo phần phụ lục
Hình 1.24: Nội dung câu hỏi kéo thả ảnh
Trang 301.4.2.6 Các loại câu hỏi kết hợp
1.4.2.6.1 Chọn một phương án kết hợp điền từ vào chỗ trống
Hình dưới đây là ví dụ về loại câu chọn một phương án kết hợp điền từ vàochỗ trống Người dùng có thể lựa chọn một trong số các phương án đưa ra, hoặc tựnhập một phương án khác nếu thấy cần thiết
Hình 1.25: Nội dung câu hỏi một phương án kết hợp điền từ
1.4.2.6.2 Ma trận nhiều phương án
H ình 1.26: Nội dung câu hỏi ma trận nhiều phương án
Hình trên là ví dụ của loại câu chọn nhiều phương án dạng ma trận Ngườidùng có thể chọn nhiều phương án, nhưng trên một dòng ma trận chỉ được phépchọn một phương án
Nội dung dạng file XML của toàn bộ các ví dụ trên, xin xem trong đĩa CDkèm với đồ án này
Trang 311.5 Một số tổ chức trên thế giới hỗ trợ chuẩn IMS
Chuẩn IMS cho việc đóng gói và xuất bản nội dung đã được phát triển kháđầy đủ và ổn định, do đó đã được khá nhiều tổ chức sử dụng cho các hệ Elearningcủa họ Chuẩn IMS cho vấn đề lưu trữ, đóng gói và xuất bản các loại hình câu hỏitrắc nghiệm mới được phát triển, do đó còn khá ít tổ chức hỗ trợ Tuy nhiên,những tổ chức áp dụng chuẩn SCORM và chuẩn IMS trong tương lai sẽ hỗ trợthêm về phần lưu trữ, đóng gói và xuất bản các câu hỏi trắc nghiệm, vì đây là phầnkhông thể thiếu trong các hệ Elearning
Dưới đây là bảng tổng kết một số tổ chức nổi tiếng đã ứng dụng chuẩnSCORM và IMS trong các hệ thống của họ
Tên sản phẩm ContentPackage python library for Zope application
server
Loại ứng dụng Công cụ
Mô tả Đây là thư viện được tạo ra để thêm các chức năng cho phần
Content Packaging, sử dụng cho phần mềm dịch vụ webZOPE Thư viện này được cung cấp dưới dạng mã nguồn mởvới ngôn ngữ Python
Meta-Các khả năng hỗ
trợ
Chỉ cung cấp các khả năng xuất (export), thể hiện và nhập(import) các gói nội dung cho các phiên bản IMS hiện tại.Việc chỉnh sửa các gói nội dung (bao gồm cả phần meta-data) sẽ được hỗ trợ trong các phiên bản tiếp theo
Điạ chỉ truy nhập http://www.zope.org/Members/scottw/ContentPackage
Trang 32Xác nhận Đã được kiểm tra và xác nhận theo quy định của CETIS.
Tên sản phẩm Suite of QTI Development Tools
Loại ứng dụng Dịch vụ trực tuyến (Online Service)
Mô tả Tập hợp các tài liệu về QTI phiên bản 1.2.1, cung cấp các ví
dụ và mẫu các câu hỏi trực quan
Cung cấp các ví dụ cung với đầy đủ các tài liệu hướng dẫn
Điạ chỉ truy nhập http://ford.ces.strath.ac.uk/QTI/
Tên sản phẩm Questionmark Perception
Tên tổ chức Questionmark
Loại ứng dụng Phần mềm ứng dụng
Mô tả Questionmark Perception là phần mềm cung cấp các khả
năng sư phạm như tạo, quản lý và báo cáo về các vấn đề liênquan đến thi trắc nghiệm, có thể chạy độc lập trên hệ điềuhành Windows hoặc chạy trong môi trường web
Yêu cầu về kỹ
thuật, cấu hình
Questionmark Perception đòi hỏi phải thực hiện trên hệ điềuhành Windows 32 bit Khi thực hiện trong môi trường web,Questionmark Perception đò hỏi có dịch vụ Windowswebserver, ví dụ như IIS Xin xem ở
Trang 33www.questionmark.com để biết thêm các yêu cầu về kỹ thuật
và cấu hình môi trường
http://www.questionmark.com/perception/help/v3/kbase/prog028.html
Điạ chỉ truy nhập www.questionmark.com
Xác nhận Canvas Learning đang cố gắng hỗ trợ hàng loạt các hệ thống
Elearning dưới dạng môi trường thực thi
Tên sản phẩm Canvas Learning Author / Player
Tên tổ chức Canvas Learning
Loại ứng dụng Công cụ
Mô tả Canvas Learning Author (CLA) là phần mềm hỗ trợ việc đào
tạo, giáo dục và phát triển nội dung dạy học, phân phối vàtrao đổi các nguồn tài nguyên giữa các hệ Elearning CLA hỗtrợ chuẩn IMS phiên bản 1.2, cung cấp công cụ CanvasLearning Player (CLP) cho người dùng dưới dạng môi trườngthực thi các câu hỏi trắc nghiệm CLP cung cấp sự hỗ trợ chocác hệ LMS và đã tiến hành kiểm tra trên hàng loạt các hệLMS có hỗ trợ SCORM bản 1.2
Yêu cầu về ký Hiện tại, Canvas Learning Author chỉ chạy trên hệ điều hành
Trang 34thuật, cấu hình Windows 32bit và hệ điều hành Mac OSX Canvas Learning
Player cũng chạy được trên hệ điều Windows 32bit và MacOS9
Điạ chỉ truy nhập http://www.canvaslearning.com
Xác nhận Canvas Learning đang cố gắng hỗ trợ hàng loạt các hệ thống
Elearning dưới dạng môi trường thực thi
Tên sản phẩm SCORM Conformance Test Suite
Tên tổ chức ADL Co-Lab
Loại ứng dụng Công cụ
Mô tả Các phiên bản khác nhau của SCORM Conformance Test
Suite cung cấp những mức độ khác nhau cho các nhà pháttriển hệ thống và những người sử dụng để kiểm tra sự ápdụng chuẩn IMS và AICC trong các hệ thống của họ Cácphiên bản muộn hơn là các phiên bản hoàn thiện hơn về cácyêu cầu của chuẩn IMS
Yêu cầu về ký
thuật, cấu hình
SCORM Conformance Test Suite yêu cầu hệ thống phải càiđặt môi trường thực thi Sun Java 2 phiên bản 1.3.1_02 Phiênbản này có thể được tải miễn phí tại địa chỉ:
http://java.sun.com/products/archive/j2se/1.3.1_02/jre/ Cần phải cài đặt môi trường thực thi này trước khi cài đặt
Trang 35áp dụng cho các loại hình câu hỏi trắc nghiệm.
sử dụng trong hệ thống thi trắc nghiệm
Trang 36CHƯƠNG 2: XÂY DỰNG HỆ THỐNG THI
án, không nhất thiết phải phân định hình thức chọn là thanh trượt hay radio button,
vì đó chỉ là cách thể hiện câu hỏi, còn bản chất vẫn chỉ là chọn một phương án
Trong một câu hỏi trắc nghiệm có thể có cùng một lúc các loại hình đaphương tiện như: âm thanh, hình ảnh , do đó, việc phân chia chi tiết như trên chỉmang ý nghĩa làm nổi bật từng loại hình Lấy ví dụ: Với loại hình câu hỏi chọnmột phương án, IMS phân biệt chi tiết loại thuần văn bản, loại hình ảnh, loạiaudio , nhưng thực tế thì vẫn có sự hoà trộn các loại hình này trong một câu hỏitrắc nghiệm cụ thể của IMS
Qua tham khảo tính năng của các hệ thống hỗ trợ chuẩn IMS đề cập ởchương trước, ta thấy: Phần lớn các hệ thống này chỉ hỗ trợ dưới dạng xuất(export) và nhập (import) các câu hỏi trắc nghiệm có cấu trúc của IMS Bản thâncác hệ thống này đều có cách lưu trữ, quản lý và thể hiện riêng đối với từng loạicâu hỏi trắc nghiệm Theo khuyến cáo của một số chuyên gia phát triển SCORM,một hệ thống bất kỳ nên có một cấu trúc riêng Việc sử dụng cấu trúc riêng sẽ tậndụng được tối đa kinh nghiệm cũng như kiến thức của nhóm phát triển hệ thống vànguồn tài liệu sẵn có, đồng thời cũng làm cho hệ thống phù hợp hơn đối với từngloại đối tượng sử dụng, với hoàn cảnh và phạm vi sử dụng Áp dụng chuẩn là mộtđiều cần thiết, nhưng áp dụng như thế nào, áp dụng ở đâu, ở phạm vi nào, đó là
Trang 37điều cần cân nhắc và xem xét Vì chuẩn IMS là chuẩn cho việc đóng gói và tái sửdụng nguồn tài nguyên, nên trong hệ thống thi trắc nghiệm, chuẩn IMS sẽ được ápdụng vào chức năng đóng gói và tái sử dụng các câu hỏi trắc nghiệm.
Như vậy, nhiệm vụ cần thực hiện trước khi thiết kế hệ thống thi trắcnghiệm (để thuận tiện, hệ thống được đặt tên là ATQTIS – A Template ofQuestion and Test Interoperability System) là:
- Thứ nhất, cần đưa ra cấu trúc cụ thể cho từng loại hình câu hỏi trắcnghiệm sao cho phù hợp với phạm vi của hệ thống sẽ thiết kế
- Thứ hai, cần xây dựng một công cụ cho phép soạn thảo, chỉnh sửa và quản
lý, cũng như xuất bản và nhập các câu hỏi trắc nghiệm giữa các hệ thống hỗ trợIMS một cách dễ dàng
2.1 Cấu trúc câu hỏi trong ATQTIS
2.1.1 Quan điểm của ATQTIS về các loại hình câu hỏi trắc nghiệm
ATQTIS phân biệt các câu hỏi trắc nghiệm qua bản chất của từng loại câu.Những câu hỏi có cùng bản chất sẽ được xếp vào cùng một loại, dù cách thể hiệncác câu hỏi đó có khác nhau hay không Thực tế hiện nay, có một số loại hình câuhỏi trắc nghiệm thường xuyên được sử dụng trong các kỳ thi, đó là các loại hìnhsau:
- Thứ nhất, loại câu chọn một phương án (Multiple Choice) Loại hình nàybao gồm cả loại câu hỏi lựa chọn đúng/sai (vì bản chất cũng chỉ là chọnmột trong nhiều phương án đưa ra)
- Thứ hai, loại câu chọn nhiều phương án (Multiple Response)
- Thứ ba, loại câu điền từ vào chỗ trống (Fill in blank) Loại hình này không
có sự phân biệt một chỗ trống hay nhiều chỗ trống, không phân biệt chỗ cầnđiền là xâu ký tự hay số
2.1.1.1 Các thành phần cơ bản của loại câu hỏi chọn một phương án (Multiple Choice)
Loại câu hỏi này cơ bản gồm các phần chính sau:
Trang 38- Phần nội dung câu hỏi (content): Phần này lưu trữ nội dung mà câu hỏiyêu cầu người dùng phải trả lời Thông thường nội dung câu hỏi loại này đượckèm với yêu cầu: Chọn một trong các phương án sau, chọn một trong các phương
án dưới đây, trong các phương án sau, phương án nào đúng
- Phần các phương án trả lời (request): Phần này lưu trữ các phương án trảlời mà câu hỏi cung cấp cho người dùng Một trong những phương án này là đáp
án của câu hỏi
- Phần đáp án (response): Phần này lưu trữ đáp án cho câu hỏi Đáp án làmột trong các phương án đã đưa ra
- Phần phản hồi (feedback): Phần này có thể có hoặc không, nó sử dụng đểphản hồi tới người dùng tuỳ thuộc vào sự trả lời của họ
Ngoài ra, có thể có các thành phần khác như: Điểm, độ khó, chú thích
2.1.1.2 Các thành phần cơ bản của loại câu hỏi chọn nhiều phương án (Multiple Response)
Loại câu hỏi này cơ bản gồm các phần chính sau:
- Phần nội dung câu hỏi (content): Phần này lưu trữ nội dung mà câu hỏiyêu cầu người dùng phải trả lời Thông thường nội dung câu hỏi loại này đượckèm với yêu cầu: Chọn các phương án đúng, trong các phương án sau, nhữngphương án nào đúng
- Phần các phương án trả lời (request): Phần này lưu trữ các phương án trảlời mà câu hỏi cung cấp cho người dùng
- Phần đáp án (response): Phần này lưu trữ đáp án cho câu hỏi Đáp án là cóthể là một hoặc nhiều trong các phương án đã đưa ra
- Phần phản hồi (feedback): Phần này có thể có hoặc không, nó sử dụng đểphản hồi tới người dùng tuỳ thuộc vào sự trả lời của họ
Ngoài ra, có thể có các thành phần khác như: Điểm, độ khó, chú thích
2.1.1.3 Các thành phần cơ bản của loại câu hỏi điền từ vào chỗ trống (Fill In Blank)
Loại câu hỏi này cơ bản gồm các phần chính sau:
- Phần nội dung câu hỏi (content): Phần này lưu trữ nội dung mà câu hỏiyêu cầu người dùng phải trả lời Thông thường nội dung này được kèm với những
Trang 39vùng trống, là những vùng có chứa các từ thích hợp nhưng đã được bỏ đi Lưu ý,trong thực tế, các vị trí trống này không bị phân biệt là từ hay số, số nguyên hay sốthực
- Phần các phương án trả lời (request): Phần này lưu trữ các từ tại các vị trítrống cần điền trong phần nội dung Việc lưu trữ các từ này có thể không theo thứ
Ngoài ra, có thể có các thành phần khác như: Điểm, độ khó, chú thích
2.1.1.4 Vấn đề lưu trữ và quản lý các câu hỏi trắc nghiệm
Một số phần mềm cho việc quản lý các câu hỏi trắc nghiệm đã sử dụng filevăn bản để lưu trữ các câu hỏi trắc nghiệm dưới hình thức: Các thành phần nộidung, phương án, đáp án được phân biệt với nhau bởi ký tự phân tách (thường
là ký tự xuống dòng), các phương án (trên một dòng) lại được phân biệt với nhaubằng những ký tự phân tách khác (thường là dấu phẩy “,”) Một nhược điểm lớncủa cách làm này là khó lưu trữ các dữ liệu đa phương tiện dạng ảnh, audio,video , ngoài ra còn có các nhược điểm khác như: Việc chỉnh sửa khó khăn, khókiểm soát sự sai sót cũng như cấu trúc hợp lệ của một câu hỏi
Một số phần mềm khác sử dụng bảng biểu trong các cơ sở dữ liệu nhưAccess, MySQL, SQL Server để lưu trữ các thành phần của câu hỏi Các cơ sở dữliệu này có ưu điểm hơn ở chỗ, chúng sử dụng các trường để phân biệt các thànhphần trong câu hỏi, đồng thời sử dụng kỹ thuật khoá chính và khoá ngoại để liênkết các thành phần trong các bảng khác nhau Tuy nhiên, hình thức này cũng chưathể phù hợp với việc lưu trữ các câu hỏi trắc nghiệm Ví dụ: Để lưu trữ câu hỏichọn một phương án, ít nhất phải có hai bảng Bảng thứ nhất chứa các thành phầnnhư: Mã câu hỏi, nội dung, đáp án, điểm, độ khó Bảng thứ hai lưu trữ các thànhphần: Mã câu hỏi, mã phương án (hai thành phần này đều là khoá chính trongbảng), tên phương án Như vậy, tất cả các phương án trong các câu hỏi sẽ được lưutrữ hết trong bảng này Việc lưu trữ như vậy sẽ gây khó khăn trong việc quản lý và
Trang 40thể hiện các câu hỏi, vì mỗi khi muốn lấy đầy đủ các thành phần trong câu hỏi đềuphải thực thi các câu lện truy vấn Điều này càng khó khăn hơn khi số lượng câuhỏi lớn (lúc này bảng lưu trữ các phương án lại càng lớn, trung bình gấp khoảng 3lần).
Một cách khác cũng thường gặp trong một số hệ Elearning: Các đề thi gồmmột số câu hỏi được tạo sẵn và lưu trữ cố định bằng một số loại hình như Flash,HTML Tại mỗi lần thi, các đề này được lấy ra và sử dụng Hình thức lưu trữnày có ưu điểm là các đề thi được thiết kế đẹp, chuyên nghiệp và phong phú vềhình thức thể hiện câu hỏi Tuy nhiên, nó có nhược điểm là khó chia sẻ giữa các hệthống những câu hỏi có sẵn, việc thay đổi lại nội dung của các câu hỏi trong đềcũng gặp khó khăn
Như đã trình bày trong trang trước, XML là ngôn ngữ có cấu trúc, rất thíchhợp cho việc lưu trữ và quản lý các câu hỏi trắc nghiệm (và thực tế thì IMS cũng
đã sử dụng XML để đề xuất cấu trúc cho từng loại hình câu hỏi trắc nghiệm) Dovậy, ATQTIS cũng sử dụng XML để lưu trữ và quản lý các câu hỏi trắc nghiệm.Như đã phân tích, mỗi một loại hình câu hỏi trắc nghiệm đều có những thành phầnđặc trưng riêng Khi sử dụng XML, cần định nghĩa các phần tử để lưu trữ cácthành phần này Nội dung của các thành phần trong câu hỏi sẽ được lưu trữ dướidạng các thuộc tính và nội dung của các phần tử
Như vậy, để lưu trữ một câu hỏi trắc nghiệm, ATQTIS sử dụng một fileXML có cấu trúc Trong file XML này có các thẻ sau:
- Thẻ cấp cao nhất là <question>, thẻ này đại diện cho mỗi câu hỏi trắc
nghiệm và dùng để chứa các thẻ khác cấp thấp hơn
- Thẻ <comment> là thẻ con của thẻ <question>, thẻ này chứa các chú
thích cho mỗi câu hỏi về nguồn gốc xuất xứ, bản quyền, tác giả, mục đíchcủa câu hỏi
- Thẻ <identify> là thẻ con của thẻ <question>, thẻ này dùng để nhận dạng loại hình câu hỏi, ứng với mỗi loại hình câu hỏi khác nhau, thẻ <identify>
sẽ chứa các thẻ con khác nhau
+ Đối với loại câu chọn một phương án, dựa vào cấu trúc thực tế của
loại hình câu hỏi này, thẻ <identify> chứa các thẻ sau:
- Thẻ <content> chứa nội dung của câu hỏi.