Khái niệm lập trình trong Scratch

Khái niệm lập trình trong Scratch

Nhiều người đã quen thuộc với Scratch, môi trường lập trình dành cho trẻ em, trong đó việc học thường tập trung vào việc tạo ra các dự án sáng tạo theo nguyên tắc “từ đơn giản đến phức tạp”. Đồng thời, “cách tiếp cận cổ điển” trong việc học lập trình (biến → nhánh → vòng lặp → hàm → cấu trúc → đối tượng →…) trong Scratch rất khó.

Tuy nhiên, việc thay đổi trình tự học các khái niệm (hãy gọi chúng là khái niệm) của lập trình có cấu trúc, hướng đối tượng và sự kiện, ẩn chúng đằng sau các họa tiết đầy màu sắc và hoạt ảnh tương tác, không có nghĩa là không nên nhấn mạnh các khái niệm này. Đặc biệt nếu mục tiêu không phải là phát triển khả năng sáng tạo mà là học lập trình. Tôi đã cố gắng phản ánh ý tưởng này trong khóa học.

Điều đầu tiên mà người mới bắt đầu gặp phải là các họa tiết. Mặc dù Scratch không có lập trình hướng đối tượng nhưng các sprite có thể được coi là đối tượng. Ở giai đoạn này, học sinh thấy rằng một chương trình có thể có nhiều đối tượng mà hành vi của chúng được điều khiển bởi các tập lệnh bên ngoài chúng. Các sprite nhận lệnh hoặc truyền thông tin về trạng thái của chúng theo yêu cầu, nghĩa là việc lập trình phụ thuộc vào việc quản lý các đối tượng.

Điều thứ hai ngay lập tức gây ấn tượng với một lập trình viên trẻ trong Scratch là khái niệm đa luồng. Mỗi sprite có thể có nhiều script chạy đồng thời. Nhiều sprite cũng có thể chạy các chương trình của chúng đồng thời với nhau. Hơn nữa, việc tổ chức thực hiện tuần tự trở nên khó khăn hơn.

Khái niệm lập trình trong Scratch

Khái niệm lập trình trong Scratch

Ngay trong bài học đầu tiên chúng ta không thể tránh khỏi việc làm quen với chu kỳ. Nếu không, con mèo sẽ không thực sự bỏ chạy. Ở giai đoạn này, việc làm quen phải mang tính trực quan và hời hợt. Chúng tôi giới hạn nó ở các vòng lặp "luôn lặp lại" và "lặp lại... lần", để dễ hiểu hơn. Vòng lặp có điều kiện được nghiên cứu trong bài học dành riêng cho vòng lặp. Bài học này giả định kiến ​​thức về các biểu thức và biến Boolean.

Vì Scratch là môi trường hướng sự kiện nên các khối câu lệnh điều kiện sẽ dễ học hơn trước các biến. Điều kiện có thể là một số sự kiện nhất định.

Khái niệm lập trình trong Scratch

Theo tôi, trình tự này tốt hơn vì đối với mỗi bài học, chúng tôi giới thiệu tối thiểu các khái niệm. Và không phải những điều trừu tượng, nhưng chúng ta thấy ngay những lợi ích thiết thực của chúng.

Nếu bạn nghiên cứu các biến lần đầu tiên thì mục đích và lợi ích của chúng rất khó chứng minh vì toán tử có điều kiện, nhập dữ liệu và tạo số ngẫu nhiên chưa được nghiên cứu trước đây.

Trong Scratch, không tính danh sách, người lập trình gặp ba loại dữ liệu: số, chuỗi và Boolean. Trong trường hợp này, loại được liên kết với giá trị chứ không phải biến. Không cần phải chuyển đổi chuỗi thành số và ngược lại. Chuỗi không được trích dẫn.

Một khối trả về giá trị boolean và có hình dạng góc cạnh đặc trưng có thể được chèn vào các trường được làm tròn. Điều ngược lại là không đúng: khi giả sử một biểu thức Boolean thì không thể chèn một biến thông thường.

Khái niệm lập trình trong Scratch

Scratch được triển khai để không xảy ra lỗi nghiêm trọng trong quá trình thực thi. Rõ ràng đây là lý do tại sao, nếu bạn cố gắng sử dụng một chuỗi trong phép tính số học, nó sẽ được thay thế bằng XNUMX (xem ảnh chụp màn hình đầu tiên).

Lập trình viên nên biết rằng khả năng của ngôn ngữ lập trình được mở rộng bởi các thư viện. Làm việc trong Scratch, học sinh có thể kết nối các phần bổ sung dẫn đến sự xuất hiện của các lệnh mới trong môi trường.

Khái niệm lập trình trong Scratch

Các chức năng trong Scratch được triển khai trong phần "Khối khác", nơi một mặt bạn tạo khối của riêng mình để có thể chèn vào các tập lệnh khác. Mặt khác, chúng ta phải thu thập chức năng của khối này, tức là nó sẽ làm gì.

Khái niệm lập trình trong Scratch

Không có giá trị trả về từ hàm cào.

Vì vậy, việc học các khái niệm lập trình trong môi trường hướng sự kiện sẽ để lại dấu ấn. Về cơ bản, trước tiên chúng tôi nghiên cứu các khái niệm phức tạp và trừu tượng hơn và chỉ khi đi sâu hơn vào quy trình, chúng tôi mới chuyển sang các yếu tố của lập trình có cấu trúc. Đây là điểm cộng hay điểm trừ đối với lần làm quen đầu tiên là một điểm cần tranh luận.

Nguồn: www.habr.com

Thêm một lời nhận xét