Scratch là tên gọi của một loại ngôn ngữ lập trình, được nghiên cứu và phát triển bởi nhóm Lifelong Kindergarten thuộc trung tâm Media Lab của Viện công nghệ Massachusetts (Massachusetts Institute of Technology – MIT, thành lập năm 1981 ở TP Cambridge, Bang Massachusetts, Hoa Kỳ). Dẫn đầu dự án nghiên cứu sáng tạo ra ngôn ngữ này là giáo sư Mitchel Resnick, ông cũng là giám đốc điều hành của nhóm Lifelong Kindergarten.

home-graphic.e1451ef283fcMục đích chính của dự án là nghiên cứu ra một phương pháp giúp cho trẻ em cũng có thể học lập trình. Ngôn ngữ lập trình Scratch phát triển theo hướng tương tác trực quan, đồ họa sống động, sản phẩm liền tay mà vẫn đảm bảo tính khoa học, tính liên thông tri thức sau này.
Khi sử dụng Scratch, ta chỉ cần kéo – thả các khối lệnh đầy màu sắc có sẵn để lắp ghép thành một kịch bản điều khiển các đối tượng trên màn hình.

Với đặc điểm dễ học, dễ sử dụng và hiệu quả như vậy, Scratch được xem như là một ngôn ngữ nền tảng trước khi học các ngôn ngữ khác. Và vì thế, đến nay đã có hàng triệu dự án được chia sẻ trên trang chủ của nhà thiết kế. Rất nhiều trường học trên khắp thế giới, từ trường Tiểu học đến Đại học đã sử dụng Scratch như một môn học chính thức.

Học Scratch có lợi ích gì đối với sự phát triển tính cách và trí tuệ của người học ?

Các chuyên gia giảng dạy lập trình Scratch đã chỉ ra một số lợi ích mà scratch mang lại cho người học như sau:

  • Rèn luyện tính kiên trì, cẩn thận trong học tập và trong cuộc sống nói chung.
  • Bồi dưỡng niềm say mê học tập, tính tự giác giải quyết các công việc chưa hoàn thành.
  • Kích thích và phát huy trí tưởng tượng.
  • Biết diễn đạt ý tưởng, suy nghĩ một cách chặt chẽ, logic.
  • Biết chọn lọc và thử nghiệm các ý tưởng mới.
  • Biết phân chia và phối hợp trong khi làm việc nhóm.
  • Biết xử lý lỗi và tìm các giải pháp thay thế.
  • Rèn luyện kỹ năng thuyết trình, giải thích dễ hiểu, mạch lạc cho người khác.

Theo chính tác giả Scratch, giáo sư Mitchel Resnick đã chia sẻ:

“Khi học lập trình Scratch, trẻ em học được những nguyên lý cơ bản của việc thiết kế, học được cách thử nghiệm ý tưởng mới, học được cách phân chia ý tưởng phức tạp thành những phần việc đơn giản, học được cách hợp tác với người khác để thực hiện dự án, học được cách tìm và sửa lỗi khi kết quả không được như ý, tập được tính kiên trì khi đối mặt với khó khăn. Ngày nay, đó không chỉ là những kỹ năng cần thiết cho việc lập trình, mà còn cần thiết cho nhiều hoạt động khác.”

Màn hình lập trình game Angry Birds bằng Scratch dưới đây cho thấy việc lập trình được thực hiện đơn giản chỉ bằng việc kéo-thả các khối lệnh để điều khiển các đối tượng trên màn hình:

scratch_game