Hồ Bảo Tín Wiki
Vào thế giới

🧠 Tư duy lập trình

Scratch và các công cụ học lập trình cho trẻ: chọn gì theo độ tuổi

9 phút đọc · cập nhật

Trong bài
  1. Lập trình bằng khối: vì sao trẻ học dễ hơn
  2. Scratch: từ phòng thí nghiệm MIT đến lớp học Việt Nam
  3. Những người đi trước: Logo và con rùa
  4. Chọn công cụ theo độ tuổi
  5. Không có máy tính vẫn học được
  6. Phụ huynh có thể giúp thế nào
  7. Thử làm: lên kịch bản một tấm thiệp động trên giấy

Với trẻ 5–7 tuổi, nên bắt đầu bằng hoạt động không máy tính và các công cụ ghép hình đơn giản như ScratchJr. Từ khoảng 8 tuổi, Scratch, ngôn ngữ lập trình kéo thả miễn phí do Viện Công nghệ Massachusetts (MIT) phát triển, là lựa chọn phổ biến nhất. Từ 12–13 tuổi, nhiều bạn sẵn sàng chuyển sang ngôn ngữ viết bằng chữ như Python hoặc lập trình cho bo mạch nhỏ. Công cụ nào cũng chỉ là phương tiện; điều cần học là cách nghĩ.

Lập trình bằng khối: vì sao trẻ học dễ hơn

Ngôn ngữ lập trình của người lớn được gõ bằng chữ, và chỉ cần thiếu một dấu ngoặc là chương trình không chạy. Với người mới bắt đầu, nhất là trẻ nhỏ, phần lớn thời gian bị tiêu vào việc tìm lỗi chính tả thay vì suy nghĩ.

Lập trình bằng khối giải quyết chuyện đó. Mỗi câu lệnh là một mảnh ghép có màu, ví dụ "đi 10 bước", "lặp lại 4 lần", "nếu… thì". Các mảnh chỉ khớp với nhau theo những cách hợp lệ, giống như mảnh ghép hình chỉ vừa với chỗ của nó. Trẻ không thể gõ sai chính tả, nên có thể tập trung vào những thứ thật sự quan trọng: thứ tự các bước, vòng lặp, điều kiện, biến. Đó chính là những khái niệm trong các bài khác của danh mục này.

Scratch: từ phòng thí nghiệm MIT đến lớp học Việt Nam

Scratch được nhóm Lifelong Kindergarten (tạm dịch: Mẫu giáo trọn đời) ở Phòng thí nghiệm Truyền thông của MIT phát triển, do giáo sư Mitchel Resnick dẫn dắt, và ra mắt công khai năm 2007. Tên nhóm nói lên tinh thần của nó: người ở mọi lứa tuổi nên được học như trẻ mẫu giáo, tức là học bằng cách tự làm, tự thử, chơi với ý tưởng và chia sẻ với bạn bè.

Scratch hoàn toàn miễn phí, dùng được trên trình duyệt hoặc cài vào máy, có giao diện tiếng Việt. Các tổ chức phát triển giới thiệu nó phù hợp nhất với trẻ khoảng 8 đến 16 tuổi. Với Scratch, trẻ làm hoạt hình, truyện tương tác có nhiều kết thúc, thiệp chúc mừng biết chuyển động, mô phỏng khoa học như quả bóng rơi hay hệ Mặt Trời, hoặc nhạc cụ ảo phát ra âm thanh khi bấm phím.

Ở Việt Nam, chương trình giáo dục phổ thông 2018 đưa môn Tin học vào từ lớp 3. Nhiều bộ sách giáo khoa Tin học bậc tiểu học, và một số bộ ở trung học cơ sở, dùng Scratch cho phần lập trình trực quan, nên nhiều học sinh gặp Scratch ngay trên lớp.

Cộng đồng chia sẻ và chuyện an toàn

