Scratch trong lập trình là một dạng ngôn ngữ được sử dụng để lập trình. Vậy quy định về Scratch là gì, tổng quan về ngôn ngữ lập trình scratch 3.0 được quy định như thế nào?
Mục lục bài viết
1. Scratch là gì?
Scratch là một ngôn ngữ lập trình trực quan dựa trên khối cấp cao và trang web nhắm mục tiêu chủ yếu đến trẻ em từ 8-16 tuổi như một công cụ giáo dục để lập trình. Người dùng trên trang web, được gọi là Scratchers, có thể tạo các dự án trên trang web bằng giao diện giống như khối. Dự án có thể được xuất sang HTML5, ứng dụng Android và tệp EXE bằng các công cụ bên ngoài. Dịch vụ được phát triển bởi MIT Media Lab, đã được dịch sang hơn 70 ngôn ngữ và được sử dụng ở hầu hết các nơi trên thế giới. Scratch được giảng dạy và sử dụng trong các trung tâm, trường học và trường cao đẳng sau giờ học, cũng như các tổ chức tri thức công cộng khác. Tính đến tháng 12 năm 2021, thống kê cộng đồng trên trang web chính thức của ngôn ngữ cho thấy hơn 92 triệu dự án được chia sẻ bởi hơn 82 triệu người dùng và hơn 98 triệu lượt truy cập trang web hàng tháng.
Scratch lấy tên của nó từ một kỹ thuật được sử dụng bởi những người chơi xóc đĩa được gọi là “cào”, trong đó các bản ghi vinyl được cắt lại với nhau và thao tác trên một bàn xoay để tạo ra các hiệu ứng âm thanh và âm nhạc khác nhau. Giống như cào, trang web cho phép người dùng kết hợp các phương tiện khác nhau với nhau (bao gồm đồ họa, âm thanh và các chương trình khác) theo những cách sáng tạo bằng cách tạo và ‘phối lại’ các dự án, như trò chơi điện tử, hoạt ảnh và mô phỏng.
2. Tổng quan về ngôn ngữ lập trình scratch 3.0:
– Giao diện người dùng của Scratch: Giao diện Scratch được chia thành ba phần chính: khu vực sân khấu, bảng khối và khu vực mã hóa để đặt và sắp xếp các khối thành các tập lệnh có thể chạy bằng cách nhấn cờ xanh hoặc nhấp vào chính mã. Người dùng cũng có thể tạo khối mã của riêng họ và chúng sẽ xuất hiện trong “Khối của tôi”.
Khu vực sân khấu hiển thị các kết quả (ví dụ: hoạt ảnh, đồ họa con rùa, ở kích thước nhỏ hoặc bình thường, với tùy chọn toàn màn hình cũng có sẵn) và tất cả các hình thu nhỏ mô tả được liệt kê ở khu vực dưới cùng. Sân khấu sử dụng tọa độ x và y, với 0,0 là tâm vùng hiển thị.
Với một sprite được chọn ở cuối vùng tổ chức, các khối lệnh có thể được áp dụng cho nó bằng cách kéo chúng từ bảng khối vào vùng mã hóa. Tab Trang phục cho phép người dùng thay đổi giao diện của sprite để tạo ra các hiệu ứng khác nhau, bao gồm cả hoạt ảnh. Tab Âm thanh cho phép đính kèm âm thanh và nhạc vào một bản ghép.
Khi tạo sprite và cả nền, người dùng có thể vẽ sprite của riêng mình theo cách thủ công, chọn Sprite từ thư viện hoặc tải lên hình ảnh.
– Chỉnh sửa ngoại tuyến của Scratch: “Trình chỉnh sửa máy tính để bàn” ngoại tuyến dành cho Scratch 3.0 khả dụng cho Microsoft Windows 10 trong Microsoft Store và macOS 10.13 của Apple; điều này cho phép tạo và phát các chương trình Scratch ngoại tuyến. Trình chỉnh sửa ngoại tuyến cũng có thể được tải xuống trong các phiên bản trước, chẳng hạn như Scratch 2.0 và Scratch 1.4.
– Tiện ích mở rộng: Trong Scratch, các tiện ích mở rộng thêm các khối và tính năng bổ sung có thể được sử dụng trong các dự án. Trong Scratch 2.0 và 3.0, các phần mở rộng đều dựa trên phần cứng. Các tiện ích mở rộng dựa trên phần mềm đã được thêm vào trong Scratch 3.0, chẳng hạn như giọng nói chuyển văn bản thành giọng nói, cùng với một số tiện ích mở rộng dựa trên phần cứng mới như micro: bit. Các phần mở rộng như sau: Âm nhạc; Cái bút; Cảm biến video; Chuyển văn bản thành giọng nói; Phiên dịch; BBC Micro: bit; LEGO Mindstorms EV3; LEGO WeDo 2.0; Makey Makey; LEGO SPIKE Prime; LEGO BOOST; Lực lượng & Gia tốc Trực tiếp; Thuộc vật chất; Lego Mindstorms EV3 – điều khiển động cơ và nhận dữ liệu cảm biến từ Lego Mindstorms EV3; Makey Makey – sử dụng Makey Makey để kiểm soát các dự án; Lego Education WeDo 2.0 – điều khiển động cơ và nhận dữ liệu cảm biến từ Lego WeDo; Lego Education SPIKE Prime — Ngôn ngữ lập trình chính cho Lego SPIKE Prime, bao gồm điều khiển động cơ và nhận dữ liệu cảm biến; BBC micro: bit – sử dụng BBC micro: bit để điều khiển các dự án; Lego BOOST – mang những sáng tạo rô bốt vào cuộc sống; Go Direct Force & Acceleration – Kéo, đẩy, chuyển động và quay theo cảm giác.
– Điện tử: Nhiều phần mở rộng kỹ thuật số trong Scratch 3.0 từng là danh mục khối thông thường đã được chuyển sang phần phần mở rộng để giảm bớt sự lộn xộn. Bao gồm các: Âm nhạc – Chơi các nhạc cụ kỹ thuật số (trống, kèn, vĩ cầm, piano, v.v.); Bút – Vẽ trên sân khấu với nhiều độ dày và màu sắc khác nhau; Cảm biến video – Phát hiện chuyển động bằng máy ảnh.
Các phần mở rộng kỹ thuật số mới cũng đã được thêm vào khi hợp tác với các công ty thương mại. Bao gồm các: Text to Speech – Chuyển đổi các từ trong văn bản thành đầu ra giọng nói (nhiều loại giọng nói, do Amazon cung cấp); Dịch – Sử dụng Google Dịch để dịch văn bản từ một ngôn ngữ này sang nhiều ngôn ngữ khác, bao gồm tiếng Ả Rập, tiếng Trung, tiếng Hà Lan, tiếng Anh, tiếng Pháp, tiếng Hy Lạp và tiếng Nhật. Người dùng cũng có thể tạo tiện ích mở rộng của riêng họ cho Scratch 3.0 bằng JavaScript.
– Cơ sở mã: Scratch 3.0 là một cơ sở mã dựa trên JavaScript hoàn toàn mới được tạo thành từ nhiều thành phần, chẳng hạn như “Scratch-GUI”, hiện dựa trên thư viện từ Blockly, “Scratch-VM”, thông dịch mã và “Scratch-Render, “công cụ kết xuất. Các khối Scratch được tạo ra bằng cách sử dụng Blockly.
3. Cộng đồng người dùng của Scratch:
Scratch được sử dụng trong nhiều môi trường khác nhau: trường học, bảo tàng, thư viện, trung tâm cộng đồng và gia đình. Mặc dù nhóm mục tiêu của Scratch là học sinh từ 8 đến 16 tuổi, nó được sử dụng bởi mọi lứa tuổi bao gồm cả các nhà giáo dục và phụ huynh. Sự tiếp cận rộng rãi này đã tạo ra nhiều cộng đồng xung quanh, cả vật chất và kỹ thuật số. Vào tháng 4 năm 2020, bảng xếp hạng Tiobe về các ngôn ngữ lập trình trên thế giới đã đưa Scratch vào top 20. Theo Tiobe, có 50 triệu dự án được viết bằng Scratch và mỗi tháng có một triệu dự án mới được thêm vào.
3.1. Người dùng giáo dục của Scratch:
Scratch được sử dụng làm ngôn ngữ giới thiệu vì việc tạo ra các chương trình thú vị tương đối dễ dàng và các kỹ năng học được có thể được áp dụng cho các ngôn ngữ lập trình khác như Python và Java.
Scratch không dành riêng cho việc tạo trò chơi. Với hình ảnh được cung cấp, lập trình viên có thể tạo hoạt ảnh, văn bản, câu chuyện, âm nhạc, v.v. Đã có nhiều chương trình mà học sinh có thể sử dụng để học các chủ đề về toán, lịch sử và thậm chí cả nhiếp ảnh. Scratch cho phép giáo viên tạo các bài học về khái niệm và hình ảnh cũng như các bài tập trong phòng thí nghiệm khoa học với các hình ảnh động giúp hình dung các khái niệm khó. Trong lĩnh vực khoa học xã hội, người hướng dẫn có thể tạo câu đố, trò chơi và hướng dẫn với các yếu tố tương tác. Sử dụng Scratch cho phép những người trẻ tuổi hiểu được logic của lập trình và cách xây dựng và cộng tác một cách sáng tạo.
Scratch được giảng dạy cho hơn 800 trường học và 70 trường cao đẳng của tổ chức DAV ở Ấn Độ và trên toàn thế giới.
Trong giáo dục đại học, Scratch được sử dụng trong tuần đầu tiên của khóa học nhập môn khoa học máy tính CS50 của Đại học Harvard.
3.2. Cộng đồng trực tuyến của Scratch:
Người dùng Scratch được gọi là ‘Scratchers’. Scratcher có khả năng chia sẻ dự án của họ và nhận phản hồi. Các dự án có thể được tải trực tiếp từ môi trường phát triển lên trang web của Scratch và bất kỳ thành viên nào trong cộng đồng cũng có thể tải xuống toàn bộ mã nguồn để nghiên cứu hoặc để phối lại thành các dự án mới. Scratcher cũng có thể tạo studio dự án, bình luận, yêu thích và “yêu thích” dự án của người khác, theo dõi các thành viên khác để xem các dự án và hoạt động của họ cũng như chia sẻ ý tưởng. Các dự án bao gồm từ gamed và hình ảnh động đến các công cụ thực tế. Ngoài ra, để khuyến khích sự sáng tạo và chia sẻ giữa những người dùng, trang web thường xuyên đặt ra các thử thách “Scratch Design Studio”.
Nhóm MIT Scratch làm việc để đảm bảo rằng cộng đồng này duy trì một môi trường thân thiện và tôn trọng tất cả mọi người.
Các nhà giáo dục có cộng đồng trực tuyến của riêng họ được gọi là ScratchEd, được phát triển và hỗ trợ bởi Trường Giáo dục Sau đại học Harvard. Trong cộng đồng này, các nhà giáo dục Scratch chia sẻ câu chuyện, trao đổi tài nguyên và đặt câu hỏi.