"Sữa chua trước, rồi đến trái cây, cuối cùng rưới mật ong lên trên." Mỗi lần con làm theo một công thức, con đang làm theo một thuật toán: danh sách các bước rõ ràng, theo thứ tự, biến những thứ ban đầu thành một kết quả ở cuối.
Đó chính là một chương trình máy tính. Không cần màn hình để dạy ý này. Gian bếp là một trong những nơi tốt nhất để khám phá nó, vì các bước là thật, kết quả nhìn thấy được, và những lỗi sai thường rất buồn cười (mà vẫn ăn được).
Công thức có các phần giống một chương trình
Trước khi nấu, hãy cùng con đọc công thức và gọi tên các phần:
| Trong công thức | Trong chương trình |
|---|---|
| Nguyên liệu | Đầu vào: thứ mình có lúc bắt đầu |
| Các bước, đánh số theo thứ tự | Các lệnh, chạy lần lượt |
| "Khuấy 10 lần" | Vòng lặp: lặp lại một bước |
| "Nếu đặc quá thì thêm một thìa sữa" | Điều kiện: chỉ làm khi... |
| Món ăn làm xong | Đầu ra: kết quả |
Với trẻ nhỏ, không cần dùng từ "đầu vào" hay "vòng lặp". Những câu như "Mình cần gì?", "Mình làm gì trước?" và "Cuối cùng mình sẽ có gì?" là đủ.
Hãy chọn món đơn giản và an toàn, người lớn lo mọi việc dính tới đồ nóng hay dao: cốc sữa chua trái cây, bánh mì kẹp, sinh tố hay một món ăn vặt không cần nấu.
Thứ tự có quan trọng không?
Một câu hỏi tư duy rất hay là: bước nào đổi chỗ được, bước nào không?
Lấy ví dụ cốc sữa chua:
- Cho sữa chua vào cốc.
- Thêm trái cây đã cắt nhỏ.
- Rưới mật ong lên trên.
- Ăn.
Bước 2 và bước 3 có đổi chỗ được không? Có lẽ được, chỉ trông hơi khác một chút. Bước 1 và bước 4 có đổi chỗ được không? Chắc chắn là không! Hãy cùng xét từng cặp: "Nếu làm bước này trước thì sẽ ra sao?"
Trẻ sẽ nhận ra có những bước độc lập (đổi thứ tự cũng không ảnh hưởng mấy tới kết quả) và có những bước phụ thuộc vào bước khác (bước này phải làm trước bước kia). Đó là một trong những ý then chốt của việc lập kế hoạch và của lập trình.
Chơi trò "bố mẹ rô-bốt"
Trò này trẻ rất mê. Bố mẹ biến thành một rô-bốt làm theo hướng dẫn đúng y từng chữ, không hơn không kém.
Con ra lệnh để làm bánh mì kẹp. Nếu con nói "cho mứt lên bánh mì", bố mẹ đặt nguyên lọ mứt còn đóng nắp lên lát bánh. Nếu con nói "cầm dao lên" mà không nói tay nào, bố mẹ làm bộ bối rối.
- Giữ không khí vui vẻ, và dừng lại trước khi con thấy bực.
- Sau vài trận cười, giúp con nói hướng dẫn chính xác hơn: "Mở nắp lọ. Dùng thìa lấy một ít mứt. Phết lên một lát bánh."
- Đổi vai để con làm rô-bốt.
Bài học là máy tính, cũng như rô-bốt, chỉ làm đúng những gì được bảo. Các bước rõ ràng, chính xác rất quan trọng.
Thêm vòng lặp và điều kiện
Khi con đã quen với các bước theo thứ tự, hãy cùng tìm hai loại bước đặc biệt trong công thức:
- Vòng lặp (lặp lại): "Khuấy 10 lần." "Thêm từng thìa một cho tới khi đầy bát." Cùng đếm khi lặp lại bước đó.
- Điều kiện (nếu...): "Nếu quả chuối to quá thì cắt đôi." "Nếu hỗn hợp khô quá thì thêm chút nước." Hỏi con: "Lần này mình có cần làm bước đó không?"
Nhận ra "lặp lại" và "nếu" trong những hướng dẫn hằng ngày là cách nhẹ nhàng làm quen với những viên gạch xây nên mọi chương trình.
Tự viết công thức
Cuối cùng, mời con viết (hoặc vẽ) một công thức cho người khác làm theo:
- Vẽ mỗi bước trong một ô, giữa các ô có mũi tên.
- Đánh số các bước.
- Thử công thức: một người lớn làm theo đúng y như viết, và xem kết quả có đúng không.
- Nếu có gì sai, tìm bước cần sửa. Người lập trình gọi việc này là gỡ lỗi.
Trẻ chưa biết viết có thể vẽ hình cho từng bước và giải thích bằng lời.
Trong Dologi, câu đố "Lái xe" cũng như vậy: con xếp các lệnh theo thứ tự để lái chiếc xe qua mê cung tới những ngôi sao, và chỉ cần một lệnh đặt sai chỗ là xe sẽ đi tới một nơi khác.
Tóm lại
- Công thức nấu ăn là một thuật toán: nguyên liệu vào, các bước theo thứ tự, món ăn ra.
- Hỏi con bước nào đổi chỗ được và bước nào phải làm trước.
- Chơi "bố mẹ rô-bốt" để thấy vì sao hướng dẫn cần chính xác.
- Tìm bước lặp và bước "nếu", rồi để con tự viết và thử công thức của mình.
Đọc thêm: Chia việc lớn thành việc nhỏ: tư duy theo bước cho trẻ
