Nhóm Blockly có nhiều năm kinh nghiệm thiết kế các ứng dụng giáo dục. Sau đây là một số điều mà họ đã học được có thể giúp bạn thiết kế ứng dụng giáo dục của riêng mình.
Ưu tiên bài tập dạng tự do hơn là bài tập điền vào chỗ trống
Các bài tập được thiết kế để dạy một khái niệm cụ thể thường cung cấp một phần giải pháp mà học viên cần sửa đổi để đạt được hiệu quả mong muốn. Một lớp các khối không thể chỉnh sửa, không thể di chuyển và không thể xoá đã được tạo trong Blockly để hỗ trợ việc này. Tuy nhiên, học sinh lại không thích những bài tập điền vào chỗ trống này. Họ không có cảm giác sở hữu đối với giải pháp.
Việc thiết kế các bài tập dạng tự do để dạy cùng một khái niệm sẽ khó khăn hơn. Một kỹ thuật đã được chứng minh là thành công là sử dụng giải pháp của học viên cho một bài tập làm điểm xuất phát cho bài tập tiếp theo.
Đề xuất: Không viết mã cho người dùng.
Sử dụng hướng dẫn liên tục
Blockly Games được thiết kế riêng để tự học, không cần giáo viên hay kế hoạch bài học. Để thực hiện việc này, phiên bản đầu tiên của Blockly Games có hướng dẫn về từng cấp độ. Hầu hết học viên sẽ không đọc các bài viết đó. Chúng tôi đã rút gọn các câu lệnh này thành một câu, tăng kích thước phông chữ và đánh dấu các câu lệnh đó trong một bong bóng màu vàng. Hầu hết học viên sẽ không đọc những nội dung đó. Chúng tôi đã tạo cửa sổ bật lên theo hướng dẫn. Hầu hết học viên theo bản năng đóng cửa sổ bật lên mà không đọc, sau đó bị lạc.
Cuối cùng, chúng ta đã tạo các cửa sổ bật lên không thể đóng. Các cửa sổ này được lập trình để theo dõi hành động của học viên và chỉ tự đóng khi học viên đã thực hiện hành động bắt buộc. Những cửa sổ bật lên theo ngữ cảnh này rất khó lập trình, nhưng khá hiệu quả. Điều quan trọng là các nút này phải nằm trong trường nhìn mà không gây cản trở không gian làm việc.
Đề xuất: Hướng dẫn phải ngắn gọn và liên tục, nhưng không gây khó chịu.
Sử dụng hình ảnh khối trực tiếp trong phần trợ giúp
Tài liệu về các khối phải bao gồm hình ảnh của các khối mà tài liệu đó đề cập đến. Việc chụp ảnh màn hình rất dễ dàng. Nhưng nếu có 50 hình ảnh như vậy và ứng dụng được dịch sang 50 ngôn ngữ, thì đột nhiên bạn sẽ phải duy trì 2.500 hình ảnh tĩnh. Sau đó, bảng phối màu thay đổi và 2.500 hình ảnh cần được cập nhật lại.
Để thoát khỏi cơn ác mộng bảo trì này, Blockly Games đã thay thế tất cả ảnh chụp màn hình bằng các thực thể của Blockly chạy ở chế độ chỉ có thể đọc. Kết quả trông giống hệt một bức ảnh, nhưng đảm bảo là mới nhất. Chế độ chỉ có thể đọc đã giúp quốc tế hoá trở nên khả thi.
Đề xuất: Nếu bạn hỗ trợ nhiều ngôn ngữ, hãy sử dụng chế độ chỉ có thể đọc.
Có chiến lược thoát cho học viên
Lập trình dựa trên khối thường là điểm xuất phát để lập trình. Trong bối cảnh dạy lập trình máy tính, đó là một loại thuốc dẫn lối khiến học viên nghiện trước khi chuyển sang những thứ khó hơn. Thời lượng của giai đoạn lập trình dựa trên khối này cho học viên là một vấn đề được tranh luận sôi nổi, nhưng nếu mục tiêu của bạn là dạy lập trình thì thời lượng này phải là tạm thời.
Do đó, môi trường lập trình dựa trên khối dùng để dạy lập trình phải có một lối thoát phù hợp với học viên. Blockly Games có 4 chiến lược:
- Tất cả văn bản trên các khối (ví dụ: "if", "while") đều viết thường để khớp với các ngôn ngữ lập trình dựa trên văn bản.
- Phiên bản JavaScript của mã của học viên luôn hiển thị sau mỗi cấp để tăng mức độ quen thuộc.
- Trong trò chơi gần cuối, văn bản khối được thay thế bằng JavaScript thực tế (như minh hoạ ở bên phải). Tại thời điểm này, học viên đang lập trình bằng JavaScript.
- Trong trò chơi cuối cùng, trình chỉnh sửa khối sẽ được thay thế bằng trình chỉnh sửa văn bản.
Môi trường lập trình dựa trên khối dùng để dạy lập trình cần có kế hoạch cụ thể để giúp học viên tốt nghiệp. Một chiến lược thoát vững chắc cũng giúp làm dịu những người cho rằng lập trình dựa trên khối không phải là "lập trình thực sự".
Đề xuất: Cân nhắc mục tiêu cuối cùng của người dùng và thiết kế cho phù hợp.