Một đặc điểm của Scratch là cộng đồng trực tuyến: trẻ có thể đăng tác phẩm, xem mã của người khác, và "phối lại" tác phẩm đó thành phiên bản của mình, với tên tác giả gốc được ghi lại. Đây là cách học rất tốt, giống như họa sĩ tập vẽ bằng cách chép tranh của bậc thầy.

Cộng đồng này có quy định cấm chia sẻ thông tin cá nhân và có người kiểm duyệt, nhưng phụ huynh vẫn nên cùng con thống nhất vài điều: đặt tên tài khoản không phải tên thật, không đăng ảnh mặt mình, không ghi tên trường hay nơi ở, và kể với bố mẹ khi gặp bình luận làm mình khó chịu. Đây cũng là những điều nên áp dụng với mọi trang mạng.

Những người đi trước: Logo và con rùa

Scratch không xuất hiện từ hư không. Năm 1967, Seymour Papert, Wally Feurzeig và Cynthia Solomon tạo ra ngôn ngữ lập trình Logo, dành riêng cho trẻ em. Trong Logo, trẻ điều khiển một "con rùa" bằng những lệnh như "tiến 50 bước", "quay phải 90 độ". Lúc đầu con rùa là một robot thật bò trên tờ giấy lớn, kéo theo cây bút để vẽ lại đường đi. Về sau nó thành một hình tam giác nhỏ trên màn hình.

Papert tin rằng trẻ học toán tốt nhất khi được "làm" toán: muốn con rùa vẽ hình vuông, trẻ phải tự nghĩ ra rằng cần đi thẳng, quay 90 độ, lặp lại bốn lần. Ý tưởng học qua làm của ông là nền móng trực tiếp của Scratch. Ngày nay Scratch vẫn có khối "bút" để vẽ theo đúng tinh thần con rùa ngày xưa.

Chọn công cụ theo độ tuổi

Bảng dưới là gợi ý chung, không phải quy định. Trẻ ham thích có thể đi nhanh hơn, trẻ khác cần thêm thời gian ở bậc trước. Điều quan trọng là trẻ hiểu, không phải đi nhanh.

Độ tuổiNên bắt đầu vớiHọc được gì
5–7Hoạt động không máy tính (thẻ lệnh, đi theo mũi tên trên sàn); ScratchJr trên máy tính bảngThứ tự các bước, đi trước đoán sau, kể chuyện bằng nhân vật chuyển động
8–11Scratch; tiếp tục các hoạt động không máy tínhVòng lặp, điều kiện, biến, sự kiện; tự làm hoạt hình và truyện tương tác
12–15Scratch ở mức dự án lớn; bo mạch nhỏ như micro:bit; ngôn ngữ dạng chữ như PythonChia dự án lớn thành phần, gỡ lỗi có hệ thống, làm thiết bị đo nhiệt độ, ánh sáng; viết mã bằng chữ

ScratchJr cho trẻ chưa đọc thạo

ScratchJr ra đời năm 2014, là kết quả hợp tác giữa nhóm nghiên cứu của Đại học Tufts, nhóm Lifelong Kindergarten của MIT và một công ty thiết kế đồ chơi học tập. Các khối lệnh dùng hình và mũi tên thay vì chữ, nên trẻ 5–7 tuổi chưa đọc thạo vẫn dùng được. Ứng dụng này cũng miễn phí.

Bo mạch nhỏ: khi lập trình chạm vào thế giới thật

Một số bạn lớn hơn thích thấy chương trình làm thứ gì đó ngoài màn hình: sáng đèn, kêu bíp, đo nhiệt độ phòng. Các bo mạch nhỏ cỡ bàn tay như micro:bit, do đài BBC của Anh khởi xướng và phát cho học sinh Anh từ năm 2016, có sẵn đèn, nút bấm, cảm biến và lập trình được bằng cả khối lẫn Python. Những bo mạch này chạy bằng pin nhỏ hoặc cổng USB, điện áp thấp; việc nối thêm linh kiện ngoài nên làm cùng thầy cô hoặc người lớn có hiểu biết.

Python: bước sang mã viết bằng chữ

