


**NHÀ XUẤT BẢN ĐẠI HỌC QUỐC GIA HÀ NỘI** 16 Hàng Chuối – Hai Bà Trưng – Hà Nội Điện thoại: Biên tập: (04) 39714896; Quản lý xuất bản: (04) 39728806; Tổng biên tập: (04) 39715011; Fax: (04) 39729436 Chịu trách nhiệm xuất bản: Giám đốc – Tổng biên tập: TS. PHẠM THỊ TRÂM Biên tập chuyên ngành: ĐẶNG THỊ PHƯƠNG ANH Biên tập xuất bản: ĐẶNG THỊ PHƯƠNG ANH Chế bản: CÔNG TY TNHH HỌC VIÊN VIETSTEM Trình bày bìa: CÔNG TY TNHH HỌC VIÊN VIETSTEM Đối tác liên kết: CÔNG TY TNHH DỊCH VỤ VĂN HÓA SƯ PHẠM Địa chỉ: Số 3B, ngách 67, ngõ Gốc Đề, phường Hoàng Văn Thụ, Quận Hoàng Mai, TP. Hà Nội SÁCH LIÊN KẾT **LẬP TRÌNH VỚI SCRATCH** **(HÀNH TRANG CHO TƯƠNG LAI)** Mã số: 1L – 568PT2018 In 1.000 cuốn, khổ 19 x 26cm tại Công ty CP in Ngọc Trâm Địa chỉ: Số 107/E8 Thanh Xuân Bắc, Q. Thanh Xuân, Hà Nội. Số xác nhận ĐKXB: 4112-2018/CXBIPH/14-367/ĐHQGHN, ngày 09/11/2018 Quyết định xuất bản số: 596 LK-TN/QĐ – NXB ĐHQGHN, ngày 19/11/2018 In xong và nộp lưu chiều năm 2018. 2 https://vietstem.com/ — **LỜI NÓI ĐẦU** **Học lập trình ở Việt Nam** Từ năm 2006 – 2007, học sinh đã được tiếp cận với máy tính thông qua môn Tin học từ lớp 3 tới lớp 12. Tuy nhiên, với định hướng chương trình và đặc thù của các nhà trường nên lập trình chỉ là một phần nhỏ được giới thiệu trong toàn bộ chương trình. **Học lập trình trên thế giới** Bill Gates đã lập trình phần mềm Tic-tac-toe khi 13 tuổi. Zuckerberg đã bắt đầu lập trình máy tính từ lúc học lớp 6. Elon Musk đã tự mình học lập trình khi còn rất nhỏ và ở tuổi 12 cậu đã bán phần mềm đầu tiên của mình – một trò chơi khó nhằn, gian tên là Blastar – với giá khoảng 500 đô la. Từ năm 2000, lập trình là môn học bắt buộc tại các trường trung học ở Israel. Năm 2014, chính phủ Anh cho chương trình dạy lập trình bắt buộc cho học sinh từ 5 tuổi. Đầu tháng 6/2016, chính phủ Nhật đã chính thức thông qua chương trình giáo dục lập trình mới cho học sinh phổ thông. Theo đó, tất cả các học sinh cấp 2 trường công tại Nhật sẽ bắt buộc phải học lập trình ngay từ đầu cấp. Mục tiêu của chương trình này là để chuẩn bị lực lượng nhân sự sẵn sàng cho cuộc cách mạng công nghiệp lần thứ tư, đó sẽ là kỉ nguyên phát triển bùng nổ của nhiều ngành như robot và trí tuệ nhân tạo (Artificial Intelligence-AI), thực tế ảo (Virtual Reality-VR), thực tế ảo tăng cường (Augmented Reality-AR), vạn vật kết nối (Internet of Things-IoT),… **Mục đích của cuốn sách** Giới thiệu về ngôn ngữ lập trình kéo thả phổ biến nhất thế giới cho học sinh phổ thông, Scratch 3.0 (phiên bản mới, phát hành năm 2019). Cuốn sách kế thừa toàn bộ ưu điểm về nội dung, cách trình bày của bản Scratch 2.0, đồng thời bổ sung những thông tin mới về giao diện, cách lập trình cũng như các khối lệnh của phiên bản Scratch 3.0. Giúp người học nhanh chóng làm chủ hoàn toàn cách sử dụng Scratch 3.0, thông qua từng bước hướng dẫn chi tiết và lập trình qua 05 chương trình mẫu theo cấp độ từ dễ đến khó. Trên cơ sở đó người học có thể tự tạo ra các ứng dụng trò chơi, ứng dụng hỗ trợ học tập nghiên cứu cứu nào đó đơn giản như làm tấm thiệp hay bộ phim hoạt hình, tùy theo trình độ cũng như ý tưởng của riêng mình. **Yêu cầu kiến thức khi sử dụng sách** Để sử dụng sách hiệu quả, học sinh cần có một số kiến thức nhất định về sử dụng chuột và bàn phím máy tính, biết đếm đến 480, hiểu được phép nhân và phép chia. Nhiều khái niệm phức tạp hơn như số âm, phân số, trục tọa độ, số đo góc sẽ được giải thích chi tiết trong nội dung cuốn sách. **Đối tượng sử dụng sách** Học sinh Tiểu học (từ 6 – 10 tuổi) có sự hỗ trợ của phụ huynh) và học sinh Trung học cơ sở. **Cảm ơn** Chúng tôi muốn cảm ơn những người sáng tạo ra Scratch – Nhóm Lifelong Kindergarten tại MIT (Massachusetts Institute of Technology) Media Lab Do giáo sư Mitch Resnick đứng đầu đã tạo ra một cách thức tuyệt vời để dạy học sinh học lập trình và tạo nên sự khác biệt với lập trình viên. Các nhà quản lý cộng đồng công nghệ trong và ngoài nước đã giúp đỡ chúng tôi một cách nhiệt tình về mặt tài chính và kinh doanh, cũng như hỗ trợ chúng tôi trong việc xuất bản cuốn sách này. Chúng tôi cũng muốn cảm ơn những thành viên nhóm tác giả của chúng tôi đã miệt mài không quản ngày đêm với mong muốn nhanh chóng đưa Scratch 3.0 phổ biến cho cộng đồng học sinh Việt Nam. Ngoài ra chúng tôi xin trân trọng cảm ơn sự ủng hộ của cộng đồng bạn đọc, các em học sinh trên cả nước đã đồng viên, khích lệ nhóm tác giả thông qua những phản hồi tích cực về cuốn sách “Lập trình với Scratch”, nó là động lực để nhóm tác giả VIETSTEM tiếp tục công cuộc phổ biến giáo dục STEM trong đó có lập trình cho các bạn học sinh VIET NAM. Để có thêm thông tin hỗ trợ, tài liệu cũng như bản mềm các ví dụ trong sách, các bạn có thể truy cập vào mục trợ giúp và download tài liệu trên website: https://vietstem.com/. **BÀI 1** **GIAO DIỆN** Giao diện ngầm định của Scratch 3.0. [Hình 1.1.1. Giao diện phần mềm Scratch 3.0] (Hình ảnh hiển thị giao diện Scratch 3.0 với các khu vực được đánh số 1, 2, 3) Ngôn ngữ hiển thị trên giao diện mặc định của chương trình là tiếng Anh. Các bạn có thể chuyển đổi giao diện sang tiếng Việt hoặc chọn Tiếng Việt, khi đó ngôn ngữ hiển thị trên giao diện hầu hết sẽ là tiếng Việt. [Hình 1.1.2. Thay đổi ngôn ngữ hiển thị trên giao diện] (Hình ảnh hiển thị menu lựa chọn ngôn ngữ trong Scratch 3.0) **1.1. Khu vực sân khấu** Khu vực sân khấu (được đánh số ① ) là nơi diễn tả từng phần hoặc dự án. Khi khởi động phần mềm, một chú mèo xuất hiện trên sân khấu – đó là nhân vật mặc định của chương trình.
c) Khu âm thanh Xuất hiện khi chọn trang Âm thanh, cho phép lập trình viên tạo, chỉnh sửa âm thanh cho các nhân vật trên cơ sở thư viện có sẵn hoặc tự tạo theo yêu cầu. [Hình 1.1.7. Khu âm thanh] **1.2.2. Phông nền sân khấu** Phông nền sân khấu có thể coi là một đối tượng (nhân vật) đặc biệt, cũng có ba khu vực tác động vào đó là Khu lập trình, Khu phông nền và Khu âm thanh. Về cơ bản, ba khu này có thành phần và chức năng tương đương với ba khu tác động vào nhân vật, chỉ có một chút khác biệt: a) Khu lập trình Giống với Khu lập trình của nhân vật, tuy nhiên vì sân khấu không thể di chuyển nên số lượng các khối lệnh sẽ ít hơn. b) Khu phông nền Khu phông nền của sân khấu xuất hiện khi chọn trang Thiết kế, là nơi quản lý các phông nền (Khu này cũng chính là Khu ngoại hình của nhân vật). c) Khu âm thanh Giống hoàn toàn với khu âm thanh của nhân vật. — **BÀI 2 THANH DANH MỤC VÀ KHU LƯU TRỮ** **2.1. Thanh danh mục** [Hình 1.2.1. Thanh danh mục] Thanh danh mục nằm ở phía trên cùng của giao diện và có vai trò rất quan trọng liên quan tới thao tác sử dụng chương trình Scratch. Sau đây là từng thành phần của Thanh danh mục: 1. **Tập tin** [Hình 1.2.2. Tập tin] Đây là nơi thao tác với tập tin dự án. Tập tin là một tập hợp các thông tin được lưu lại trên bộ nhớ máy tính. Ví dụ một bức ảnh, một bài hát, một bộ phim,… chúng ta đều gọi đó là tập tin. Mỗi dự án Scratch cũng là một tập tin. * Lựa chọn Mới: Lựa chọn này sẽ tạo một dự án mới để làm việc. Khi các bạn đang làm việc với một dự án khác mà lựa chọn Mới, nếu chọn Mới thì sẽ có một cửa sổ hiện ra hỏi bạn có muốn thay thế nội dung của dự án hiện tại hay không. [Hình 1.2.3. Cửa sổ xác nhận thay thế nội dung dự án hiện tại] Chọn dự án mới xuất hiện và dự án cũ sẽ không được lưu lại. — **2.2. Thanh danh mục** [Hình 1.3.3. Trục số] Trong hệ tọa độ có sử dụng đến số âm. Số âm là số nhỏ hơn 0, được biểu diễn dấu dấu trừ (-) đứng trước số tương ứng. Trên trục số thì số âm đứng bên trái số 0. **Số âm** -4 < -3 < -2 < -1 < 0 **Số dương** 1 < 2 < 3 < 4 **Hình 1.3.3. Trục số** Tọa độ của một điểm được xác định bởi tọa độ trục x và tọa độ trục y (gọi tắt là tọa độ x và tọa độ y) của điểm. Để xác định tọa độ của một điểm trên sân khấu, ta tìm điểm đó bằng cách dùng chuột, đường thẳng cắt trục x tại điểm đó. Kẻ đường thẳng đó từ điểm đó và đường thẳng cắt trục y tạo điểm đó. Tương tự như như vậy với trục y, ta tìm được vị trí y. Cặp số (x; y) chính là tọa độ của điểm đó. Trục x và trục y giao nhau tại điểm có tọa độ (0; 0). [Hình 1.3.4. Xác định tọa độ của một điểm] **3.2. Các chế độ của sân khấu** Sân khấu có ba chế độ: chế độ ngang, chế độ thu nhỏ và chế độ toàn màn hình. 1. **Chế độ dng:** Chế độ đầu tiên là chế độ mặc định của sân khấu. Chế độ này được thiết kế với ba khu vực: * **Khu vực lập trình:** Cho phép bạn lập trình cho nhân vật. * **Khu vực phông nền:** Cho phép bạn thay đổi phông nền cho sân khấu. * **Khu vực âm thanh:** Cho phép bạn thêm âm thanh cho sân khấu. 2. **Chế độ thu nhỏ:** Chế độ này cho phép bạn tùy chỉnh kích thước của sân khấu. Bạn có thể phóng to, thu nhỏ sân khấu để phù hợp với nhu cầu của mình. Khi bạn nhấp chuột vào nút “Thanh danh mục” và chọn “Small stage layout”, bạn sẽ thấy tùy chọn này. 3. **Chế độ toàn màn hình:** Chế độ này sẽ phóng to sân khấu để lấp đầy toàn bộ màn hình. Điều này rất hữu ích khi bạn muốn trình diễn dự án của mình hoặc khi bạn muốn tập trung vào một phần cụ thể của dự án. **4.4. Tải đối tượng từ máy tính** Nếu bạn muốn thêm một đối tượng có sẵn từ máy tính, chọn lệnh “Tải từ máy tính”. Một cửa sổ hiện ra để các bạn chọn ảnh hoặc tập tin đối tượng muốn thêm vào chương trình. [Hình 1.4.5. Cửa sổ số xác nhận thay thế nội dung dự án hiện tại] **4.5. Chụp ảnh** Đặc biệt đối với việc xem ngoại hình nhân vật các bạn có thể chọn thêm lệnh để chụp những đối tượng trên màn hình và lưu làm đối tượng mới. [Hình 1.4.6. Chụp ảnh từ máy tính] Lưu ý: Trong trường hợp muốn xóa phông nền hoặc hoán tác lại danh sách, chọn cửa sổ đối tượng và nháy chuột vào dấu X hoặc nháy chuột vào biểu tượng X xóa đối tượng.


