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 một số thuật toán trên đồ thị (Trang 35)

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 để đa ̣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ử du ̣ng hê ̣ thống XTANGO và POLKA để giảng da ̣y về thuâ ̣t toán Kruskal. Tất cả sinh viên của nhóm ho ̣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 m inh rằng cách hiê ̣u quả để sử du ̣ng thuâ ̣t toán mô phỏng trong viê ̣c da ̣y ho ̣c có thể đa ̣t được kết quả cao hơn đó là sử du ̣ng nó như là mô ̣t hê ̣ thống “mở” và hướng tự ho ̣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 tro ̣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 la ̣i hiê ̣u quả trong giảng da ̣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 một số thuật toán trên đồ thị (Trang 35)

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

(84 trang)