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
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 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
Người hướng dẫn khoa học:
Th.S Cao Hồng Huệ
HÀ NỘI, 2019
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ườngTHPT Tiên Du số 1 đã tạo điều kiện thuận lợi cho em trong quá trình thựcnghiệ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áoViện CNTT trường ĐHSP Hà Nội 2 đã tạo điều kiện thuận lợi cho em trongsuố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ấtmong 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ừanhữ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
Giáo viênHọc sinhKhoa học máy tínhNghiên cứu khoa họcSáng kiến kinh nghiệmTrung 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ácngà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ớicá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 Tinhọ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êncứ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ọctậ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 đượcxâ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ônhọ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.
2 Lịch sử nghiên cứu vấn ề
Hứng thú học tập thúc đẩy HS tích cực học tập, tìm tòi và sáng tạo Đểtăng cường hứng thú học tập cho HS, thầy cô của các bộ môn, từ tiểu học đến
THPT đã chia sẻ rất nhiều cách hay Ví dụ như SKKN “Nâng cao hứng thú
học tập môn Địa lí lớp 5 thông qua việc sử dụng CNTT trong bài giảng điện
tử tại lớp 5A trường tiểu học Xuân Phương” hay “Một số biện pháp gây hứng thú trong dạy học Hóa học ở trường trung học phổ thông” – Luận văn Thạc sĩ
Khoa học giáo dục của cô Nguyễn Thị Lê và còn rất nhiều SKKN, luận văn,chuyên đề và những cách khác Không chỉ vậy, để HS yêu thích môn Tin học
hơn, tổ Tin học trường THPT Trường Chinh đã xây dựng chuyên đề “Tạo
hứng thú học tin 11 với hệ thống bài tập tích hợp liên môn Toán - Tin” để các
em nhìn thấy sự vận dụng đơn giản, cụ thể, gần gũi, thiết thực của lập trìnhtrong việc giải các bài tập môn toán đơn giản trong chương trình học Ngoài
ra còn nhiều SKKN – đề tài NCKH khác như “Đổi mới phương pháp dạy học
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ốicùng của BBC Micro:bit BBC Micro:bit là một máy tính có kích thước bỏ túicho phép người học sáng tạo với công nghệ đã được sử dụng để giảng dạy lậptrình ở Anh, Mỹ, Canada, Hồng Kông, Thái Lan… Để lập trình cho BBCMicro: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ìnhké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ớiMicrosoft Makecode cho BBC Micro:bit nhằm tăng cường hứng thú học tậptrì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ủatrườ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 MicrosoftMakeCode 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ớiMicrosoft 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ênMicrosoft MakeCode cho BBC Micro:bit, HS sẽ chủ động, tích cực hơn trongviệ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ộidung hoạt động Hứng thú làm nảy sinh khát vọng hành động, làm tăng hiệuquả 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ảmcủ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 giatí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áchoạ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ảmxú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ộidung 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áchcá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ứngthú gián tiếp Hứng thú trực tiếp có ý nghĩa là chủ thể tích cực tham gia trựctiế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ếtquả 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ứngthú 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ônngà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ệctù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ữacon 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ớicon người hơn mà bằng cách nào đó, máy tính vẫn có thể hiểu được Nhữngngô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ấtnhiều ngôn ngữ lập trình khác nhau, một số ngôn ngữ phổ biến có thể kể đếnnhư 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ếtchương trình Khi muốn ra lệnh cho máy tính, ta sẽ viết các lệnh đó bằngngôn ngữ lập trình Sau đó máy tính sử dụng một chương trình gọi là trìnhbiê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ìnhPascal 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ọctập, lập trình khối (Blockly) ra đời Blockly là một trong nhiều những môitrường lập trình theo kiểu mô hình đang rất phát triển hiện nay Lập trìnhBlockly được hiểu là một dạng lập trình bằng cách "kéo, thả" Đây là mộtcô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ắcbắ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ôitrườ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ứcnă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àmviệ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ạchBBC Micro:bit, mà vẫn có thể thấy được kết quả của mình
1 https://makecode.microbit.org/#editor
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ậptrì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êntrá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ìmhiể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ướcAnh đã đượ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 haySingapore 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, chophé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
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ậpnhằ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ả, trongphiế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ềutra 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ủacá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ắcrối và 20.0% HS nghĩ rằng lập trình không giúp ích gì cho cuộc sống Điềunà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ệcdạ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ạngcô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ằngviệ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ậpTin 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ảiquyế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ớiphầ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ảmxuố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ínhnă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 theokhô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ảmbiến sẽ chuyển thông tin đến smartphone để bảo nó đưa ra những phản hồitươ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 đithành những vòng tròn xoắn ốc theo một chiều hoặc chiều ngược lại khikhô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 mangtheo 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ươnghướ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ườidù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 25Hoạ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ọitắt là mạch in, là bo mạch điện dùng phương pháp in để tạo hình các đườngmạ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ềukhiể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ầncứ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ặtsau 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 BBCMicro:bit, một phương tiện cho phép một chương trình chạy trên BBCMicro:bit giao tiếp với thế giới bên ngoài - cho dù đó là đọc vị trí của mộttrong những cảm biến của BBC Micro:bit hoặc đơn giản hiển thị một khuônmặ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ốilệ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ácrất sinh động với màn hình hiển thị 25 led củaBBC Micro:bit Chúng ta muốn bóng đèn nàosáng, chỉ cần nhấp chuột vào nó Khi muốnbóng đèn đó tắt, chúng ta nhấp thêm một lầnnữa
Câu lệnh show icon sẽ hiển thị một icon ra mànhì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êntrong 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âulệ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ựachọn thông số bên trong bằng cách nhấn vàophím mũi tên bên phải
18
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útnhấ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ệnthực một chương trình nhỏ như Hình 2.9 ở trê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ìnhgồ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ệcchúng ta giật mạnh tay mạch BBCMicro:bit rồi cho nó dừng lại đột ngột.Các thông số 3g, 6g và 8g tượng trưngcho mức độ dừng lại đột ngột của mạchBBC Micro:bit
22
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ầncắ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ự độngnhận ra mạch BBC Micro:bit như một USB bình thường Hình 2.10 mô phỏngviệ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 BBCMicro: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ắtcũng là lúc chương trình nạp xong và bo mạch BBC Micro:bit sẽ bắt đầu chạychươ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ànhình LED sẽ hiện ra một biểu tượng (icon), nhấn phím B sẽ phát bài HappyBirthday
Đề bài yêu cầu viết chương trình khi người dùng nhấn phím A thì mànhì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ạcMiddle C Chúng ta có thể thay đổinốt nhạc
Giống như câu lệnh pause, câu lệnhnày cho phép ngừng phát nhạctrong 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ầnphá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úptă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útliê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ôngtin ở đâu?
HS thảo luận và cho biết BBC Micro:bit hiển thị thông tin ở màn hình5x5 đè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ếuMicro: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, BBCMicro: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ácnhau
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ốihợ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 nhanhhơ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à đặcbiệ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ũngbiế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