Dạy học lập trình với Scratch ĐẶT VẤN ĐỀ Lí do chọn đề tài Môn học tự chọn Tin học ở trường phổ thông hiện hành có nhiệm vụ trang bị cho học sinh những hiểu biết cơ bản về công nghệ thông tin và vai t.
Dạy học lập trình với Scratch A ĐẶT VẤN ĐỀ Lí chọn đề tài Mơn học tự chọn Tin học trường phổ thơng hành có nhiệm vụ trang bị cho học sinh hiểu biết cơng nghệ thơng tin vai trị xã hội đại Mơn học giúp học sinh bước đầu làm quen với phương pháp giải vấn đề theo quy trình cơng nghệ kĩ sử dụng máy tính phục vụ học tập sống Hiện nay, môn Tin học THCS môn học tự chọn với thời lượng tiết/tuần với tất lớp cấp học Đặc trưng mơn Tin học kiến thức lí thuyết đơi với thực hành, đặc biệt lứa tuổi THCS phần thực hành chiếm thời lượng nhiều Qua thời gian giảng dạy môn Tin học trường, đặc biệt Tin học lớp nhận thấy cần phải có thay đồi cơng tác dạy học lập trình Rất nhiều học sinh cảm thấy khơng hứng thú với chương trình Tin học lớp (Lập trình Pascal) theo thói quen nhiều em học sinh, học môn tin học thao tác sử dụng cách sử dụng internet, sử dụng hệ điều hành window, chương trình soạn thảo văn MS Word, chương trình soạn thảo trình diễn MS PowerPoint … Đây phần học khơng cần địi hỏi tư duy, mà cần học kĩ nhớ thao tác, thực hành nhiều lần thành thạo em thấy tính ứng dụng cao Nhưng học mơn lập trình Passal chương trình lớp THCS em cảm thấy khó khăn nhiều mơn “mới”, cách học “mới”, ngơn ngữ khó hiểu Trong q trình dạy học, tơi băn khoăn việc học lập trình em trở nên thú vị hấp dẫn hơn, hướng em đến việc u thích mơn học Với kiến thức có qua kinh nghiệm giảng dạy, để học tốt chương trình tin học lớp 8, mạnh dạn đưa phương pháp dạy lập trình lớp "Dạy học lập trình với Scratch" Với phần mềm học sinh khơng cịn phải loay hoay để viết cho lệnh, nhớ câu lệnh xác mà học sinh cần biết cách sử dụng phần mềm, nắm thuật toán, sử dụng lệnh có sẵn để kéo thả vào chương 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à đảm bảo tính khoa học, tính liên thơng tri thức sau GV: Nguyễn Thị Hiền Trang Dạy học lập trình với Scratch Khi sử dụng Scratch, thay phải viết dịng lệnh logic dễ gặp lỗi em cần nắm kéo khối lệnh đầy màu sắc có sẵn để lắp ghép thành chương trình hồn chỉnh Đối với người bắt đầu học ngôn ngữ lập trình Pascal, C, PHP, … khó hiểu với việc sử dụng Biến, Hàm, Thủ tục, Danh sách Điều kiện, Vòng lặp, sử dụng Scratch khái niệm trở nên trực quan, dễ hiểu dễ vận dụng tình cụ thể Xác định mục đích nghiên cứu Với phần mềm lập trình tơi muốn giúp cho họ sinh có cách nhìn khác học lập trình, em khơng cịn cảm thấy lập trình cao siêu chẳng hiểu gì, hay áp lực nó, … mà em cảm thấy yêu thích, thú vị với học lập trình B NỘI DUNG Những nội dung lí luận có liên quan trực tiếp đến vấn đề nghiên cứu Chúng ta thấy xã hội xã hội tri thức, xã hội tin học, Tin học lĩnh vực cịn non trẻ đóng vai trị quan trọng phát triển đất nước, ứng dụng tất lĩnh vực xã hội từ việc soạn thảo văn hay tính tốn bảng tính, thiết kế văn phòng việc điều khiển thiết bị phức tạp tên lửa, vũ trụ từ đáp ứng nhu cầu cá nhân đến việc kinh doanh quản lí điều hành xã hội Từ thực tế để đáp ứng yêu cầu xã hội địi hỏi người phải có kiến thức kĩ tin học, mơn tin học đưa vào cấp học, từ tiểu học, THCS, THPT, TC, CĐ, ĐH,… với cấp học THCS Hs lớp làm quen với máy tính , biết cách soạn thảo văn đơn giản, với Hs lớp biết tính tốn bảng tính Excel học tập số phần mềm phục vụ số môn học khác phần mềm Typing Test dùng để luyện gõ bàn phím nhanh phục vụ cho mơn tin học, phần mềm Earth Explorer dùng để học môn địa lí, phần mềm Toolkit Math dùng để phục vụ mơn tốn học Lớp HS học lập trình Đảng Nhà nước có chủ trương sách đầu tư phát triển ứng dụng công nghệ thông tin như: - Chỉ thị số 58-CT/TW trị đẩy mạnh ứng dụng phát triển CNTT nghiệp cơng nghiệp hố - đại hoá rõ: GV: Nguyễn Thị Hiền Trang Dạy học lập trình với Scratch “Ứng dụng phát triển CNTT nhiệm vụ ưu tiên chiến lược phát triển kinh tế - xã hội, phương tiện chủ lực để tắt đón đầu, rút ngắn khoảng cách phát triển so với nước trước” - Chỉ thị số 29/2001/CT-BGD&ĐT Bộ GD&ĐT tăng cường giảng dạy, đào tạo ứng dụng CNTT ngành giáo dục rõ: Nâng cao nhận thức vai trò CNTT: Ứng dụng phát triển CNTT giáo dục đào tạo tạo bước chuyển trình đổi nội dung, chương trình, phương pháp giảng dạy, học tập quản lí giáo dục Phấn đấu thực mục tiêu cụ thể ngành là: Tổ chức tốt việc dạy học tin học tất cấp học, bậc học, ngành học nhằm phổ cập tin học nhà trường, Đặc trưng môn Tin học khoa học gắn liền với công nghệ, mặt trang bị cho học sinh kiến thức khoa học Tin học, phát triển tư thuật toán, rèn luyện kĩ giải vấn đề, mặt khác phải trọng đến rèn luyện kĩ thực hành, ứng dụng, tạo điều kiện để học sinh thực hành, nắm bắt tiếp cận công nghệ Tin học phục vụ học tập đời sống Nội dung chương môn Tin học tự chọn hành trường phổ thông đáp ứng yêu cầu Trong chương trình tin học lớp kĩ em cần đạt nắm cấu trúc chương trình, viết số chương trình đơn giản Thực trạng vấn đề cần nghiên cứu Khó khăn Thời gian để học sinh thực hành ít, số lượng học sinh đông nên số em phải ngồi chung máy, chưa có có sách dành cho học sinh, giáo viên tự nghiên cứu tài liệu để dạy Một số giáo viên chưa tiếp cận nhiều với phần mềm Scratch nên chưa có đồng việc thực Thuận lợi Cơ sở vật chất đầy đủ, tiện nghi, chất lượng phòng máy tốt, ổn định Đây phần mềm miễn phí dùng online mà khơng cần tải (nếu máy có kết nối mạng) offline sau tải Mơ tả, phân tích giải pháp 3.1 Lập trình Scratch Có hai cách để lập trình Scratch Cách 1: Lập trình Scratch Online GV: Nguyễn Thị Hiền Trang Dạy học lập trình với Scratch - Truy cập vào trang web https://scratch.mit.edu/ Tạo tài khoản – Sign in Sau truy cập vào mục Create bắt đầu lập trình trực tiếp website Cách 2: Lập trình Scratch Offline - Truy cập vào trang https://scratch.mit.edu/download Chọn mục Download để download file exe ổ cứng máy tính Sau hồn tất download click đúp chuột vào file exe để cài đặt chương trình GV: Nguyễn Thị Hiền Trang Dạy học lập trình với Scratch 3.2 Giới thiệu Scratch 3.0 Scratch 3.0 phiên 2019 có nhóm lệnh (Blocks Pallette) sau: Các khối lệnh liên quan đến chuyển động (move, turn, point, go to…) Các khối lệnh liên quan đến hình ảnh (say, think, next costume, backdrop… Các khối lệnh liên quan đến âm (play sound, set volume…) Các khối lệnh liên quan đến kiện (when … clicked, key … pressed, broadcast…) Các khối lệnh liên quan đến chức điều khiển (wait, repeat, if else…, forever…) Các khối lệnh liên quan đến cảm biến (touching, mouse…) Các khối lệnh liên quan đến phép toán (plus, minus, multiple, divide, greater, smaller…) Các khối lệnh liên quan đến biến (variable) (set variable…) Khối lệnh tùy chỉnh (Chương trình con) Ngồi Scratch 3.0 cịn có phần Mở rộng (Extensions) cho chức phức tạp đăc biệt có khả kết nối với thiết bị ngoại vi, lập trình điều khiển robot: GV: Nguyễn Thị Hiền Trang Dạy học lập trình với Scratch Màn hình làm việc Scratch có ba giao diện chính: Giao diện kéo thả khối lệnh Giao diện thiết kế nhân vật sân khấu Giao diện tạo hiệu ứng âm GV: Nguyễn Thị Hiền Trang Dạy học lập trình với Scratch Sân khấu (Stage): Sân khấu phần nội dung thể chương trình phần mềm chạy Trong có hình ảnh, tên, kích thước, vị trí ban đầu nhân vật Tại nhân vật lập trình để di chuyển tương tác với hình ảnh, nhân vật khác GV: Nguyễn Thị Hiền Trang Dạy học lập trình với Scratch Khu vực Sân khấu dạng hình chữ nhật theo tọa độ (x,y) hình vẽ, kích thước: cao 360 bước (steps) rộng 480 bước (steps) Trung tâm Sân khấu nằm điểm (0, 0) Đây vị trí mặc định nhân vật Mỗi vị trí sân khấu đánh dấu số, tọa độ (x, y) Ở đây: x = khoảng cách từ vị trí đến trục đứng (trục tung, trục Y); y = khoảng cách từ vị trí đến trục ngang (trục hoành, trục X) Cặp số (x, y) gọi tọa độ vị trí, điểm cho Giá trị tọa độ x chạy từ -240 đến 240 Giá trị tọa độ y chạy từ -180 đến 180 Phông (Backdrop): Để cho câu chuyện hay trị chơi bạn thú vị hình ảnh sân khấu phần thiếu Việc thêm phông tạo thêm thu hút cho câu chuyện Nào ta nghiên cứu phần Phông mặc định sân khấu màu trắng Để thay đổi phông sân khấu ta click vào phần Backdrops Choose a backdrop có sẵn thư viện (library) GV: Nguyễn Thị Hiền Trang Dạy học lập trình với Scratch Nhân vật (Sprite): Sprite nhân vật ảo hỗ trợ việc học lập trình Ta điều khiển nhân vật thơng qua việc lập trình Mỗi nhân vật phần lập trình riêng Scratch cung cấp cho nhiều cách tạo Sprite Nào ta học cách điều khiển nhân vật Giao diện tạo, xóa điều khiển nhân vật: Sử dụng thư viện nhân vật ảo Scratch Bấm vào biểu tượng để mở cửa sổ chứa thư viện nhân vật ảo Với nhân vật ảo xếp theo loại khác Các em lựa chọn nhân vật ảo để xây dựng câu chuyện riêng GV: Nguyễn Thị Hiền Trang Dạy học lập trình với Scratch Tùy chỉnh nhân vật: Ta chọn nhân vật cần điều chỉnh danh sách chọn hình Customes Âm thanh: Âm giúp tạo hiệu ứng tốt cho câu truyện tương tác game Để thêm âm vào chương trình ta sử dụng tính Sounds GV: Nguyễn Thị Hiền Trang 10 Dạy học lập trình với Scratch 3.5 Lập trình chuyển đổi số tốn chương trình lớp từ Pascal sang Scratch Bài 1: Nhập ba số a, b c từ bàn phím, kiểm tra in hình kết kiểm tra ba số độ dài cạnh tam giác hay khơng Chương trình viết NNLT Pascal: uses crt; var a,b,c:real; begin clrscr; write('Nhap a: '); readln(a); write ('Nhap b: '); readln(b); write('Nhap c: '); readln(c); if ((a+b)>c) and ((b+c)>a) and ((a+c)>b) then writeln(a,',',b,',',c, ' la ba canh cua tam giac') else writeln(a,',',b,',',c, ' khong phai la ba canh cua tam giac'); readln end Chương trình Scratch: Khai báo: Sân khấu: GV: Nguyễn Thị Hiền Trang 15 Dạy học lập trình với Scratch Chương trình: Bài 2: Viết chương trình tính tổng n số tự nhiên S=1+2+3+…+n Chương trình Pascal: Program tinhtong; Var i,n: integer; S: longint; Begin Write('Moi ban nhap gia tri n:'); Readln(n); S:=0; For i:=1 to n S:=S+i; Write('Tong cua ',n,' so tu nhiên dau tien la:',S); Readln GV: Nguyễn Thị Hiền Trang 16 Dạy học lập trình với Scratch End Chương trình Scratch: Khai báo: Sân khấu: Chương trình: GV: Nguyễn Thị Hiền Trang 17 Dạy học lập trình với Scratch Bài 3: Viết chương trình in hình bảng cửu chương n số khoảng từ đến 9, số nhập từ bàn phím Chương trình Pascal Uses crt; Var n, i:integer; Begin Clrscr; Write('Nhap so n='); readln(n); Writeln; Writeln('Bang nhan ',n); Writeln; For i:=1 to n writeln(n,'x',i:2,'=',n*i:3); Readln; End Chương trình Scratch: Khai báo: GV: Nguyễn Thị Hiền Trang 18 Dạy học lập trình với Scratch Sân khấu: Chương trình: GV: Nguyễn Thị Hiền Trang 19 Dạy học lập trình với Scratch Bài 4: Viết chương trình kiểm tra số số tự nhiên nhập vào từ bàn phím có phải số ngun tố hay khơng Chương trình Pascal Uses crt; Var n,i:integer; Clrscr; Write('Nhap vao mot so nguyen:'); Readln(n); If n