Hiệu quả của mô phỏng thuật toán trong giảng dạy

Một phần của tài liệu Mô phỏng thuật toán bằng đồ thị (Trang 32 - 36)

Trên thế giới, hệ thống mô phỏng đã được sử dụng rộng rãi trong việc dạy học ngành khoa học máy tính. Đã có một số lượng các sinh viên được đào tạo bằng các chương trình mô phỏng để thấy được hiệu quả của nó trong giảng dạy nhưng kết quả rất khác nhau. Có thể đưa ra một vài ví dụ như sau:

Giáo sư Brown (Đại học Brown) năm 1984 đã sử dụng phần mềm BALSA – I để dạy môn học lập trình và môn cấu trúc dữ liệu và giải thuật. Hệ thống này sử dụng để trực quan hóa chương trình dạy học. Ông viết trong bản báo cáo rằng việc sử dụng các đoạn mô phỏng kèm vào các bài giảng là một chứng minh cho việc “tốc độ hiểu bài của học sinh tăng lên” so với cách giảng dạy truyền thống.

Stasko (Đại học Brown) năm 1997 sử dụng SAMBA – chương trình mô phỏng của hệ thống XTANGO để dạy môn thuật toán. Ông yêu cầu các sinh viên sử dụng hệ thống để thêm vào các mô phỏng của chính bài tập của mình. Kết quả chỉ ra rằng sinh viên rất có hứng thú với các chương trình mô phỏng và chính chương trình mô phỏng đã khuyến khích sự sáng tạo của học sinh. Rõ

ràng, nhờ có chương trình mô phỏng mà các sinh viên hiểu các thuật toán nhanh hơn, nhớ được lâu hơn.

Tuy nhiên, việc sử dụng chương trình mô phỏng trong dạy học không phải lúc nào cũng đem lại kết quả tốt. Stasko (1993) đã thử nghiệm dạy 2 nhóm sinh viên với cùng một nội dung bài học về HEAP – một dạng cấu trúc dữ liệu trừu tượng. Một nhóm học thuật toán dựa trên mô tả một cách khái niệm. Nhóm còn lại học bài dựa trên chương trình mô phỏng tương tác. Mặc dù kết quả cho thấy nhóm được học có mô phỏng điểm cao hơn nhóm còn lại nhưng sự chênh lệch không đủ để thấy được lợi ích của việc mô phỏng. Tương tự, Byrne (1996) cũng làm 2 thí nghiệm tương tự và kết quả thu được cũng không chỉ rõ được lợi ích của việc mô phỏng.

Mặc dầu vậy, những kết quả đó không làm cho việc mô phỏng thuật toán mất đi những điểm mạnh của nó mà nó hướng người dùng đến một cách nhìn khác về thuật toán mô phỏng. Kết quả chỉ ra rằng để đạt được hiệu quả tối ưu khi dùng thuật toán mô phỏng là dùng nó như một cầu nối với các nhân tố khác. Lawrence đã sử dụng hệ thống XTANGO và POLKA để giảng dạy về thuật toán Kruskal. Tất cả sinh viên của nhóm học có mô phỏng có tác động rõ rệt. Thực nghiệm cũng cho thấy rằng để người học tiếp thu nhanh hơn thì nên để cho họ tự học và tự tạo cho mình tập dữ liệu hơn là các dữ liệu do giáo viên tự chuẩn bị từ trước.

Hơn nữa, năm 1999 nghiên cứu của giáo sư Kehoe chỉ ra tính hiệu quả của việc sử dụng mô phỏng trong giảng dạy thuật toán bằng cách chia học viên thành các nhóm để dạy về thuật toán BINOMIAL HEAP – một dạng cấu trúc đặc biệt của HEAP. Một nhóm tự học thuật toán bằng cách dùng phần mềm mô phỏng, một nhóm học bằng cách đọc sách có các hình vẽ mô tả. Kết quả chỉ ra rằng nhóm học qua phần mềm có khả năng cài đặt thuật toán tốt hơn nhóm còn lại (nhưng không phải là tất cả các thành viên đều như vậy) và họ nói rằng nhờ có mô phỏng mà họ có thể hiểu thuật toán nhanh hơn.

