Sáng kiến kinh nghiệm Phát huy năng lực lập trình cho học sinh THPT qua giải các bài toán sử dụng kỹ thuật chia để trị bằng ngôn ngữ lập trình Python theo chương trình giáo dục phổ thông 2018
Thực hiện Nghị quyết của Đảng, Quyết định của Quốc hội và Thủ tướng Chính phủ, Chương trình giáo dục phổ thông 2018 xây dựng theo định hướng phát triển phẩm chất và năng lực của học sinh, tạo môi trường học tập và rèn luyện giúp học sinh phát triển hài hoà về thể chất và tinh thần. Chương trình giáo dục phổ thông 2018 giúp học sinh vận dụng phương pháp học tập tích cực để hoàn chỉnh các tri thức và kỹ năng nền tảng. có ý thức lựa chọn nghề nghiệp và học tập suốt đời, có phẩm chất tốt đẹp và năng lực cần thiết để trở thành người công dân có trách nhiệm, người lao động có văn hoá, đáp ứng nhu cầu phát triển của cá nhân và yêu cầu của sự nghiệp xây dựng, bảo vệ Tổ quốc trong thời đại toàn cầu hoá và cách mạng công nghiệp mới. Giáo dục môn Tin học đóng vai trò chủ đạo trong việc chuẩn bị cho học sinh khả năng tiếp nhận, mở rộng tri thức và sáng tạo trong thời đại cách mạng công nghiệp 4.0 và toàn cầu hoá. Tin học có ảnh hưởng lớn đến cách sống, suy nghĩ và hành động của con người, là công cụ hiệu quả biến việc học thành tự học suốt đời. Tin học giúp học sinh thích ứng và hoà nhập với xã hội hiện đại, hình thành, phát triển năng lực tư duy để học sinh học tập, làm việc, nâng cao chất lượng cuộc sống, đóng góp vào sự nghiệp xây dựng và bảo vệ Tổ quốc. Ở bậc THPT, môn Tin học có sự phân hoá sâu. Tùy theo sở thích và dự định về nghề nghiệp trong tương lai, học sinh lựa chọn một trong hai định hướng: Tin học ứng dụng và Khoa học máy tính. Từ thực tiễn trong quá trình giảng dạy, để giúp học sinh tiếp cận và học tốt chuyên đề theo định hướng Khoa học máy tính, chúng tôi đã lựa chọn đề tài “Phát huy năng lực lập trình cho học sinh THPT qua giải các bài toán sử dụng kỹ thuật chia để trị bằng ngôn ngữ lập trình Python theo chƣơng trình giáo dục phổ thông 2018”.
Bạn đang xem 20 trang mẫu của tài liệu "Sáng kiến kinh nghiệm Phát huy năng lực lập trình cho học sinh THPT qua giải các bài toán sử dụng kỹ thuật chia để trị bằng ngôn ngữ lập trình Python theo chương trình giáo dục phổ thông 2018", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
Tóm tắt nội dung tài liệu: Sáng kiến kinh nghiệm Phát huy năng lực lập trình cho học sinh THPT qua giải các bài toán sử dụng kỹ thuật chia để trị bằng ngôn ngữ lập trình Python theo chương trình giáo dục phổ thông 2018
SỞ GIÁO DỤC VÀ ĐÀO TẠO NGHỆ AN TRƯỜNG THPT HÀ HUY TẬP ----------o0o---------- SÁNG KIẾN KINH NGHIỆM ĐỀ TÀI: “PHÁT HUY NĂNG LỰC LẬP TRÌNH CHO HỌC SINH THPT QUA CÁC BÀI TOÁN SỬ DỤNG KỸ THUẬT CHIA ĐỂ TRỊ BẰNG NGÔN NGỮ LẬP TRÌNH PYTHON THEO CHƯƠNG TRÌNH GIÁO DỤC PHỔ THÔNG 2018” Lĩnh vực: Tin học Tên tác giả: NGUYỄN XUÂN QUỲNH TRANG TRÌNH THỊ HỒNG LOAN Tổ bộ môn: TOÁN TIN Năm học 2022 - 2023 Chƣơng 2 PHÁT HUY NĂNG LỰC LẬP TRÌNH CHO HỌC SINH THPT QUA GIẢI CÁC BÀI TOÁN SỬ DỤNG KỸ THUẬT CHIA ĐỂ TRỊ BẰNG NGÔN NGỮ LẬP TRÌNH PYTHON THEO CHƢƠNG TRÌNH GIÁO DỤC PHỔ THÔNG 2018 10 1. Một số giải pháp nâng cso năng lực lập trình cho học sinh 10 1.1. Xây dựng bài giảng tốt, hệ thống bài tập phong phú đa dạng 10 1.2. Sử dụng phƣơng pháp giảng dạy và đánh giá phù hợp 13 1.3. Tổ chức học sinh học giải quyết vấn đề bằng thiết kế thuật toán 14 1.4. Tổ chức cho học sinh đánh giá tính tối ƣu và hiệu quả của thuật toán 15 1.4.1. Đánh giá thời gian thực hiện của một thuật toán 15 1.4.2. Các nguyên tắc để tính thời gian T(n) đánh giá thời gian thực hiên thuật toán 15 1.5. Không ngừng trau dồi chuyên môn cập nhật cong nghệ mới 16 1.6. Giúp học sinh nâng cao khả năng tự học 16 2. Phát huy năng lực lập trình cho học sinh THPT khi giải một số bài toán theo kỹ thuật chia để trị 17 2.1. Tổ chức học sinh học cách giải quyết vấn đề bằng thiết kế thuật toán 17 2.1.1. Thiết kế thuật toán theo kỹ thuật chia để trị 17 2.1.2. Mô hình thuật toán khi giải bài toán theo kỹ thuật chia để trị 18 2.2. Kết hợp các phƣơng pháp dạy học tích cực nhằm phát huy năng lực lập trình cho học sinh qua giải bài toán theo kỹ thuật chia để trị 19 2.3. Một số bài toán áp dụng kỹ thuật chia để trị 19 2.3.1. Bài toán tính lũy thừa 19 2.3.2. Bài toán tìm min, max của dãy 21 2.3.3. Bài toán tìm tổng con lớn nhất 24 2.3.4. Bài toán tìm kiếm – thuật toán tìm kiếm nhị phân 26 Phần một. ĐẶT VẤN ĐỀ 1. Lí do chọn đề tài Thực hiện Nghị quyết của Đảng, Quyết định của Quốc hội và Thủ tướng Chính phủ, Chương trình giáo dục phổ thông 2018 xây dựng theo định hướng phát triển phẩm chất và năng lực của học sinh, tạo môi trường học tập và rèn luyện giúp học sinh phát triển hài hoà về thể chất và tinh thần. Chương trình giáo dục phổ thông 2018 giúp học sinh vận dụng phương pháp học tập tích cực để hoàn chỉnh các tri thức và kỹ năng nền tảng. có ý thức lựa chọn nghề nghiệp và học tập suốt đời, có phẩm chất tốt đẹp và năng lực cần thiết để trở thành người công dân có trách nhiệm, người lao động có văn hoá, đáp ứng nhu cầu phát triển của cá nhân và yêu cầu của sự nghiệp xây dựng, bảo vệ Tổ quốc trong thời đại toàn cầu hoá và cách mạng công nghiệp mới. Giáo dục môn Tin học đóng vai trò chủ đạo trong việc chuẩn bị cho học sinh khả năng tiếp nhận, mở rộng tri thức và sáng tạo trong thời đại cách mạng công nghiệp 4.0 và toàn cầu hoá. Tin học có ảnh hưởng lớn đến cách sống, suy nghĩ và hành động của con người, là công cụ hiệu quả biến việc học thành tự học suốt đời. Tin học giúp học sinh thích ứng và hoà nhập với xã hội hiện đại, hình thành, phát triển năng lực tư duy để học sinh học tập, làm việc, nâng cao chất lượng cuộc sống, đóng góp vào sự nghiệp xây dựng và bảo vệ Tổ quốc. Ở bậc THPT, môn Tin học có sự phân hoá sâu. Tùy theo sở thích và dự định về nghề nghiệp trong tương lai, học sinh lựa chọn một trong hai định hướng: Tin học ứng dụng và Khoa học máy tính. Từ thực tiễn trong quá trình giảng dạy, để giúp học sinh tiếp cận và học tốt chuyên đề theo định hướng Khoa học máy tính, chúng tôi đã lựa chọn đề tài “Phát huy năng lực lập trình cho học sinh THPT qua giải các bài toán sử dụng kỹ thuật chia để trị bằng ngôn ngữ lập trình Python theo chƣơng trình giáo dục phổ thông 2018”. 2. Mục đích nghiên cứu Giúp giáo viên có những giải pháp hợp lý trong quá trình giảng dạy nhằm phát huy năng lực lập trình cho học sinh THPT. Giúp giáo viên, học sinh có cái nhìn tổng quát về chủ đề thực hành thiết kế thuật toán theo kỹ thuật chia để trị chuyên đề khoa học máy tính sách Tin học 11 Chương trình giáo dục phổ thông 2018. Từ đó giúp học sinh nâng cao kỹ năng lập trình, kỹ năng xử lý các bài toán sử dụng kỹ thuật chia để trị`và ứng dụng trong việc giải các bài toán lớn. Chương 2. Phát huy năng lực lập trình cho học sinh THPT qua giải các bài toán sử dụng kỹ thuật chia để trị bằng ngôn ngữ lập trình Python theo Chương trình giáo dục phổ thông 2018 1. Một số giải pháp nâng cao năng lực lập trình cho học sinh THPT 2. Phát huy năng lực lập trình cho học sinh THPT qua các bài toán sử dụng kỹ thuật chia để trị 3. Kết quả khảo sát về tính cấp thiết và khả thi của đề tài Phần ba. Kết luận 1. Hiệu quả của đề tài 2. Nhận định về áp dụng sáng kiến kinh nghiệm và khả năng mở rộng đề tài 3. Bài học kinh nghiệm và đề xuất 3 - Giúp học sinh có những hiểu biết cơ bản về hệ thống máy tính, một số kỹ thuật thiết kế thuật toán, tổ chức dữ liệu và lập trình; củng cố và phát triển hơn nữa cho học sinh tư duy giải quyết vấn đề, khả năng đưa ra ý tưởng và chuyển giao nhiệm vụ cho máy tính thực hiện. - Giúp học sinh hiểu thêm một số ngành tin học, có khả năng ứng dụng tin học; tạo ra sản phẩm số phục vụ cộng đồng và nâng cao hiệu quả công việc; có khả năng lựa chọn, sử dụng, kết nối các thiết bị số, dịch vụ mạng và truyền thông, phần mềm và các tài nguyên số khác. - Giúp học sinh có khả năng hoà nhập và thích ứng được với sự phát triển của xã hội số; tìm kiếm và trao đổi thông tin theo cách phù hợp, tuân thủ pháp luật, có đạo đức, ứng xử văn hoá và có trách nhiệm; ứng dụng công nghệ thông tin và truyền thông trong học và tự học; chủ động và tự tin trong việc định hướng nghề nghiệp tương lai của bản thân. 1.3. Phát huy năng lực lập trình của học sinh trong Chƣơng trình giáo dục phổ thông 2018 Năng lực là thuộc tính cá nhân được hình thành, phát triển nhờ tố chất sẵn có và quá trình học tập, rèn luyện, cho phép con người huy động tổng hợp các kiến thức, kỹ năng và các thuộc tính cá nhân khác như hứng thú, niềm tin, ý chí,... thực hiện thành công một loại hoạt động nhất định, đạt kết quả mong muốn trong những điều kiện cụ thể. Trong Chương trình giáo dục phổ thông 2018, thông qua môn học và hoạt động giáo dục các năng lực chung được hình thành như năng lực tự chủ, giao tiếp và hợp tác, giải quyết vấn đề, đồng thời giúp học sinh hình thành các năng lực đặc thù như năng lực ngôn ngữ, năng lực tính toán, năng lực khoa học, năng lực công nghệ, năng lực tin học, Phát huy năng lực tin học và lập trình là một mục tiêu được nêu ra trong Chương trình giáo dục phổ thông 2018. Trong đó chỉ rõ yêu cầu giúp học sinh hiểu biết kỹ thuật thiết kế thuật toán, tổ chức dữ liệu và lập trình để nâng cao năng lực lập trình, phát triển tư duy giải quyết vấn đề, đưa ra ý tưởng và chuyển giao nhiệm vụ cho máy tính thực hiện. Năng lực lập trình của học sinh được thể hiện qua khả năng đưa ra ý tưởng, khả năng biểu diễn thuật toán, khả năng lập trình, khả năng sửa lỗi chương trình, khả năng phân tích đánh giá thuật toán, 5 Câu 3: Theo em, học lập trình ở bậc THPT tác dụng dụng định hướng nghề nghiệp trong tương lai không? a. Có b. Không Kết quả thu được như sau: + Đối với giáo viên: + Đối với học sinh: Qua kết quả khảo sát cho thấy, theo giáo viên dạy học lập trình cho học sinh là cần thiết (100% ), đối với giáo viên, việc dạy lập trình còn gặp một số khó khăn (75%). Đối với học sinh, có trên 50% học sinh được khảo sát, yêu thích lập trình môn tuy học, nhưng đây là phần học tương đối khó đối với các em. Trong thời đại công nghệ 4.0, đa số học sinh nhân thức được việc học lập trinh môn Tin 7 Giáo viên các trường THPT nói chung và Trường THPT Hà Huy Tập đã cố gắng tìm tòi, đổi mới phương pháp dạy học nhưng cũng chỉ mới đạt được một số kết quả nhất định, đa số học sinh vẫn chưa có hứng thú với môn Tin học nhất là phần lập trình, đòi hỏi giáo viên cần tiếp tục tìm kiếm giải pháp mới nhằm nâng cao ý thức, gây hứng thú trong việc học bộ môn Tin học đặc biệt là rèn luyện kĩ năng và phát huy năng lực lập trình cho học sinh. 9 Hoạt động Nội dung - GV tường thuật cho HS Câu chuyện bó đũa Rút ra bài học nghe “Câu chuyện bó đũa”. - Đối với cuộc sống: - HS thảo luận nhóm rút ra chia nhỏ bó đũa để dễ bài học: bẻ hơn. (Đoàn kết sẽ + Đối với cuộc sống: Chia thành công). nhỏ bó đũa để dễ bẻ hơn. + Đối với Tin học: Bài toán - Đối với lập trình Tin: lớn chia thành bài toán nhỏ bài toán lớn chia thành sẽ dễ giải hơn => Ý tưởng bài toán nhỏ dễ giải hơn. của kỹ thuật chia để trị. -> Kỹ thuật chia để trị. Ví dụ 2 (về các dạng bài tập) - Dạng bài tập trắc nghiệm Hoạt động luyện lập: + Giáo viên cho cho học làm một số câu hỏi trắc nghiệm thông qua ứng dụng Quizizz sau khi học xong nội dung mục 2. Thuật toán tìm kiếm nhị phân (Sách Kết nối tri thức với cuộc sống). + Giáo viên chia lớp thành nhiều nhóm, mỗi nhóm 2 học sinh, các nhóm trả lời câu hỏi trắc nghiệm trên điện thoại qua ứng dụng quizizz. + Trong quá trình học sinh trả lời ứng dụng quizizz có xếp thứ tự câu trả lời nên các nhóm có sự ganh đua để trả lời đúng và nhanh. 11 Bài tập 3: Hai người chơi như sau: Người thứ nhất sẽ nghĩ ra một số nguyên dương trong khoảng từ 1 đến N (N được cho biết trước). Người thứ hai sẽ lần lượt đưa ra các số dự đoán. Với mỗi số dự đoán này, người thứ hai sẽ nhận được câu trả lời cho biết số mình vừa nêu ra lớn hơn, nhỏ hơn, hay bằng với số mà người thứ nhất đã nghĩ. Em hãy giúp người thứ hai chọn đúng số cần tìm với số lần đoán càng ít càng tốt. 1.2. Sử dụng phƣơng pháp giảng dạy và đánh giá phù hợp Giáo viên cần chọn lựa và khai thác hiệu quả các phương pháp giảng dạy phù hợp đặc trưng môn Tin học, nhằm tăng cường sự tương tác của học sinh trong giờ học, kích thích phát huy khả năng tư duy và giải quyết vấn đề. - Phương pháp dạy học tích cực của môn Tin học ở THPT như dạy học theo dự án, làm việc theo nhóm, dạy học phân hóa, dạy học giải quyết vấn đề, dạy học kết hợp với trải nghiệm thực tiễn, dạy học liên môn và liên ngành, - Ở mỗi chủ đề, mỗi bài học, giáo viên cần lựa chọn phương pháp phù hợp nhất giúp học sinh phát huy tính chủ động, tích cực. Đối với các tiết lập trình thường sử dụng phương pháp làm việc nhóm kết hợp giải quyết vấn đề. - Kết hợp với các phương pháp dạy học, giáo viên hướng dẫn học sinh tìm tòi, nghiên cứu, tự đề xuất các biện pháp giải quyết những vấn đề đặt ra trong bài học hoặc đề xuất các thuật toán trước khi đưa ra mã hóa thuật toán. - Trong quá trình giảng dạy, giáo viên cần sử dụng các phương tiện dạy học bổ trợ như máy tính, máy chiếu, bút trình chiếu, phần mềm ứng dụng, để vừa tạo môi trường học tập linh hoạt, thu hút sự tập trung, chú ý của học sinh. - Song song với việc áp dụng phương pháp dạy học phù hợp, giáo viên cần thực hiện việc đánh giá có hiệu quả, từ hỏi bài trên lớp đến các kì kiểm tra trong năm học cần phản hồi kết quả kịp thời, giúp học sinh tích cực học tập. - Giáo viên cần xây dựng nhiều dạng bài kiểm tra để đánh giá toàn diện năng lực của học sinh, chú trọng hơn vào kĩ năng thực hành. Cần động viên, khuyến khích học sinh khá giỏi, đánh giá công bằng đối với học sinh chưa chú ý học tập. Ví dụ 1 (về phương pháp) Bài 7. Thiết kế thuật toán theo kỹ thuật chia để trị (Sách chuyên đề học tập định hướng Khoa học máy tính – Kết nối tri thức với cuộc sống) Mục 1. Bài toán tính lũy thừa 13
File đính kèm:
- sang_kien_kinh_nghiem_phat_huy_nang_luc_lap_trinh_cho_hoc_si.pdf