CHƯƠNG II SO SÁNH CHƯƠNG TRÌNH DẠY LẬP TRÌNH Ở MỘT SỐ QUỐC
3.2 Ứng dụng Alice trong giảng dạy
Alice là một phần mềm mã nguồn mở của trường đại học Carnegie Mellon, sử dụng môi trường 3D để lập trình dựa trên đối tượng. Là một công cụ trực quan, hấp dẫn để giảng dạy cho những học sinh bước đầu tiếp xúc với lập trình hướng đối tượng, giúp học sinh dễ dàng tạo ra một hình ảnh động để xây dựng một câu truyện, một trò chơi hay một bộ phim hoạt hình để chia sẻ trên web. Trong Alice, người học kéo và thả các khối đồ họa để xây dựng đối tượng và tạo ra chương trình. Bên cạnh đó Alice còn cho phép học sinh xem chương trình của họ chạy như thế nào thông qua các hình ảnh động, từ đó học sinh dễ dàng hiểu đƣợc mối quan hệ giữa các cấu trúc/câu lệnh lập trình và hành vi của các đối tƣợng trong hình ảnh động đó. Trong thƣ viện của Alice
TIEU LUAN MOI download : skknchat@gmail.com
(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong
71
các đối tượng được xây dựng rất phong phú gồm: động vật, con người, nhà cửa, cây cối, .. gần gũi với cuộc sống đời thường giúp người học có thể tận dụng để tạo ra nhiều kịch bản hoạt hình khác nhau.
Tại sao lại lựa chọn Alice để giảng dạy lập trình hướng đối tượng?
Đối với những học sinh bắt đầu tiếp cận với lập trình thì những khái niệm về lập trình hướng đối như thuộc tính, phương thức, lớp, ... mang tính trừu tượng cao, thật khó để học sinh có thể hình dung và hiểu bản chất của các khái niệm đó.
Ngôn ngữ lập trình Alice là ngôn ngữ xây dựng để lập trình trên đối tƣợng, vì thế các khái niệm về đối tƣợng đều đƣợc thể hiện rất rõ trong ngôn ngữ này. Trong Alice người học được làm việc với các đối tượng 3D nên rất sinh động và hấp dẫn. Việc lập trình với Alice cũng chỉ đơn giản là việc kéo thả các khối lệnh đã đƣợc xây dựng sẵn và thay đổi tham số cho phù hợp, đặc biệt là người học có thể trực tiếp quan sát những thay đổi của nhân vật khi thực hiện các khối lệnh đó. Từ những quan sát trực tiếp này, người học dễ dàng tiếp cận với những khái niệm mơ hồ về lập trình hướng đối tượng như thuộc tính, các phương thức, vòng lặp, … Do đó Alice là một công cụ tuyệt vời cho những người bắt đầu học lập trình hướng đối tượng.
3.2.2 Sử dụng Alice để giảng dạy các khái niệm cơ bản về lập trình hướng đối tƣợng
Giảng về đối tượng (Object): Alice cung cấp thƣ viện gồm nhất nhiều các đối tƣợng có sẵn mô phỏng từ thế giới thực nhƣ Bird, Bunny, ...
Giới thiệu về đối tƣợng giáo viên có thể sử dụng Alice để chèn minh họa một đối tƣợng cho học sinh quan sát:
Hình 3.16: Đối tượng trong Alice
Khái niệm về đối tượng trong lập trình hướng đối tượng rất gần gũi với khái niệm trong thực tế, tuy nhiên nếu chỉ giải thích bằng lời sẽ dễ gây nhầm lẫn và khó hiểu cho học sinh. Việc minh họa đối tƣợng trực quan trong Alice giúp học sinh dễ hiểu và hình dung đƣợc vấn đề một cách rõ ràng.
TIEU LUAN MOI download : skknchat@gmail.com
(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong
72
Alice xây dựng một thƣ viện có sẵn gồm rất nhiều đối tƣợng quen thuộc nhƣ các đối tƣợng động vật, nhà cửa, ...
Giảng về thuộc tính, phương thức
Mỗi đối tƣợng đặc trƣng bởi các thuộc tính (properties) và hành vi (method). Đây là hai khái niệm khá trừu tượng trong lập trình hướng đối tượng. Tuy nhiên trong Alice, học sinh có thể quan sát trực quan để hiểu và phân biệt đƣợc hai khái niệm này.
Giáo viên sử dụng Alice để giới thiệu về các thuộc tính và hành vi có thể có của một đối tƣợng ở trên.
Ví dụ: Đối tượng bunny có các thuộc tính màu sắc, âm thanh, ... Có các phương thức nhƣ di chuyển, quay phải, trái, ...
Chạy chương trình minh họa để học sinh phân biệt thuộc tính, phương thức và bản chất, vai trò và cách sử dụng của hai thành phần này trong lập trình hướng đối tượng.
Hình 3.17: Thuộc tính và phương thức của bunny
TIEU LUAN MOI download : skknchat@gmail.com
(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong
73
Giáo viên có thể thay đổi giá trị giá trị các thuộc tính và phương thức cho đối tượng hành động nhƣ trong thế giới thực để học sinh quan sát để hiểu bản chất vấn đề (ví dụ đổi thuộc tính màu lông cho chú thỏ hay cho chú thỏ hành động di chuyển lên, xuống,...)
Giáo viên có thể thay đổi giá trị giá trị các thuộc tính và phương thức cho đối tượng hành động nhƣ trong thế giới thực để học sinh quan sát để hiểu bản chất vấn đề (ví dụ đổi thuộc tính màu lông cho chú thỏ hay cho chú thỏ hành động di chuyển lên, xuống,...)
Giảng về lớp (Class)
Alice cung cấp rất nhiều lớp có sẵn để phục vụ quá trình làm chương trình phim, video,...
Lớp và nhóm các đối tượng có cùng thuộc tính và phương thức, tuy nhiên giá trị của các thuộc tính và phương thức có thể khác nhau.
Ví dụ: Lớp bunny có cùng thuộc tính màu sắc nhƣng có thể có các màu khác nhau nhƣ: đỏ, vàng, trắng, ...
Giáo viên có thể giới thiệu và minh họa một vài lớp trong Alice cho học sinh quan sát, thay đổi các thuộc tính để thấy sự khác nhau của các đối tƣợng trong cùng một lớp:
Hình 3.18: Lớp trong Alice
TIEU LUAN MOI download : skknchat@gmail.com
(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong
74