Báo cáo của Kehoe chứng minh rằng cách hiệu quả để sử dụng thuật toán mô phỏng trong việc dạy học có thể đạt được kết quả cao hơn đó là sử dụng nó như là một hệ thống “mở” và hướng tự học (như là giao bài tập về nhà chẳng hạn). Như vậy, việc mô phỏng thuật toán hiệu quả ở chỗ coi nó là một tài liệu học được sử dụng cùng với các tài liệu khác cùng với các hướng dẫn về cách thức hoạt động của chương trình tương ứng với các thao tác của thuật toán. Bài báo cũng chỉ ra rằng mô phỏng thuật toán là một cách thuận lợi cho việc học cách thức hoạt động của thuật toán. Nếu như mô phỏng không phải lúc nào cũng tạo điều kiện thuận lợi cho việc học tập tốt thì ít nhất nó có thể chỉ ra rằng một thuật toán cần học có thể dễ tiếp cận hơn.

Giáo sư Stasko cũng chỉ ra rằng cần có một vài điều kiện để thuật toán mô phỏng có hiệu quả hơn trong giảng dạy. Một trong những điều kiện đó là kết hợp mô phỏng thuật toán với các trích dẫn giải thích cho dễ hiểu (chú thích), việc mô phỏng sẽ hiển thị cùng với các mô tả một cách hình thức về các thao tác đó. Một điều kiện nữa là hệ thống mô phỏng thuật toán nên có khả năng chạy lại (replay) cho phép người dùng quan sát các thao tác quan trọng. Một vài chương trình có thể chỉ ra trạng thái trước, trạng thái sau. Thêm vào đó, các phản hồi từ phía người học cũng rất cần thiết để cải tiến chương trình mô phỏng cho tốt hơn.

Mặc dù kết quả thực nghiệm chỉ ra rằng không phải lúc nào mô phỏng cũng mang lại lợi ích tốt nhưng nó cũng không chỉ ra rằng mô phỏng không mang lại hiệu quả trong giảng dạy. Trên thực tế, có những nghiên cứu chỉ ra tính không hiệu quả của một chương trình mô phỏng nhưng điều đó không làm cho việc mô phỏng mất đi tính ưu việt mà là một cách để ta phải xem lại chương trình đó, cải tiến chương trình đó cho nó hiệu quả hơn với người học.

Tóm lại, để một chương trình mô phỏng có hiệu quả và mang lại lợi ích cho người học thì việc thiết kế và phát huy tính động trong chương trình là một yếu tố rất quan trọng. Các tính chất sau đây cũng là cần thiết:

Truy cập mở: Người học có thể tự do truy cập vào các hệ thống mô

phỏng. Đó là, bên cạnh việc có truy cập vào các hệ thống ở trường học, họ có thể truy cập vào hệ thống từ nhà hoặc bất cứ nơi nào khác khi họ cần đến.

Chủ động điều khiển mô phỏng: Người học sẽ có thể tạo ra bộ dữ liệu

của riêng mình khi sử dụng hệ thống. Trong khi tự định nghĩa bộ dữ liệu vào cũng có thể giúp đỡ học sinh xây dựng sự hiểu biết ban đầu, hệ thống nên có cả hai lựa chọn: tự xây dựng dữ liệu hoặc dùng bộ dữ liệu vào mặc định của hệ thống.

Khả năng tương tác giữa người học và hệ thống: Hệ thống mô phỏng

phải có khả năng tương tác với người học, nghĩa là cho phép người học xem được kết quả, cho phép dừng thuật toán ở bất cứ thời điểm nào để quan sát, xem lại dữ liệu ban đầu và chạy tiếp, chạy từng bước, huỷ, quay lại, chạy nhanh, chạy chậm để thuật toán cho ra kết quả mong muốn. Tương ứng với câu lệnh giả mã mô tả thuật toán sẽ là bước mô phỏng trên đồ thị do người học tự mô tả.

Đón nhận thông tin phản hồi: Hệ thống ghi nhận lại những góp ý từ

người học để dần dần cải tiến hệ thống cho hiệu quả hơn.

Các hệ thống mô phỏng thuật toán có nền tảng phụ thuộc nhau. Với sự tiến bộ của công nghệ mới, sự phổ dụng của WWW và sự phát triển của ngôn ngữ Java, các nhà lập trình chuyển sang lĩnh vực mô phỏng thuật toán trực tuyến trên mạng. Một vài lập trình viên kết hợp cả đa phương tiện vào chương trình của họ. Việc sử dụng hệ thống mô phỏng thuật toán đã giải quyết triệt để các yếu điểm của cách dạy học truyền thống và có thể đào tạo từ xa.

Một phần của tài liệu Mô phỏng thuật toán bằng đồ thị (Trang 32 - 36)

Tải bản đầy đủ (DOC)

(82 trang)
w