Python là ngôn ngữ dạng chữ thường được chọn để dạy người mới vì câu lệnh gần với tiếng Anh, ít kí hiệu rối. Ở Việt Nam, học sinh trung học phổ thông học Python trong môn Tin học theo nhiều bộ sách hiện hành. Một bạn đã quen vòng lặp, điều kiện, biến trong Scratch sẽ thấy Python chủ yếu là cách viết mới cho những ý cũ.

Không có máy tính vẫn học được

Nhiều gia đình lo con không có máy tính riêng thì không học lập trình được. Thật ra phần cốt lõi là cách nghĩ, và cách nghĩ học được bằng giấy bút. Bộ tài liệu Khoa học máy tính không cần máy tính (CS Unplugged) của Đại học Canterbury, New Zealand, là một ví dụ: hàng chục hoạt động dạy nhị phân, sắp xếp, tìm kiếm, mã hoá chỉ bằng thẻ giấy, phấn, dây và chính cơ thể học sinh. Những hoạt động ấy đã được dịch và dùng ở nhiều nước.

Ngoài ra, chiến dịch "Giờ Lập trình" (Hour of Code) được tổ chức hằng năm từ 2013, thường vào tháng 12, có nhiều bài một giờ cho người mới, cả bản dùng máy lẫn bản không dùng máy.

Phụ huynh có thể giúp thế nào

  • Bắt đầu từ thứ con thích: con thích kể chuyện thì làm truyện tương tác, thích vẽ thì làm hoạt hình, thích nhạc thì làm nhạc cụ ảo. Dự án có ý nghĩa với con thì con mới kiên trì khi gặp lỗi.
  • Hỏi, đừng làm hộ: "Con định cho nhân vật làm gì? Giờ nó đang làm gì? Con thử đổi chỗ nào?" Những câu hỏi này giúp con tự gỡ lỗi.
  • Khen quá trình hơn kết quả: khen việc con thử nhiều cách, tìm ra lỗi, chứ không chỉ khen sản phẩm đẹp.
  • Vẽ trên giấy trước: trước khi mở máy, cùng con phác các khung hình hoặc các bước. Thời gian trước màn hình ngắn hơn mà tập trung hơn.
  • Thống nhất thời gian: lập trình vẫn là ngồi trước màn hình. Nên thoả thuận thời lượng và nghỉ giải lao như với mọi hoạt động trên thiết bị khác.
  • Không cần biết lập trình mới giúp được: bố mẹ có thể học cùng con. Con giải thích cho bố mẹ cũng là cách học rất tốt.

Thử làm: lên kịch bản một tấm thiệp động trên giấy

Trước khi mở bất kỳ phần mềm nào, hãy làm phiên bản giấy. Hoạt động mất khoảng 30 phút, cần giấy, bút màu, kéo an toàn.

  1. Chọn dịp: sinh nhật bà, Tết Trung thu, ngày Nhà giáo.
  2. Vẽ bốn khung hình theo thứ tự, như truyện tranh: chuyện gì xảy ra đầu tiên, tiếp theo, cuối cùng.
  3. Cắt các nhân vật ra khỏi giấy để di chuyển được trên một tờ "sân khấu".
  4. Viết lệnh cho từng nhân vật trên giấy nhớ, mỗi tờ một lệnh: "khi bắt đầu: hiện ra ở góc trái", "đi tới giữa", "lặp lại 3 lần: nhảy lên, nhảy xuống", "nói: Chúc bà mạnh khoẻ".
  5. Một người đọc lệnh, một người di chuyển nhân vật đúng y lệnh. Thấy chỗ nào chưa đúng ý thì sửa giấy nhớ.

Khi bản giấy đã chạy trơn tru, chuyển sang Scratch hoặc ScratchJr sẽ rất nhanh, vì phần khó nhất là nghĩ ra các bước đã xong. Còn nếu không có máy, tấm thiệp giấy với những nhân vật cử động bằng tay vẫn là một món quà.

Câu hỏi thường gặp

