Trong một thời gian dài, mã hóa dựa trên văn bản. Nó gần như đã diễn ra mà không cần phải nói. Bạn sẽ cần phải viết một chương trình máy tính bằng cách sử dụng các chữ cái, số và từ. Ví dụ: giả sử bạn có hình ảnh một con khỉ và bạn muốn nó di chuyển trên màn hình. Bạn có thể viết một cái gì đó như thế này:
khỉ.move(10)
Mã này sẽ bảo con khỉ di chuyển khoảng cách 10 đơn vị. Nếu bạn thay đổi số trong ngoặc, bạn có thể làm cho nó di chuyển nhiều hơn hoặc ít hơn. Đây là một ví dụ về mã hóa dựa trên văn bản. Có rất nhiều ngôn ngữ lập trình dựa trên văn bản, hoạt động theo nhiều cách khác nhau, nhưng tất cả đều sử dụng chữ cái, số và từ để bảo con khỉ phải làm gì.
Vào những năm 1980, người ta bắt đầu thử nghiệm một loại ngôn ngữ lập trình mới . Mã hóa trực quan, như thường được biết đến, không sử dụng từ và số. Thay vào đó, nó sử dụng hình ảnh và biểu tượng. Ví dụ:
🐵➡️🔟
Đó chỉ là những biểu tượng cảm xúc. Nhưng chúng sẽ giúp bạn tưởng tượng ngôn ngữ hình ảnh trông như thế nào. Hình ảnh đẹp, rõ ràng, trực quan và dễ làm việc hơn nhiều so với mã dựa trên văn bản. Nhưng đồng thời, nó còn hạn chế hơn so với mã hóa dựa trên văn bản – bạn chỉ có thể làm được rất nhiều điều với nó.
Nói chung, mã hóa trực quan (còn được gọi là mã hoá dựa trên khối) rất tốt cho người mới bắt đầu, nhưng nếu ai đó muốn viết mã ở cấp độ cao hơn, cuối cùng họ sẽ cần phải học cách sử dụng ngôn ngữ dựa trên văn bản. Bạn có thể sử dụng mã trực quan để di chuyển một con khỉ nhưng không thể sử dụng để xây dựng một trang web hoặc ứng dụng phức tạp.
Trẻ em có nên bắt đầu với mã hóa trực quan?
Trong rất nhiều trường hợp: có.
Ngôn ngữ mã hóa trực quan sẽ giúp trẻ hiểu một số nguyên tắc mã hóa cơ bản một cách dễ dàng. Trẻ không cần phải lo lắng về việc nhớ cú pháp, đánh vần các từ một cách chính xác hay bất cứ điều gì tương tự, mà chỉ cần thả các bức ảnh vào đúng vị trí, chạy mã và xem con khỉ trượt trên màn hình.
Hình ảnh thú vị hơn lời nói. Chúng tươi sáng, thú vị và dễ nhìn. Đối với một đứa trẻ, việc nhìn chằm chằm vào một bức tường đầy chữ thường có thể khiến trẻ cảm thấy nhàm chán và khó chịu. Đó là lý do tại sao sách dành cho trẻ em có hình ảnh bên trong – nó có nhiều khả năng thu hút sự chú ý của trẻ hơn.
Vì tất cả những điều này, hầu hết trẻ em đều làm tốt hơn khi bắt đầu với ngôn ngữ lập trình trực quan. Họ có thể sử dụng những thứ như Scratch hoặc Blockly, cho phép các em kéo các khối đầy màu sắc xung quanh màn hình máy tính và sắp xếp chúng thành các dòng mã. Trẻ em thậm chí có thể bắt đầu với điều này trước khi chúng học cách đọc và viết. Không có từ nào phải lo lắng, trình độ đọc không còn phù hợp nữa.
Tại một thời điểm nào đó, trẻ em sẽ phát triển vượt trội hơn bất kỳ ngôn ngữ hình ảnh nào mà chúng đang làm việc. Như vậy, trẻ sẽ cần chuyển sang ngôn ngữ dựa trên văn bản. Đây là cách làm phổ biến nhất: tìm hiểu kiến thức cơ bản về mã thông qua ngôn ngữ trực quan, sau đó chuyển sang dựa trên văn bản khi bạn đã sẵn sàng.
Nhưng đó có phải là cách duy nhất để làm mọi việc? Dĩ nhiên là không. Mặc dù đó không phải là tiêu chuẩn nhưng không có gì ngăn cản trẻ học ngôn ngữ dựa trên văn bản trước tiên. Công việc nhiều hơn, nhưng nó có một số lợi ích. Đó là những gì chúng ta sẽ nói đến tiếp theo.
Bắt đầu với mã hóa dựa trên văn bản
Nếu một đứa trẻ đủ lớn để đọc và viết, chúng có thể thử lập trình dựa trên văn bản. Về việc chọn ngôn ngữ, có một số tùy chọn, bao gồm Python, JavaScript và Ruby.
Trong 3 cái, Python có lẽ là nơi tốt nhất để bắt đầu. Nó sử dụng cú pháp đơn giản hóa, giúp đọc và viết dễ dàng hơn so với các ngôn ngữ dựa trên văn bản khác. Ngoài ra còn có rất nhiều ứng dụng và trang web có thể giúp trẻ học Python. Một điều chắc chắn: khi học Python, bạn sẽ không bao giờ hết tài nguyên.
- Codecademy là một lựa chọn tuyệt vời cho việc này. Họ có chương trình giảng dạy phong phú và cung cấp các khóa học miễn phí để giúp trẻ học cách sử dụng Python. Chúng cũng bao gồm các ngôn ngữ mã hóa khác, chẳng hạn như JavaScript và Ruby, nhưng những ngôn ngữ này khó hơn một chút.
- Banana Tales cũng là một nguồn tài nguyên tuyệt vời để học Python. Đây là một trò chơi điện tử mang tính giáo dục, trong đó người chơi cần điều khiển nhân vật của mình bằng cách viết các dòng mã. Ví dụ: họ có thể yêu cầu nhân vật của mình tiến về phía trước, dừng lại, nhặt chìa khóa, rẽ trái, tiến về phía trước và nhặt một quả chuối.
- ‘Python for Kids’ là cuốn sách được viết bởi Jason Briggs, nhấn mạnh vào niềm vui và sự phấn khích. Cuốn sách hướng dẫn trẻ em vượt qua tất cả các loại thử thách mã hóa dựa trên Python, bao gồm quái vật, đặc vụ bí mật, v.v.
Cho dù bạn chọn tài nguyên nào thì cũng có điều gì đó quan trọng cần nhớ. Điều này sẽ không dễ dàng như mã hóa trực quan. Ngay cả cú pháp đơn giản hóa của ngôn ngữ Python cũng khó hơn đáng kể so với việc học viết mã bằng những hình ảnh đơn giản, đẹp mắt.
Bạn không thể viết ngôn ngữ mã hóa dựa trên văn bản mà không biết cách gõ. Nhưng trẻ nhỏ không có kỹ năng vận động tốt nhất và việc gõ phím tốc độ cao thường nằm ngoài tầm với. Trẻ thậm chí không biết tìm tất cả các chữ cái ở đâu, chúng sẽ gõ chữ M, sau đó dành vài giây để tìm kiếm chữ O, rồi thêm vài giây nữa để tìm kiếm chữ N, chữ K, chữ E, chữ Y…
khỉ.move(10)
Một đứa trẻ có thể mất hơn một phút để gõ nó ra. Hơn một phút, có một số lỗi chính tả và khoảng lùi trong quá trình viết. Khi bạn đang làm việc với tốc độ như vậy thì việc viết mã có thể giống như một công việc nặng nhọc. Đặc biệt là so với mã trực quan, khi bạn không cần phải gõ bất cứ thứ gì.
Lập trình dựa trên văn bản cũng có nhiều khả năng xảy ra sai sót. Một từ sai chính tả hoặc thiếu dấu ngoặc sẽ khiến chương trình dừng hoạt động. Trẻ em sẽ thấy mình gỡ lỗi, gỡ lỗi, gỡ lỗi rồi lại gỡ lỗi – nhiều hơn so với khi chúng sử dụng ngôn ngữ lập trình trực quan.
Tóm lại: một ngôn ngữ dựa trên văn bản như Python hay JavaScript cần rất nhiều thời gian và sự kiên nhẫn. Đó thực sự là tên của trò chơi ở đây: kiên nhẫn, kiên nhẫn, kiên nhẫn.
Và ở đây chúng ta không chỉ nói về đứa trẻ. Là giáo viên hoặc phụ huynh, bạn cũng phải kiên nhẫn với quá trình này. Hãy hỗ trợ trẻ, khuyến khích trẻ và chúc mừng trẻ về mọi thành tích nhỏ, ngay cả khi nó nhỏ và đơn giản như việc hoàn thành một dòng mã. Cuộc hành trình dài này sẽ dễ chịu hơn rất nhiều nếu bạn ăn mừng từng bước đi.