Những khách viếng thăm trường tiểu học St Mary thuộc vùng Wolverhampton nước Anh thường ngạc nhiên khi thấy học sinh chơi video game trong giờ học. Và họ luôn tỏ ra thú vị khi biết sự thật: các em đang thử nghiệm những trò chơi do chính mình tạo ra…
Thầy hiệu trưởng John Rowe cho biết mọi học sinh từ 7 tuổi trở lên được học những khái niệm cơ bản về lập trình thông qua phần mềm Scratch (scratch.mit.edu/download). “Với môn này, chúng tôi không giao bài tập về nhà nhưng hầu như em nào cũng tiếp tục những dự án của mình tại nhà. Các em thường tải xuống các trò chơi có sẵn tại địa chỉ mạng của Scratch (scratch.mit.edu), sau đó cải tiến, sửa đổi và đưa lên mạng trở lại để các bạn ở khắp nơi cùng xem và nhận xét. Nhờ sự giao lưu như vậy, các em càng hứng thú tìm hiểu, trao đổi lẫn nhau. Công việc của giáo viên chúng tôi xem như giảm bớt một nửa”.
Những học sinh bé xíu của trường St Mary đã là một phần của cộng đồng toàn cầu Scratch – cộng đồng những người yêu thích lập trình với Scratch, trong đó có cả học sinh lẫn sinh viên.
Tiến sĩ Mitchel Resnick (Viện công nghệ Massachusetts – MIT) – người lãnh đạo nhóm phát triển phần mềm Scratch – giải thích rằng nhóm của ông tạo ra Scratch để đáp ứng nhu cầu sáng tạo của trẻ em ngày nay. “Trẻ em tiếp xúc ngày càng nhiều với máy tính, với trò chơi điện tử và nhiều loại hình truyền thông tương tác nhưng các em không có cơ hội sáng tạo ra những thứ ấy. Tôi e ngại rằng chúng ta đang tiến đến một thế giới mà mọi người đều dùng máy tính nhưng chỉ để đáp ứng nhu cầu thông tin liên lạc”.
Tuy việc lập trình máy tính từng được đưa vào trường trung học trong nhiều năm nhưng cách thức giảng dạy cũ kỹ và những bài tập nhàm chán khiến học sinh, nhất là nữ sinh, không có thiện cảm với môn học. Trước Scratch đã có những công cụ giúp trẻ em học lập trình dễ dàng hơn nhưng Resnick cho rằng chúng vẫn còn phức tạp và không có đủ điều kiện để học sinh xây dựng được những chương trình thực sự thú vị.
Với Scratch, việc lập trình giống như trò chơi lắp ráp, trở nên đơn giản ngay cả với học sinh tiểu học. Để diễn đạt hành vi của từng nhân vật trong trò chơi, học sinh gắn những “thẻ lệnh” nối tiếp nhau, không cần biết đến cú pháp câu lệnh. Một nhóm thẻ lệnh có thể tạo ra vòng lặp nếu “nhét” chúng vào “thẻ lặp”. Để diễn đạt những việc cần làm khi nhấn phím hoặc bấm chuột, chỉ cần gắn các thẻ lệnh cần thiết vào một loại thẻ đặc biệt tương ứng với tình huống nhấn phím hoặc bấm chuột.
Thông qua những thẻ lệnh “xanh xanh đỏ đỏ” vui mắt, Scratch không những giúp học sinh làm việc dễ dàng với câu lệnh, biến, điều kiện, vòng lặp mà còn giúp các em tiếp thu một cách tự nhiên các khái niệm của lập trình hiện đại: những đối tượng (object) với thuộc tính (property) và hành vi (method) nhất định, cùng việc đáp ứng các tình huống (event).
Không như hoạt động của các công cụ lập trình thông thường với hai khâu tách biệt: viết chương trình và chạy chương trình, Scratch cho phép bổ sung, sửa đổi chương trình ngay trong lúc chạy và việc sửa đổi có hiệu quả tức thời, giúp học sinh có được ngay thông tin phản hồi cho quá trình “thử và sai”.
Có lẽ điểm đặc biệt nhất của công cụ Scratch là tính “xã hội” của nó: một nút nhấn cho phép nhanh chóng “xuất bản” chương trình lên địa chỉ mạng của Scratch. Trong trang mạng, chương trình Scratch hoạt động dưới dạng ứng dụng Java (trình duyệt cần có máy ảo Java).
Chương trình Scratch là một tập tin duy nhất, chứa đựng mọi thứ cần thiết, bao gồm cả hình ảnh (tĩnh hoặc động), âm thanh và phần hướng dẫn sử dụng (nếu “chủ nhân” của chương trình chịu khó viết ra). Nhờ vậy mọi người trong cộng đồng Scratch dễ dàng “thưởng thức” chương trình của nhau, có thể tải xuống các chương trình yêu thích để học hỏi kinh nghiệm (với Scratch, không có khái niệm biên dịch), hoặc dùng lại những hình ảnh và âm thanh có sẵn.
Việc “hợp tác toàn cầu” của cộng đồng Scratch diễn ra hằng ngày. Một nữ sinh 15 tuổi ở Anh “chịu thương chịu khó” tạo ra những mẫu nhân vật hoạt hình và đưa lên mạng để mọi người có thể dùng trong chương trình Scratch của mình. Cô nhận được lời cảm ơn nồng nhiệt từ nhiều người, cùng lời mời tham gia “công ty sản xuất trò chơi Scratch” của một nữ sinh khác, vừa tròn… 10 tuổi. “Công ty” lôi kéo được một số học sinh từ Mỹ và Nga, với những đóng góp cụ thể về kịch bản trò chơi hoặc các giải thuật.
Một học sinh Singapore dùng Scratch để tạo ra một nhân vật đang khiêu vũ “giống như trên truyền hình” và đề xuất cuộc thi “Can You Dance”, thách thức mọi người tạo ra nhân vật khác với điệu nhảy đẹp hơn. Hệ thống bầu chọn có sẵn tại địa chỉ mạng của Scratch giúp cho những “cuộc thi tự phát” được tổ chức rất dễ dàng.
“Trẻ em tạo ra nhiều dự án lạ thường mà chúng tôi không thể tưởng tượng được”. Resnick vui sướng vì Scratch thu hút được trẻ em khắp thế giới, từ những vùng quanh năm lạnh lẽo xứ Phần Lan cho đến các ngôi làng tràn đầy ánh nắng ở Campuchia. Các em “nói chuyện” với nhau chủ yếu bằng tiếng Anh.
Để giảm bớt rào cản ngôn ngữ, phiên bản mới nhất của Scratch đưa ra danh sách lựa chọn ngôn ngữ bao gồm trên 40 thứ tiếng khác nhau, trong đó có tiếng Việt.
Nhìn về tương lai, Resnick không chỉ mong muốn Scratch trở thành công cụ chuẩn để dạy lập trình cho trẻ em, ông mơ đến việc xây dựng một không gian tương tác rộng lớn hơn, tựa như Second Life, trong đó trẻ em có thể lập trình cho những nhân vật ảo của mình.
Ngọc Giao
(sưu tầm)
FPT Aptech – Hệ Thống Đào Tạo Lập Trình Viên Quốc Tế
FPT Aptech trực thuộc Tổ chức Giáo dục FPT có hơn 25 năm kinh nghiệm đào tạo lập trình viên quốc tế tại Việt Nam, và luôn là sự lựa chọn ưu tiên của các sinh viên và nhà tuyển dụng. |