Thang do nhận thức của Bloom Xuất phát từ những ý nghĩa trên cùng với yêu cầu của việc dạy học lập trình cho HS trong dạy học Tin học, em lựa chọn đề tài: “Tăng cường hứng thú học lập t
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 VIỆN CÔNG NGHỆ THÔNG TIN
NGUYỄN THỊ CHÂM
TĂNG CƯỜNG HỨNG THÚ HỌC LẬP TRÌNH CHO HỌC SINH
VỚI MICROSOFT MAKECODE CHO
BBC MICRO:BIT
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Sư phạm tin học
HÀ NỘI, 2019
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2 VIỆN CÔNG NGHỆ THÔNG TIN
NGUYỄN THỊ CHÂM
TĂNG CƯỜNG HỨNG THÚ HỌC LẬP TRÌNH CHO HỌC SINH
VỚI MICROSOFT MAKECODE
Trang 3LỜI CẢM ƠN
Sau một thời gian nghiên cứu, cố gắng để học tập và làm việc một cách
nghiêm túc, em đã hoàn thành khóa luận với đề tài “Tăng cường hứng thú học lập trình cho học sinh với Microsoft MakeCode cho BBC Micro:bit”
Ngoài sự cố gắng của bản thân, em xin bày tỏ lòng biết ơn đến những người
đã giúp đỡ, bên cạnh em suốt thời gian qua
Đầu tiên, em xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất của
mình tới cô giáo ThS Cao Hồng Huệ đã tận tình giúp đỡ, hướng dẫn và chỉ
bảo em trong suốt quá trình thực hiện đề tài
Em cũng xin được gửi lời cảm ơn chân thành tới Ban giám hiệu trường THPT Tiên Du số 1 đã tạo điều kiện thuận lợi cho em trong quá trình thực nghiệm sư phạm
Cuối cùng, em xin tỏ lòng biết ơn chân thành tới các thầy giáo, cô giáo Viện CNTT trường ĐHSP Hà Nội 2 đã tạo điều kiện thuận lợi cho em trong suốt quá trình học tập, nghiên cứu
Do trình độ lý luận cũng như kinh nghiệm thực tiễn còn hạn chế, mặc
dù em đã rất cố gắng nhưng khóa luận vẫn khó tránh khỏi sai sót Em rất mong nhận được những ý kiến đóng góp quý báu của quý thầy cô và các bạn
để khóa luận của em được hoàn thiện hơn Em xin chân thành cảm ơn!
Hà Nội, tháng 04 năm 2019
Sinh viên
Nguyễn Thị Châm
Trang 4LỜI CAM ĐOAN
Em xin cam đoan, dưới sự hướng dẫn tận tình của Th.S Cao Hồng Huệ, khóa luận tốt nghiệp đại học chuyên ngành sư phạm Tin học với đề tài
“Tăng cường hứng thú học lập trình cho học sinh với Microsoft MakeCode cho BBC Micro:bit” được hoàn thành bởi nhận thức của bản
thân em, không trùng khớp với bất kì công trình khoa học nào khác
Trong quá trình nghiên cứu thực hiện khóa luận này, em đã kế thừa những thành tựu của các nhà khoa học với lòng biết ơn trân trọng
Vĩnh Phúc, tháng 04 năm 2019
Sinh viên
Nguyễn Thị Châm
Trang 5DANH MỤC CHỮ CÁI VIẾT TẮT
Chữ vi t tắt Chữ vi t ầy ủ
CNTT
GV
HS KHMT NCKH SKKN THCS THPT
Công nghệ thông tin Giáo viên Học sinh Khoa học máy tính Nghiên cứu khoa học Sáng kiến kinh nghiệm Trung học cơ sở Trung học phổ thông
Trang 6MỤC LỤC
MỞ ĐẦU 1
1.Lý do chọn đề tài 1
2.Lịch sử nghiên cứu vấn đề 2
3.Mục đích và nhiệm vụ nghiên cứu 3
4.Đối tượng nghiên cứu 4
5.Phương pháp nghiên cứu 4
6.Giả thuy t khoa học 4
7.Cấu trúc khóa luận 4
Chương 1 CƠ SỞ LÝ LUẬN VÀ THỰC TIỄN CỦA ĐỀ TÀI 5
1.1 Lí luận về hứng thú học tập 5
1.1.1 Khái niệm hứng thú học tập 5
1.1.2 Tầm quan trọng của hứng thú học tập đối với các hoạt động sống và hoạt động học tập 5
1.1.3 Một số biểu hiện của hứng thú học tập 5
1.1.4 Các loại hứng thú học tập 6
1.1.5 Những thành tố cấu thành tâm lý hứng thú học tập 6
1.2 Microsoft MakeCode và BBC Micro:bit 6
1.2.1 Giới thiệu về Microsoft MakeCode 6
1.2.2 BBC Micro:bit là gì? 8
1.3 Điều tra thực trạng tổ chức hoạt động dạy học lập trình ở trường THCS 9
1.3.1 Mục đích điều tra 9
1.3.2 Đối tượng điều tra 9
Trang 71.3.3 Mô tả phiếu điều tra 10
1.3.4 Kế hoạch điều tra 10
1.3.5 Kết quả điều tra 10
Tiểu kết chương 1 13
Chương 2 TĂNG CƯỜNG HỨNG THÚ HỌC LẬP TRÌNH VỚI MICROSOFT MAKECODE CHO BBC MICRO:BIT 14
2.1 Mục tiêu 14
2.2 Một số nội dung dạy học lập trình với Microsoft MakeCode cho BBC Micro:bit 14
2.2.1 Bài 1: Làm quen với mạch lập trình Micro:bit 15
2.2.2 Bài 2: Cấu trúc điều kiện 31
Tiểu kết chương 2 40
CHƯƠNG 3: THỰC NGHIỆM SƯ PHẠM 41
3.1 Mục tiêu, đối tượng và thời gian triển khai thực nghiệm sư phạm 41
3.1.1 Mục tiêu của thực nghiệm sư phạm 41
3.1.2 Đối tượng dự kiến thực nghiệm sư phạm 41
3.1.3 Thời gian triển khai thực nghiệm sư phạm 41
3.2 Phương pháp thực nghiệm sư phạm 41
3.3 Kết quả thực nghiệm sư phạm 42
KẾT LUẬN 59
TÀI LIỆU THAM KHẢO 1
PHỤ LỤC
Trang 8DANH MỤC BẢNG BIỂU
Bảng 1.1 Kết quả khảo sát hoạt động dạy học Tin học 10
Bảng 2.1 Ý nghĩa của các câu lệnh hiển thị 18
Bảng 2.2 Ý nghĩa của các hành vi khác 22
Bảng 2.3 Ý nghĩa của các câu lệnh sử dụng âm thanh 25
Bảng 2.4 Các tiêu chí đánh giá Máy đếm bước chân 30
Bảng 2.5 Một số câu điều kiện 32
Bảng 2.6 Các tiêu chí đánh giá trò chơi 38
Bảng 3.1 Dự kiến kế hoạch dạy học 41
Bảng 3.2 Kết quả khảo sát sau thực nghiệm sư phạm 42
Trang 9DANH MỤC HÌNH ẢNH
Hình 0.1 Thang do nhận thức của Bloom 2
Hình 1.1 Giao diện của Microsoft MakeCode 8
Hình 2.1 Các bộ phân của BBC Micro:bit 17
Hình 2.2 Màn hình hiển thị với 25 đèn LED 17
Hình 2.3 Hai nút nhấn A và B trên BBC Micro:bit 19
Hình 2.4 Các câu lệnh thuộc nhóm Input để điều khiển nút nhấn 19
Hình 2.5 Chương trình kiểm tra giá trị cảm biến ánh sáng 20
Hình 2.6 Chương trình kiểm tra giá trị cảm biến nhiệt độ 20
Hình 2.7 Chương trình kiểm tra cảm biến la bàn 20
Hình 2.8 Các câu lệnh phát hiện hành vi 21
Hình 2.9 Chương trình thử nghiệm sự kiện on shake 21
Hình 2.10 Kết nối máy tính với BBC Micro:bit thông qua dây USB 23
Hình 2.11 Trang chủ trang web lập trình trực tuyến Microsoft MakeCode 23
Hình 2.12 Chương trình đơn giản tương tác với nút nhấn 25
Hình 2.13 Chương trình ví dụ Micro:Fidget 26
Hình 2.14 Khởi tạo biến step 28
Hình 2.15 Chương trình tính tổng 29
Hình 2.16 Chương trình gợi ý máy đếm bước chân 29
Hình 2.17 Chương trình ví dụ 32
Hình 2.18 Chương trình gợi ý 34
Hình 2.19 Trò chơi Kéo búa bao 36
Hình 2.20 Trò chơi “Tiến tới sao Hỏa” 37
Trang 10tử đang trở thành một lĩnh vực phát triển rất mạnh mẽ, nó thúc đẩy các ngành sản xuất dịch vụ trên phạm vi toàn thế giới, và đặc biệt quan trọng với các nước đang phát triển, nhất là đối với vùng xa xôi hẻo lánh, các nước và các vùng này có cơ hội tiếp cận thị trường quốc tế CNTT là chiếc chìa khoá
để mở cánh cổng vào nền kinh tế tri thức
Trong Chương trình giáo dục phổ thông mới, vị trí, vai trò của môn Tin học có nhiều thay đổi Môn Tin học giữ vai trò chủ đạo trong việc chuẩn bị cho HS năng lực tìm kiếm, tiếp nhận, mở rộng tri thức và sáng tạo trong thời đại thông tin, kết nối và toàn cầu hóa, hỗ trợ đắc lực HS tự học tập và nghiên cứu Môn Tin học sẽ tạo cơ sở vững chắc cho việc sử dụng CNTT vào học tập, làm việc
Tuy nhiên, HS hiện nay vẫn chưa coi trọng môn Tin học Để thay đổi điều này, dưới sự định hướng của giáo viên hướng dẫn em đã tìm hiểu và nhận thấy rằng: Dạy học với BBC Micro:bit giúp cho HS có thể đạt cấp độ nhận thức cao nhất trong thang đo nhận thức của Bloom Khi đó, HS được xây dựng, sáng tạo và thực hành dựa trên các tài liệu học tập Không chỉ vậy, [15] đã chỉ ra rằng: “90% HS cho biết BBC Micro:bit cho họ thấy rằng bất cứ
ai cũng có thể lập trình; 86% học sinh cho biết BBC Micro:bit làm khoa học
Trang 11máy tính thú vị hơn; 70% nữ sinh nói rằng họ sẽ chọn Tin học như một môn học sau khi sử dụng BBC Micro:bit”
Hình 0.1 Thang do nhận thức của Bloom
Xuất phát từ những ý nghĩa trên cùng với yêu cầu của việc dạy học lập
trình cho HS trong dạy học Tin học, em lựa chọn đề tài: “Tăng cường hứng thú học lập trình cho học sinh với Microsoft Makecode cho BBC Micro:bit” làm đề tài khóa luận tốt nghiệp của mình.
Trang 12môn Tin học lớp 11 nội dung Chương trình con nhằm gây hứng thú và nâng cao kết quả học tập môn tin học”, “Thiết kế và sử dụng trò chơi trong dạy học Tin học lớp 11 nhằm thúc đẩy động cơ và hứng thú học tập cho HS”,…
Năm 2015, British Broadcasting Corporation công bố bản thiết kế cuối cùng của BBC Micro:bit BBC Micro:bit là một máy tính có kích thước bỏ túi cho phép người học sáng tạo với công nghệ đã được sử dụng để giảng dạy lập trình ở Anh, Mỹ, Canada, Hồng Kông, Thái Lan… Để lập trình cho BBC Micro:bit người ta có thể sử dụng nhiều ngôn ngữ khác nhau Trong đó, Microsoft MakeCode là một lựa chọn tốt bởi nó cung cấp môi trường lập trình kéo thả giúp cho việc học lập trình trở nên đơn giản và thú vị hơn rất nhiều Một số sách hướng dẫn lập trình cho BBC Micro:bit như:
"The Official BBC Micro:bit User Guide" - Gareth Halfacree (2017)
"Micro:bit in Wonderland: Coding & Craft with the BBC Micro:bit"
- Tracy Gardner and Elbrie de Kock (2018)
"Getting Started with the BBC Micro:bit" - Mike Tooley (2017)
"Micro:bit – A Quick Start Guide for Teachers" - Ray Chambers (2015)
3 Mục ích và nhiệm vụ nghiên cứu
Mục đích nghiên cứu: Thiết kế các hoạt động dạy học lập trình với Microsoft Makecode cho BBC Micro:bit nhằm tăng cường hứng thú học tập trình cho học sinh
Nhiệm vụ nghiên cứu:
Điều tra thực trạng của việc gây hứng thú trong dạy học Tin học của trường THPT Tiên Du số 1
Tìm hiểu về mức độ hứng thú của HS khi học lập trình
Tìm hiểu về BBC Micro:bit
Tìm hiểu về Microsoft Makecode cho BBC Micro:bit
Thiết kế các hoạt động dạy học lập trình thông qua Microsoft MakeCode cho BBC Micro:bit
Triển khai thực nghiệm sư phạm để đánh giá tính khả thi của đề tài
Trang 134 Đối tượng nghiên cứu
Đối tượng nghiên cứu: Việc gây hứng thú học tập lập trình cho HS
Phạm vi nghiên cứu: Việc gây hứng thú học tập lập trình cho HS với Microsoft MakeCode cho BBC Micro:bit áp dụng cho HS lớp 11
5 Phương pháp nghiên cứu
Nghiên cứu lý luận
Điều tra thực trạng
Thống kê: Xử lý các số liệu thu thập được trong quá trình khảo sát
Thực nghiệm sư phạm: Thực nghiệm để kiểm chứng tính hiệu quả của nghiên cứu
6 Giả thuy t khoa học
Nếu tăng cường hứng thú học lập trình cho HS với lập trình trên Microsoft MakeCode cho BBC Micro:bit, HS sẽ chủ động, tích cực hơn trong việc học tập Tin học nói chung và trong lập trình nói riêng Không chỉ vậy,
HS còn được rèn luyện khả năng tư duy sáng tạo, phát hiện và giải quyết vấn
đề
7 Cấu trúc khóa luận
Ngoài phần mở đầu, kết luận, tài liệu tham khảo, mục lục và phụ lục thì nội dung chính của khóa luận được trình bày trong 3 chương:
Chương 1: Cơ sở lý luận và thực tiễn của đề tài
Chương 2: Dạy học lập trình với MakeCode cho BBC Micro:bit
Chương 3: Thực nghiệm sự phạm
Trang 14Hứng thú biểu hiện ở sự tập trung cao độ, ở sự say mê, hấp dẫn bởi nội dung hoạt động Hứng thú làm nảy sinh khát vọng hành động, làm tăng hiệu quả của hoạt động nhận thức, tăng sức làm việc [9]
1.1.2 Tầm quan trọng của hứng thú học tập đối với các hoạt động sống và hoạt động học tập
Sự hứng thú thể hiện trước hết ở sự tập trung chú ý cao độ, sự say mê của chủ thể hoạt động đối với hoạt động Sự hứng thú gắn liền với tình cảm của con người, nó là động cơ thúc đẩy con người tham gia tích cực vào hoạt động đó
Trong bất cứ công việc gì, nếu có hứng thú làm việc con người sẽ có cảm giác dễ chịu với hoạt động, nó là động cơ thúc đẩy con người tham gia tích cực và sáng tạo hơn vào hành động đó Ngược lại nếu không có hứng thú,
dù là hành động gì cũng sẽ không đem lại kết quả cao Nhất là đối với các hoạt động nhận thức, sáng tạo, hoạt động học tập, khi không có hứng thú sẽ làm mất đi động cơ học, kết quả học tập sẽ không cao, thậm chí xuất hiện cảm xúc tiêu cực [9]
1.1.3 Một số biểu hiện của hứng thú học tập
- Hứng thú biểu hiện ở sự tập trung cao độ, sự say mê, hấp dẫn bởi nội dung hoạt động ở bề rộng và bề sâu của sự hứng thú
- Chăm chỉ nghe giảng, xây dựng bài học, hăng hái phát biểu ý kiến
- Ngoài giờ học: Các em tìm đọc thêm các sách về Tin học, tìm cách các kiến thức đã học vào đời sống…
Trang 151.1.4 Các loại hứng thú học tập
Hứng thú học tập được chia làm hai loại: hứng thú trực tiếp và hứng thú gián tiếp Hứng thú trực tiếp có ý nghĩa là chủ thể tích cực tham gia trực tiếp vào hoạt động sáng tạo Hứng thú gián tiếp là chủ thể thưởng thức kết quả của hoạt động [8]
Khó có thể nói rằng loại hứng thú nào mãnh liệt hơn Tuy nhiên hứng thú trực tiếp đòi hỏi hoạt động sáng tạo phải có sự kiên trì, sáng tạo
1.1.5 Những thành tố cấu thành tâm lý hứng thú học tập
Hứng thú của cá nhân được hình thành trong quá trình nhận thức và hoạt động thực tiễn Hứng thú tạo nên ở cá nhân những khát vọng tiếp cận và
đi sâu vào đối tượng Khát vọng này được biểu hiện ở chỗ:
- Chủ thể tập trung chú ý cao độ vào “đối tượng” tạo hứng thú
- Chủ thể hướng dẫn và điều chỉnh hành vi để chinh phục “đối tượng”
- Hành vi tích cực của chủ thể trong hoạt động dù phải vượt qua muôn ngàn khó khăn
Người có hứng thú với công việc hoàn toàn khác với người làm việc tùy hứng, thiếu hứng thú với công việc [12]
1.2 Microsoft MakeCode và BBC Micro:bit
1.2.1 Giới thiệu về Microsoft MakeCode
Như chúng ta đã biết, máy tính chỉ có thể hiểu được ngôn ngữ máy - chính là các chuỗi số dạng nhị phân Điều này khiến cho việc giao tiếp giữa con người với máy tính trở nên khó khăn, bởi các chuỗi nhị phân thì không dễ nhớ chút nào Vì thế nên người ta đã tạo ra những ngôn ngữ khác gần gũi với con người hơn mà bằng cách nào đó, máy tính vẫn có thể hiểu được Những ngôn ngữ như vậy gọi là ngôn ngữ lập trình Hiện nay, trên thế giới có rất nhiều ngôn ngữ lập trình khác nhau, một số ngôn ngữ phổ biến có thể kể đến như là C, C++, C#, Java, JavaScript, PHP, Python, Mỗi ngôn ngữ lập trình đều có những điểm mạnh và điểm yếu riêng trong từng lĩnh vực cụ thể mà nó được ứng dụng
Trang 16Ứng dụng chung của tất cả các ngôn ngữ lập trình chính là để viết chương trình Khi muốn ra lệnh cho máy tính, ta sẽ viết các lệnh đó bằng ngôn ngữ lập trình Sau đó máy tính sử dụng một chương trình gọi là trình biên dịch để chuyển các lệnh đó sang ngôn ngữ máy, nhờ vậy máy tính có thể hiểu được các câu lệnh và thực hiện chúng
Tuy nhiên, các em HS có thể chưa từng tiếp xúc với việc lập trình do ở cấp tiểu học và THCS, Tin học chỉ là môn học tự chọn Không chỉ vậy, một
bộ phận không nhỏ các em HS trường THPT sau khi học ngôn ngữ lập trình Pascal vẫn bối rối, không hiểu
Nhằm mục đích giúp cho HS dễ dàng hơn trong những bước đầu học tập, lập trình khối (Blockly) ra đời Blockly là một trong nhiều những môi trường lập trình theo kiểu mô hình đang rất phát triển hiện nay Lập trình Blockly được hiểu là một dạng lập trình bằng cách "kéo, thả" Đây là một công cụ cực kì hữu ích, giúp cho việc lập trình trở nên đơn giản hơn bao giờ hết Để có thể viết ra một chương trình, tất cả những gì chúng ta phải làm đó
là chọn các khối lệnh phù hợp và kéo, thả mà thôi Với những khối màu sắc bắt mắt, việc lập trình sẽ trở nên thật thú vị Qua đó kích thích khả năng tư duy và sáng tạo của người học Microsoft MakeCode1
chính là một môi trường lập trình như thế
Không chỉ vậy, một lợi thế rất lớn mà MakeCode có được là việc mô phỏng chương trình trước khi nạp trực tiếp vào mạch BBC Micro:bit Chức năng này sẽ tiết kiệm nhiều thời gian cho việc kiểm tra chương trình
Giao diện của Microsoft MakeCode có các phần sau đây:
• Không gian làm việc ở nằm bên phải để lập trình Không gian làm việc được hiển thị dưới hai dạng: Blocks và JavaScript
• Trình mô phỏng nằm ở bên trái không gian làm việc, có thể hiển thị trình mô phỏng hoặc không Nhờ chức năng mô phỏng này, chúng ta có thể viết và kiểm tra sơ bộ chương trình trước khi nạp vào mạch BBC Micro:bit Bên cạnh đó, HS có thể tự viết những chương trình ở nhà, không cần mạch BBC Micro:bit, mà vẫn có thể thấy được kết quả của mình
Trang 17
• Ở giữa không gian làm việc và trình mô phỏng chính là các khối lệnh được sắp xếp và chia thành từng nhóm để sử dụng khi lập trình
Hình 1.1 Giao diện của Microsoft MakeCode
Các bước thực hiện lập trình với Microsoft Make Code:
1) Kéo các khối lệnh trong các nhóm lệnh ở giữa vào không gian lập trình phía bên phải
2) Quan sát sự thay đổi trên mạch BBC Micro:bit ở trình mô phỏng bên trái màn hình
Để quan sát kết quả ngay khi lập trình xong qua trình mô phỏng, ta có thể hiển thị kết quả ra màn hình hiển thị
1.2.2 BBC Micro:bit là gì?
Ý tưởng phát minh ra BBC Micro:bit là để khuyến khích trẻ em tìm hiểu cách thức vận hành của máy tính, và giúp trẻ em làm quen với nguyên lý lập trình và kỹ thuật máy tính
BBC Micro:bit là kết quả của quá trình hợp tác giữa ARM, Barclays, element14, Freescale, Đại học Lancaster, Microsoft, Nordic Semiconductor, Samsung và Wellcome Trust Vào năm 2015, chiếc máy tính BBC Micro:bit được giới thiệu lần đầu tiên ở Anh và không lâu sau đó, hàng triệu HS nước Anh đã được sử dụng miễn phí sản phẩm này Hiện tại BBC Micro:bit được
Trang 18sử dụng trong trường học ở các nước trên thế giới như Phần Lan, Iceland hay Singapore khá rộng rãi và trở nên rất phổ biến
Về bản chất, BBC Micro:bit là một máy tính có khả năng mã hóa, cho phép trẻ em được thỏa sức sáng tạo với công nghệ Nó có kích thước 5cm-4cm và có nhiều màu khác nhau
Về mặt kỹ thuật, BBC Micro:bit bao gồm:
• Một CPU M0 Cortex ARM 32-bit
• Màn hình hiển thị gồm 25 đèn LED đỏ nhằm giúp trẻ em sẽ nhận được kết quả ngay lập tức khi tương tác với máy tính
• Cổng USB Micro, thông qua đó nó có thể được cung cấp năng lượng
• Radio cho phép kết nối không dây
• Ba chân pin 0, 1 và 2 là đầu vào-đầu ra chính của BBC Micro:bit
• Một chân 3V để cấp nguồn cho các thiết bị bên ngoài
• Một chân GND kết nối với mặt đất để hoàn thành mạch kín
• BBC micro: bit có thêm 20 chân nhỏ hơn được sử dụng cho các dự
án phức tạp hơn
• Hai nút nhấn trên BBC Micro:bit là đầu vào chính của BBC micro:bit,
nó giúp cho micro:bit có thể hoạt động như một bộ điều khiển
• Đầu nối pin cho phép BBC Micro:bit có thể mang đi
Tìm hiểu thực trạng dạy và học Tin học ở trường THPT
Tìm hiểu hứng thú của HS đối với bộ môn Tin học
Rút ra những kết luận cần thiết và xây dựng các hoạt động học tập nhằm tạo hứng thú học tập lập trình cho HS
1.3.2 Đối tượng điều tra
HS lớp 11A3 trường THPT Tiên Du số 1 – Tiên Du – Bắc Ninh
Trang 191.3.3 Mô tả phiếu điều tra
- Ứng dụng MS Forms1 vào việc tạo phiếu điều tra và thu kết quả, trong phiếu điều tra có phân nhánh
- Phiếu điều tra: Khảo sát trước khi áp dụng nội dung dạy học và điều tra kết quả đạt được sau quá trình dạy học (được trình bày ở Phụ lục 2)
1.3.4 Kế hoạch điều tra
- Gửi liên kết của biểu mẫu tới HS sau đó tổng hợp, phân tích kết quả
- Việc lập phiếu điều tra dựa trên những thắc mắc cần làm rõ như: HS
có thích học Tin học không? Vì sao HS thích hoặc không thích môn học này? Đối với HS thì việc học tập Tin học là dễ hay khó? Phương pháp học tập của các em như thế nào?
1.3.5 Kết quả điều tra
Có 36 phản hồi phiếu thăm dò ý kiến
Nhận xét chung: Khi trả lời các câu hỏi trong phiếu thăm dò ý kiến, HS
đã thể hiện được ý thức xây dựng, trả lời nghiêm túc và đầy đủ những câu hỏi
đã được đặt ra
Bảng 1.1 Kết quả khảo sát hoạt động dạy học Tin học
quả
Tỷ lệ (%)
Trang 21Nhận xét: Dựa vào kết quả khảo sát ở trên, em nhận thấy có 41.6% HS
không thích học tập lập trình, 86.1% HS cho rằng lập trình khó Trong số các
HS không thích học lập trình thì có đến 46.7% cho rằng lập trình khó hiểu, rắc
rối và 20.0% HS nghĩ rằng lập trình không giúp ích gì cho cuộc sống Điều
này gây nhiều trở ngại cho việc dạy và học khoa học máy tính, cụ thể là việc
dạy và học lập trình của HS Bước vào những năm đầu của cuộc cách mạng
công nghiệp 4.0, việc trang bị kiến thức khoa học máy tính và bắt đầu bằng
việc tiếp xúc với lập trình là rất quan trọng Nên việc gây hứng thú học tập
Tin học nói chung và học lập trình nói riêng là rất cấp thiết
Trang 23CHƯƠNG 2 TĂNG CƯỜNG HỨNG THÚ HỌC LẬP TRÌNH VỚI MICROSOFT
MAKECODE CHO BBC MICRO:BIT
2.1 Mục tiêu
- HS hiểu, nắm bắt được các nguyên lý cơ bản trong việc thiết lập các
bo mạch kinh điển, thông dụng bằng lập trình BBC Micro:bit, từ đó phát huy
tư duy sáng tạo
- HS hiểu và vận dụng được kiến thức lập trình cơ bản vào việc giải quyết vấn đề
- HS ứng dụng được cách tương tác giữa phần mềm lập trình đối với phần cứng bo mạch, bước đầu tiến đến kỷ nguyên Công nghệ 4.0
Bài 1: Làm quen với mạch lập trình Micro:bit
Bài 2: Cấu trúc điều kiện
Trong mỗi bài học đều bao gồm các phần:
4) Mở rộng dự án: Phát triển và hoàn thiện dự án hơn
5) Đánh giá dự án
Trang 242.2.1 Bài 1: Làm quen với mạch lập trình Micro:bit
1) Giới thiệu
Hoạt ộng 1.1: Tình huống thực t
GV hỏi: Các em có biết điện thoại có thể điều khiển độ sáng màn hình
tự động cho thiết bị nghĩa là khi ở trong phòng tối, độ sáng sẽ được giảm xuống để chúng ta không bị nhức mắt, khi ở ngoài trời nắng thì độ sáng được đẩy lên cao nhằm đảm bảo hình ảnh vẫn rõ ràng dưới nguồn sáng mạnh? Để thực hiện được điều này người dùng phải bật tính năng nào của điện thoại?
HS thảo luận cặp đôi và đưa ra câu trả lời: Điều này chính là nhờ tính năng cảm biến ánh sáng Dựa vào nó, hệ điều hành hoặc một phần mềm nào
đó sẽ tinh chỉnh lại độ sáng màn hình cho phù hợp
GV hỏi: Smartphone có thể xoay ngang máy để giao diện xoay theo không? Có một số game sẽ yêu cầu người chơi nghiêng máy sang trái, phải, lên, xuống để điều khiển việc di chuyển của nhân vật trong trò chơi Các em
có biết nhờ vào đâu mà smartphone có thể làm được như vậy không?
HS thảo luận cặp đôi và đưa ra câu trả lời: Đó chính là nhờ vào gia tốc
kế (accelerometer) Nó dùng để ghi nhận chuyển động của thiết bị cũng như góc nghiêng so với phương ngang Khi có sự thay đổi về phương hướng, cảm biến sẽ chuyển thông tin đến smartphone để bảo nó đưa ra những phản hồi tương ứng
GV hỏi: Khi đi dã ngoại trong rừng, nếu bị lạc em sẽ làm gì?
HS thảo luận cặp đôi và đưa ra câu trả lời: Lúc này, con người luôn đi thành những vòng tròn xoắn ốc theo một chiều hoặc chiều ngược lại khi không có những mốc đánh dấu Khi đó, chúng ta cần có những phương tiện định vị, ví dụ như la bàn Không phải tất cả chúng ta đều có thói quen mang theo la bàn, nhưng đa số chúng ta đều mang theo smartphone Khi đó các em
có thể sử dụng tính năng la bàn số trên smartphone để xác định phương hướng
Những loại cảm biến được nêu ở trên rất cần thiết và trợ giúp người dùng rất nhiều trong cuộc sống Mạch lập trình BBC Micro:bit có tích hợp tất
Trang 25cả các cảm biến này Điều này cho phép người học có thể sáng tạo ra những sản phẩm thú vị tạo hứng thú học lập tình cho HS
BBC micro:bit có cấu tạo như thế nào chúng ta cùng tìm hiểu thông qua các nội dung bên dưới
Hoạt ộng 1.2: Giới thiệu BBC Micro:bit
BBC Micro:bit là bo mạch in (printed circuit board (PCB) - đôi khi gọi tắt là mạch in, là bo mạch điện dùng phương pháp in để tạo hình các đường mạch dẫn điện và điểm nối linh kiện trên tấm nền cách điện) có chứa vi điều khiển mà trên đó HS có thể chạy chương trình của mình và kết nối với phần cứng khác
Về mặt cấu tạo, Micro:bit được thiết kế thành hai mặt, mặt trước và mặt sau Mặt trước của BBC Micro:bit gồm các bộ phận:
• Màn hình hiển thị gồm 25 đèn LED đỏ nhằm giúp trẻ em sẽ nhận được kết quả ngay lập tức khi tương tác với máy tính
• Hai nút nhấn trên BBC Micro:bit là đầu vào chính của BBC micro:bit,
nó giúp cho micro:bit có thể hoạt động như một bộ điều khiển
• Ba chân pin 0, 1 và 2 là đầu vào-đầu ra chính của BBC Micro:bit
• Một chân 3V để cấp nguồn cho các thiết bị bên ngoài
• Một chân GND kết nối với mặt đất để hoàn thành mạch kín
• BBC micro: bit có thêm 20 chân nhỏ hơn được sử dụng cho các dự
án phức tạp hơn
Mặt sau của BBC Micro:bit gồm các bộ phận:
• Một CPU M0 Cortex ARM 32-bit
• Cổng USB Micro, thông qua đó nó có thể được cung cấp năng lượng
• Radio cho phép kết nối không dây
• Đầu nối pin cho phép BBC Micro:bit có thể mang đi
• Một gia tốc kế
• Một la bàn
Trang 26Hình 2.1 Các bộ phận của BBC Micro:bit
Hoạt ộng 1.3: Giới thiệu màn hình hiển thị
Tính năng rõ ràng nhất của BBC Micro: bit là màn hình hiển thị, nó nằm ở trung tâm của mặt trước của bo mạch Đây là đầu ra chính của BBC Micro:bit, một phương tiện cho phép một chương trình chạy trên BBC Micro:bit giao tiếp với thế giới bên ngoài - cho dù đó là đọc vị trí của một trong những cảm biến của BBC Micro:bit hoặc đơn giản hiển thị một khuôn mặt cười
Màn hình hiển thị này được tạo bởi 25 đèn nhỏ (còn gọi là LED) được
tổ chức thành 5 hàng và 5 cột như Hình 2.2 dưới đây
Hình 2.2 Màn hình hiển thị với 25 đèn LED
Có nhiều cách để hiển thị nội dung ra màn hình đó là sử dụng các khối lệnh: show number, show leds, show icon,…
Trang 27Bảng 2.1 Ý nghĩa của các câu lệnh hiển thị
Câu lệnh này sẽ hiển thị một số ra màn hình Tuy nhiên, nó chỉ hiện ra số có 1 chữ số từ 0 đến 9 Nếu số này có 2 chữ số trở lên, nó sẽ chạy ngang qua bên trái
Câu lệnh này đưa ra một giao diện tương tác rất sinh động với màn hình hiển thị 25 led của BBC Micro:bit Chúng ta muốn bóng đèn nào sáng, chỉ cần nhấp chuột vào nó Khi muốn bóng đèn đó tắt, chúng ta nhấp thêm một lần nữa
Câu lệnh show icon sẽ hiển thị một icon ra màn hình
Câu lệnh này cho phép hiển thị một chuỗi các
kí tự dịch chuyển sang trái Nếu tham số bên trong câu lệnh show string này chỉ có 1 kí tự,
nó chỉ hiển thị kí tự này ra màn hình mà thôi và không có hiệu ứng dịch chữ sang bên trái Câu lệnh này không hỗ trợ tiếng việt có dấu
Để có thể hiển thị nhiều nội dung hấp dẫn, chúng ta cần sử dụng thêm câu lệnh đợi Đơn
vị thời gian trong câu lệnh này là mili giây Chúng ta có thể thấy đây là câu lệnh có thể lựa chọn thông số bên trong bằng cách nhấn vào phím mũi tên bên phải
Trang 28Hoạt ộng 1.4: Giới thiệu trình xử lý sự kiện
Trên mạch BBC Micro:bit được hỗ trợ sẵn 2 nút nhấn, được dán nhãn
là A và B để tránh nhầm lẫn Cũng giống như bàn phím máy tính, hai nút nhấn này đóng vai trò là các thiết bị nhập chuẩn, gửi dữ liệu đầu vào
Hình 2.3 Hai nút nhấn A và B trên BBC Micro:bit
Các câu lệnh để điều khiển nút nhấn thuộc nhóm lệnh Input
Hình 2.4 Các câu lệnh thuộc nhóm Input để điều khiển nút nhấn
Trang 29a) Cảm biến ánh sáng
Cảm biến ánh sáng trong BBC Micro:bit được hỗ trợ sẵn bởi biến light level nằm trong nhóm lệnh input Một chương trình nhỏ để kiểm tra giá trị
của biến này được minh họa như sau:
Hình 2.5 Chương trình kiểm tra giá trị cảm biến ánh sáng
b) Cảm biến nhiệt độ
Tương tự như cảm biến ánh sáng, cảm biến nhiệt độ được hỗ trợ sẵn
trên BBC Micro:bit thông qua biến temperature nằm trong nhóm lệnh input
Khác với cảm biến ánh sáng, giá trị của cảm biến nhiệt độ sẽ rất ổn định và phản ánh nhiệt độ của môi trường xung quanh
Hình 2.6 Chương trình kiểm tra giá trị cảm biến nhiệt độ
c) Cảm biến la bàn
Hình 2.7 Chương trình kiểm tra cảm biến la bàn
Cảm biến la bàn được hỗ trợ sẵn trên BBC Micro:bit thông qua biến
compass headings nằm trong nhóm lệnh input Giá trị của la bàn sẽ sẽ nằm
từ 0 cho đến 359 Nhỏ hơn 45 độ là hướng Bắc, từ 45 đến 135 là hướng Tây,
từ 135 đến 225 là hướng Nam, 225 đến 315 là hướng Đông Một phần giá trị
từ 315 đến 0 vẫn là hướng Bắc
Trang 30Hoạt ộng 1.6: Tìm hiểu về các hành vi
Chỉ bằng một câu lệnh on shake trong nhóm lệnh input, đã có rất
nhiều hành vi được hỗ trợ sẵn cho chúng ta
Hình 2.8 Các câu lệnh phát hiện hành vi
a) Hành vi on shake
Đây là hành vi cơ bản, và cũng là hành vi mặc định của câu lệnh on shake Khi chúng ta lắc nhẹ mạch BBC Micro:bit, sự kiện này sẽ xảy ra
Hình 2.9 Chương trình thử nghiệm sự kiện on shake
Như hình trên, chương trình này hoàn toàn có thể mô phỏng được mà không cần nạp trực tiếp vào mạch BBC Micro:bit Chúng ta chỉ cần rê chuột
qua lại trên mạch BBC Micro:bit mô phỏng, thì sự kiện on shake sẽ xảy ra
b) Các hành vi khác
Ý nghĩa của các hành vi khác sẽ được tóm tắt lại trong bảng bên dưới Tuy nhiên, để có thể hiểu chức năng của nó cặn kẽ hơn, chúng ta chỉ cần hiện
Trang 31Bảng 2.2 Ý nghĩa của các hành vi khác
Ở góc bên trái của mạch BBC Micro:bit
có một Logo, khi Logo này hướng lên
trên, sự kiện logo up sẽ xảy ra
Tương tự như câu lệnh logo up, sự kiện
logo down xảy ra khi Logo hướng xuống
dưới
Trên mạch BBC Micro:bit có 1 màn hình gồm 25 đèn hiển thị Khi màn hình này
hướng lên trên, sự kiện screen up xảy ra
Ngược lại với sự kiện screen up, sự kiện
screen down xảy ra khi màn hình hiển
thị úp xuống
Sự kiện tilt left xảy ra khi chúng ta hơi
nghiêng mạch về bên trái
Sự kiện tilt right xảy ra khi chúng ta hơi
nghiêng mạch về bên phải
Khi thả mạch BBC Micro:bit rơi tự do,
sự kiện này sẽ được gọi
Nhóm sự kiện cuối cùng mô phỏng một
va chạm Nó cũng tương đương như việc chúng ta giật mạnh tay mạch BBC Micro:bit rồi cho nó dừng lại đột ngột Các thông số 3g, 6g và 8g tượng trưng cho mức độ dừng lại đột ngột của mạch BBC Micro:bit
Trang 322) Hoạt động thực hiện trên BBC Micro:bit
Hoạt ộng 2.1: Tải chương trình vào BBC Micro:bit
Bước 1: Kết nối máy tính với BBC Micro:bit
Việc kết nối máy tính với BBC Micro:bit thực sự rất đơn giản, chỉ cần cắm một dây micro USB vào máy tính Hệ điều hành trên máy tính sẽ tự động nhận ra mạch BBC Micro:bit như một USB bình thường Hình 2.10 mô phỏng việc kết nối giữa máy tính và mạch BBC Micro:bit
Hình 2.10 Kết nối máy tính với BBC Micro:bit thông qua dây USB
Bước 2: Viết chương trình
Truy cập vào đường dẫn https://makecode.microbit.org/ và chọn
New Project, giao diện trong Hình 2.11 dưới đây sẽ hiện ra và chúng ta có
thể bắt đầu lập trình
Hình 2.11 Trang chủ trang web lập trình trực tuyến Microsoft MakeCode
Trang 33Mỗi chương trình của BBC Micro:bit mặc định sẽ có 2 khối lệnh cơ bản:
• On start: Những câu lệnh trong khối này sẽ được thực hiện đầu tiên
khi mới bật nguồn, tuy nhiên nó chỉ được thực hiện duy nhất một lần
• Forever: Những câu lệnh trong khối lệnh này sẽ được thực hiện sau
khối on start, tuy nhiên nó được lặp đi lặp lại mãi mãi khi mạch BBC Micro:bit còn được cấp nguồn điện
Bước 3: Nạp chương trình
Việc nạp chương trình vào mạch BBC Micro:bit thực sự rất tiện lợi do
bo mạch này được nhận diện như một thiết bị USB bình thường Do đó, ta chỉ cần nhấn vào nút Download và chọn đường dẫn tới mạch BBC Micro:bit là xong Quá trình nạp chương trình sẽ mất vài giây Trong suốt quá trình nạp, đèn nguồn bên cạnh khe cắm USB sẽ bật tắt liên tục Khi đèn ngừng bật tắt cũng là lúc chương trình nạp xong và bo mạch BBC Micro:bit sẽ bắt đầu chạy chương trình mà chúng ta vừa lập trình
Hoạt ộng 2.2: Ví dụ
Bài toán: Viết chương trình sao cho khi người dùng nhấn nút A, màn hình LED sẽ hiện ra một biểu tượng (icon), nhấn phím B sẽ phát bài Happy Birthday
Đề bài yêu cầu viết chương trình khi người dùng nhấn phím A thì màn hình LED sẽ hiển thị một icon, nhấn phím B thì sẽ sử dụng âm thanh, cụ thể
là phát bài Happy Brithday Microsoft MakeCode hỗ trợ các khối lệnh sử dụng âm thanh nằm trong nhóm lệnh Music được trình bày ở hoạt động 2.3
Hoạt ộng 2.3: Tạo ầu ra là âm thanh
Microsoft MakeCode hỗ trợ những khối lệnh sử dụng âm thanh nằm
trong nhóm lệnh Music Ý nghĩa cụ thể của từng khối lệnh được trình bày ở
bảng dưới đây:
Trang 34Bảng 2.3 Ý nghĩa của các câu lệnh sử dụng âm thanh
Chơi 1 nốt nhạc 1 lần với 1 nhịp Câu lệnh này có nốt nhạc mặc định
là Middle C và 1 beat Chúng ta có thể thay đổi nốt nhạc và nhịp
Phát nhạc chuông với nốt nhạc Middle C Chúng ta có thể thay đổi nốt nhạc
Giống như câu lệnh pause, câu lệnh này cho phép ngừng phát nhạc trong 1 thời gian Mặc định ở đây
là 1 nhịp
Phát bài “dadadum” 1 lần Chúng
ta có thể thay đổi bài hát và số lần phát lại
Hoạt ộng 2.4: Giải bài toán
HS làm việc nhóm và thực hành lập trình cho bài toán được nêu ra ở hoạt động 2.2
Chương trình của chúng ta đơn giản như sau:
Hình 2.12 Chương trình đơn giản tương tác với nút nhấn
Hoạt ộng 2.5: Micro:Fidget
Bài toán: Fidget Toy là các món đồ chơi cầm và vọc trên tay Đây là dòng đồ chơi có nhiều thiết kế kiểu dáng với nhiều phiên bản khác nhau, mục
Trang 35đích chính là giúp người chơi xả stress, giảm căng thẳng lo âu và cũng giúp tăng sự tập trung, giảm những thói quen xấu như cắn móng tay, bật tắt bút liên tục… Em hãy tạo một khối Micro:Fidget để giảm stress
HS trả lời câu hỏi: Theo các em, BBC Micro:bit có thể hiển thị thông tin ở đâu?
HS thảo luận và cho biết BBC Micro:bit hiển thị thông tin ở màn hình 5x5 đèn LED
Hoạt ộng 2.6: Phát hiện tình huống có vấn ề
GV đặt câu hỏi: Micro:Fidget chỉ có đầu ra là màn hình hiển thị? Nếu Micro:Fidget có nhiều đầu ra, vậy làm sao để biết khi nào Micro:Fidget sẽ đưa ra đầu ra nào?
Gợi ý:
Ngoài màn hình 5x5 đèn LED, BBC Micro:bit còn có loại đầu ra khác,
ví dụ như âm thanh
Trên BBC Micro:bit có hai nút bấm A và B, khi bấm các nút này, BBC Micro:bit sẽ thực hiện các công việc khác nhau mà ta đã lập trình
Sử dụng các cảm biến và hành vi để tạo ra nhiều đầu vào hơn
Hoạt ộng 2.7: Thực hành
HS lập trình cho Micro:Fidget sao cho với mỗi đầu vào (nút bấm A, B, A+B; cảm biến, hành vi), Micro:Fidget sẽ thực hiện những công việc khác nhau
Hình 2.13 Chương trình ví dụ Micro:Fidget
Trang 363) Dự án: Máy đếm bước chân
Hoạt ộng 3.1: Nêu bài toán
GV đưa ra bài toán: Đi bộ mỗi ngày là cách tập thể dục hữu ích phối hợp tối đa các bộ phận trên cơ thể Đi bộ làm dòng máu chảy qua tim nhanh hơn, giảm huyết áp, tăng cholesterol tốt đối với cơ thể Bên cạnh đó, đi bộ cũng giúp chúng ta tránh tình trạng đột quỵ, hạn chế bệnh xương khớp và đặc biệt là chứng béo phì của cuộc sống hiện đại Thế nhưng, không phải ai cũng biết chính xác số lượng bước chân và thời gian nên dành cho bài tập thể dục đơn giản này
Theo một nghiên cứu mới đây được công bố trên tờ Tạp chí quốc tế về Bệnh béo phì (International Journal of Obesity), chúng ta nên bước ít nhất
15000 bước mỗi ngày Em hãy sử dụng BBC Micro:bit để chế tạo một thiết bị
có thể hỗ trợ ta trong việc đếm số bước chân
Hoạt ộng 3.2: Xác ịnh input, output
Input: Hành động lắc micro:bit (Chân bước đi làm lắc micro:bit)
Output: Số bước chân đã đi
Hoạt ộng 3.2: Nêu ý tưởng
HS nêu ý tưởng: Mỗi khi bước chân, BBC Micro:bit được cố định ở chân sẽ rung và tự động tăng thêm số bước chân đã đi
Hoạt ộng 3.3: Xác ịnh thuật toán
HS xác định thuật toán dưới sự hướng dẫn của GV:
Khi bắt đầu, khởi tạo biến d=0 để lưu số bước chân đã đi
Khi mạch BBC Micro:bit lắc, biến d sẽ được cộng thêm 2 (số bước đã bước)
Hiển thị số bước chân
Hoạt ộng 3.4: Hướng dẫn HS sử dụng bi n
GV hướng dẫn HS tạo và làm việc với biến
Trang 37Bước 1: Tạo biến
Trong nhóm lệnh Variable, nhập tên biến vào khung Make a Variable
Sau đó chọn OK
Lưu ý: Tên biến là duy nhất và thể hiện được giá trị mà nó lưu trữ
Hình 2.14 Khởi tạo biến step Bước 2: Khởi tạo giá trị cho biến
Kéo khối lệnh set step to 0 vào không gian làm việc và thay đổi số 0
bằng giá trị muốn khởi tạo cho biến step
Lưu ý: Cần khởi tạo giá trị cho biến ngay sau khi tạo biến
Bước 3: Xử lý biến
Kéo khối lệnh change step by 1 vào không gian làm việc và thay đổi
số 1 bằng giá trị muốn thay đổi cho biến step Giá trị này là một số thực
Lưu ý: Khi muốn sử dụng biến step, ta chỉ cần kéo khối lệnh step trong nhóm lệnh Variable vào vị trí
Ví dụ: Tính tổng của 2 số tự nhiên 123 và 456, khi lắc microbit kết quả của phép tính được hiển thị lên màn hình