Scratch là gì?

Scratch là một ngôn ngữ lập trình bằng khối kéo thả, miễn phí, do nhóm Lifelong Kindergarten thuộc Phòng thí nghiệm Truyền thông MIT phát triển và ra mắt năm 2007. Trẻ ghép các khối lệnh để làm hoạt hình, truyện tương tác, mô phỏng và nhiều dự án khác. Scratch có giao diện tiếng Việt.

Trẻ mấy tuổi thì nên học lập trình?

Trẻ 5–7 tuổi có thể làm quen qua hoạt động không máy tính và ScratchJr. Khoảng 8 tuổi trở lên phù hợp với Scratch. Không có mốc tuổi bắt buộc; điều quan trọng là trẻ thấy hứng thú và hiểu những gì mình làm, không phải bắt đầu sớm.

Scratch và ScratchJr khác nhau thế nào?

ScratchJr dành cho trẻ khoảng 5–7 tuổi, dùng trên máy tính bảng, các khối lệnh là hình và mũi tên nên trẻ chưa đọc thạo vẫn dùng được. Scratch dành cho trẻ khoảng 8–16 tuổi, có nhiều khối hơn như biến, điều kiện phức tạp và âm thanh, cùng một cộng đồng chia sẻ tác phẩm.

Học lập trình có cần máy tính không?

Không bắt buộc ở giai đoạn đầu. Thuật toán, vòng lặp, điều kiện, nhị phân, sắp xếp đều học được bằng thẻ giấy, phấn và hoạt động vận động. Máy tính cần khi muốn chạy chương trình thật, và khi đó trẻ đã hiểu ý tưởng thì học công cụ sẽ nhanh hơn.

Sau Scratch nên học gì?

Nhiều bạn chuyển sang Python, một ngôn ngữ dạng chữ dễ đọc, hoặc lập trình cho bo mạch nhỏ như micro:bit để điều khiển đèn và cảm biến. Những khái niệm đã học trong Scratch như vòng lặp, điều kiện, biến vẫn dùng nguyên, chỉ cách viết là khác.

ScratchScratchJrlập trình kéo thảLogo con rùaSeymour Papertmicro:bitPython cho học sinhlập trình theo độ tuổiphụ huynh đồng hành

Đọc tiếp

Thuật toán là gì: hiểu qua công thức pha một cốc nước chanhThuật toán là dãy bước rõ ràng, làm đúng thứ tự thì ra kết quả mong muốn. Pha nước chanh, gấp áo, chỉ đường đều là thuật toán, học được không cần máy tính.Chia nhỏ vấn đề lớn thành việc vừa sức: cách nghĩ của người lập trìnhChia nhỏ vấn đề là tách việc lớn thành các việc nhỏ, mỗi việc đủ rõ để làm ngay. Học qua dọn phòng, gói bánh chưng, lên kế hoạch dã ngoại và chia để trị.Vòng lặp trong đời thường: từ dấu nhắc lại bản nhạc đến khung dệtVòng lặp là cách bảo làm lại một nhóm bước nhiều lần. Có ba kiểu: lặp đủ số lần, lặp cho tới khi, lặp mãi; kèm lỗi lệch một và hoạt động nhảy theo thẻ lệnh.Câu lệnh nếu–thì: máy móc quanh ta ra quyết định như thế nàoCâu lệnh nếu–thì cho máy chọn việc tuỳ điều kiện đúng hay sai. Vòi nước cảm ứng, cửa tự động, nồi cơm điện đều dùng nó; kèm VÀ, HOẶC, KHÔNG và lỗi hay gặp.Nghề sáng tạoHồ sơ sáng tạo cho học sinh: lưu tác phẩm từ nhỏ gọn gàng và có íchHồ sơ sáng tạo là nơi lưu tranh, truyện, mô hình kèm ghi chú quá trình. Bài chỉ cách chọn gì để giữ, cất giấy và ảnh số, chọn bộ trưng bày và chia sẻ an toàn cho trẻ.