Mẫu hình | Event-driven, Ngôn ngữ lập trình mang tính giáo dục dựa trên khối |
---|---|
Xuất hiện lần đầu | 2003 2004 (nguyên mẫu thứ hai) 15 tháng 5 năm 2007; 17 năm trước (ra mắt công chúng) 9 tháng 5 năm 2013; 11 năm trước (Scratch 2.0) 2 tháng 1 năm 2019; 5 năm trước (Scratch 3.0) | (nguyên mẫu đầu tiên)
Ngôn ngữ thực thi | Squeak (Scratch 0.x, 1.x) ActionScript (Scratch 2.0) JavaScript (Scratch 3.0) |
Hệ điều hành | Microsoft Windows, macOS, Linux (thông qua renderer), HTML5, iOS, iPadOS, và Android. |
Giấy phép | GPLv2 và Giấy phép mã nguồn Scratch |
Phần mở rộng tên tập tin |
|
Trang mạng | scratch |
Ảnh hưởng từ | |
MSWLogo, Smalltalk, HyperCard, StarLogo, AgentSheets, AgentCubes, Etoys | |
Ảnh hưởng tới | |
Catrobat, ScratchJr, Snap!, mBlock, Turtlestitch |
Scratch là một ngôn ngữ lập trình miễn phí dành cho giáo dục, dựa trên các khối lập trình trực quan (VPL). Trang web chủ yếu của Scratch được sử dụng để giáo dục lập trình cho đối tượng từ 8 đến 16 tuổi. Người dùng, gọi là Scratcher, có thể tạo dự án trực tuyến sử dụng giao diện khối lập trình. Dự án có thể xuất ra dưới dạng HTML5, JavaScript, ứng dụng Android và tập tin EXE bằng các công cụ bên ngoài. Scratch được phát triển bởi MIT Media Lab, hỗ trợ hơn 70 ngôn ngữ, và được sử dụng rộng rãi trên toàn cầu trong giáo dục và học tập.
Scratch là tên được lấy cảm hứng từ kỹ thuật DJ 'scratching', trong đó các đĩa vinyl được cắt và thao tác trên bàn xoay để tạo ra âm thanh và hiệu ứng âm nhạc. Tương tự, trang web Scratch cho phép người dùng kết hợp các phương tiện khác nhau như đồ họa, âm thanh và các chương trình khác bằng cách tạo hoặc remix các dự án từ những người dùng khác, ví dụ như trò chơi điện tử, hoạt hình và mô phỏng.
Phần mềm: Scratch 3.0
Giao diện người dùng
Giao diện của Scratch được phân thành ba phần chính: khu vực sân khấu (stage area), bảng màu khối (block palette) và khu vực code (coding area) để sắp xếp các khối thành các tập lệnh có thể chạy khi nhấn vào biểu tượng cờ màu xanh lá hoặc click vào mã. Người dùng cũng có thể tạo các khối mã riêng của họ và chúng sẽ xuất hiện trong 'Khối của tôi' (My Blocks).
Khu vực sân khấu là nơi hiển thị các kết quả (ví dụ: hình ảnh động, đồ họa rùa (turtle graphics) với kích thước từ nhỏ đến lớn, và tất cả các sprites được liệt kê ở phần dưới. Tọa độ trên sân khấu được xác định bằng tọa độ x và y, với 0.0 là trung tâm sân khấu.
Với một sprite được chọn ở phần dưới cùng của khu vực sân khấu, các khối lệnh có thể được áp dụng bằng cách kéo chúng từ bảng màu khối vào khu vực code. 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 gắn âm thanh và nhạc vào một sprite.
Khi tạo sprites và hình nền, người dùng có thể vẽ sprites của riêng họ bằng tay, chọn từ thư viện hoặc tải lên hình ảnh.
Bảng dưới đây hiển thị các loại khối lập trình khác nhau:
Loại | Ghi chú | Loại | Ghi chú | |||
---|---|---|---|---|---|---|
Chuyển động (Motion) | Chuyển động của sprites như góc và vị trí. | Cảm biến (Sensing) | Sprites có thể tương tác với môi trường xung quanh. | |||
Hiển thị (Looks) | Điều khiển hình ảnh của sprites. | Các phép Toán (Operators) | Toán học, so sánh. | |||
Âm thanh (Sound) | Phát tệp âm thanh và hiệu ứng. | Các biến số (Variables) | Biến và Danh sách sử dụng và phân công. | |||
Sự kiện (Events) | Trình xử lý sự kiện. | Khối của tôi (My Blocks) | Một số chức năng được tạo bởi người dùng được xác định bởi các khối khác trong việc xác định tập lệnh. | |||
Điều khiển (Control) | Điều kiện và vòng lặp, v.v. | Tiện ích mở rộng (Extensions) | Giải thích bên dưới. |
Phần mềm ứng dụng
Phần mềm Scratch 3.0 ngoại tuyến có sẵn trên Microsoft Store cho Windows 10 hoặc có thể tải xuống trực tiếp từ tệp .exe, trên App Store của Apple cho macOS 10.13 hoặc tải xuống từ tệp .dmg, trên Google Play cho Chrome OS và Android. Điều này cho phép tạo và chạy chương trình Scratch ngoại tuyến. Trình chỉnh sửa ngoại tuyến cũng có sẵn để tải xuống cho các phiên bản trước đó như Scratch 2.0 và Scratch 1.4.
Công cụ mở rộng
Trong Scratch, công cụ mở rộng bổ sung các khối và tính năng mở rộng có thể được sử dụng trong các dự án. Cả Scratch 2.0 và 3.0 đều hỗ trợ các công cụ mở rộng dựa trên phần cứng. Các công cụ mở rộng phần mềm đã được thêm vào Scratch 3.0, cùng với một số công cụ mở rộng phần cứng mới như micro. Danh sách các công cụ mở rộng được liệt kê dưới đây:
- Nhạc
- Bút
- Cảm biến Video
- Chuyển văn bản thành lời nói
- Dịch
- BBC Micro
- LEGO Mindstorms EV3
- LEGO WeDo 2.0
- Makey Makey
- LEGO SPIKE Prime
- LEGO BOOST
- Cảm biến Lực và Gia tốc Go Direct
Vật lý
- Lego Mindstorms EV3 – điều khiển động cơ và thu thập dữ liệu cảm biến từ Lego Mindstorms EV3.
- Makey Makey – sử dụng Makey Makey để điều khiển các dự án.
- Lego Education WeDo 2.0 – điều khiển động cơ và thu thập 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à thu thập dữ liệu cảm biến.
- BBC micro– sử dụng bbc microđể điều khiển các dự án.
- Lego BOOST – mang những ý tưởng sáng tạo về robot vào cuộc sống.
- Go Direct Force & Acceleration – Cảm biến lực và gia tốc chuyển động.
Cơ sở mã nguồn
Scratch 3.0 là một cơ sở mã nguồn mới hoàn toàn dựa trên JavaScript, được xây dựng từ các thành phần như 'Scratch-GUI', hiện đang sử dụng thư viện từ Blockly, 'Scratch-VM' 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.