intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Sáng kiến kinh nghiệm THPT: 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

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:46

44
lượt xem
18
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mục đích nghiên cứu sáng kiến nhằm 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ủ đề:
Lưu

Nội dung Text: Sáng kiến kinh nghiệm THPT: 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. SỞ GIÁO DỤC VÀ ĐÀO TẠO NGHỆ AN 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
  2. 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
  3. MỤC LỤC Trang Phần một. ĐẶT VẤN ĐỀ 1 1. Lí do chọn đề tài 2 2. Mục đích nghiên cứu 2 3. Nhiệm vụ nghiên cứu 2 4. Đối tƣợng nghiên cứu 2 5. Phƣơng pháp nghiên cứu 2 6. Điểm mới của đề tài 2 7. Cấu trúc của đề tài 3 Phần hai. NỘI DUNG 4 Chƣơng 1 CƠ SƠ LÝ LUẬN VÀ CƠ SỞ THỰC TIỄN 1. Cơ sở lý luận 4 1.1. Chủ trƣơng của Đảng, Nhà nƣớc, Bộ giáo dục về Chƣơng trình giáo dục phổ thông 2018 4 1.2. Đặc điểm, mục tiêu, yêu cầu và nội dung của môn Tin học trong Chƣơng trình giáo dục phổ thông 2018 4 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 5 2. Cơ sở thực tiễn 6 2.1. Khảo sát thực trạng dạy học lập trình môn Tin học tại trƣờng THPT 6 Hà Huy Tập 2.2. Thực tiễn học lập trình nói chung và kỹ tuật chia để trị trong lập trình Tin học nói riêng ở trƣờng THPT Hà Huy Tập, thành phố Vinh, 8 Nghệ An
  4. 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
  5. 2.3.5. Bài toán sắp xếp – thuật toán sắp xếp trộn 29 3. Kết quả khảo sát về tính cấp thiết và khả thi của đề tài 32 3.1. Nội dung khảo sát 32 3.2. Phương pháp khảo sát và thang đánh giá 32 3.3. Đối tượng khảo sát 33 3.4. Tính cấp thiết của các giải pháp đề xuất 33 3.5. Tính khả thi của các giải pháp đề xuất 34 Phần ba. KẾT LUẬN 1. Hiệu quả, ý nghĩa của sáng kiến kinh nghiệm 35 2. Nhận định về việc áp dụng sáng kiến kinh nghiệm và khả năng mở rộng 35 đề tài 3. Bài học kinh nghiệm và đề xuất 36 TÀI LIỆU THAM KHẢO 37 PHỤ LỤC
  6. 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.
  7. 3. Nhiệm vụ nghiên cứu Xác định cơ sở lý luận của đề tài xuất phát từ chủ trương của Đảng, Nhà nước, Bộ Giáo dục và Đào tạo; đặc điểm, mục tiêu, yêu cầu và nội dung của môn Tin học trong Chương trình giáo dục phổ thông 2018. Đưa ra một số giải pháp hợp lý giúp học sinh rèn luyện kỹ năng lập trình và 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. 4. Đối tƣợng nghiên cứu Kỹ thuật chia để trị và 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. 5. Phƣơng pháp nghiên cứu - Nghiên cứu và sưu tầm tài liệu. - Trao đổi chuyên môn với bạn bè, đồng nghiệp để giải quyết vấn đề. 6. Điểm mới của đề tài - 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ị theo 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. - Giúp học sinh rèn luyện tư duy logic, khả năng tập trung, kỹ năng lập trình, kỹ năng xử lý các bài toán lớn, kỹ năng giải quyết vấn đề. 7. Cấu trúc của đề tài Phần một. Đặt vấn đề 1. Lí do chọn đề tài 2. Mục đích nghiên cứu 3. Nhiệm vụ nghiên cứu 4. Đối tượng nghiên cứu 5. Phương pháp nghiên cứu 6. Điểm mới của đề tài 7. Cấu trúc của đề tài Phần hai. Nội dung Chương 1. Cơ sở lí luận và cơ sở thực tiễn 1. Cơ sở lí luận 2. Cơ sở thực tiễn 2
  8. 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
  9. Phần hai: NỘI DUNG Chƣơng 1 Cơ sở lí luận và cơ sở thực tiễn 1. Cơ sở lí luận 1.1. Chủ trƣơng của Đảng, Nhà nƣớc, Bộ giáo dục về Chƣơng trình giáo dục phổ thông mới 2018 Chương trình giáo dục phổ thông mới 2018 có sự đổi mới toàn diện và đồng bộ từ quan điểm, mục tiêu, chương trình, nội dung và thời lượng giáo dục, sách giáo khoa, phương pháp dạy học và kiểm tra đánh giá. Chương trình giáo dục phổ thông mới 2018 chỉ rõ mục tiêu giúp học sinh làm chủ kiến thức phổ thông, biết vận dụng hiệu quả kiến thức, kỹ năng đã học vào đời sống và tự học suốt đời, có định hướng lựa chọn nghề nghiệp phù hợp, biết xây dựng và phát triển hài hoà các mối quan hệ xã hội. Nội dung giáo dục theo Chương trình giáo dục phổ thông 2018 có các môn học mới như Hoạt động trải nghiệm, Hướng nghiệp, Giáo dục địa phương; thay đổi phương pháp dạy học chú trọng tích cực hóa hoạt động học tập của học sinh, chú trọng tổ chức hoạt động học nhằm hình thành và phát triển năng lực tự học cho học sinh và thực hiện phương châm “Học qua làm”. Chương trình giáo dục trung học phổ thông 2018 giúp học sinh phát triển phẩm chất, năng lực cần thiết của người lao động, nâng cao ý thức và nhân cách công dân, phát huy khả năng tự học và ý thức học tập suốt đời, khả năng lựa chọn nghề nghiệp phù hợp với năng lực, hoàn cảnh của bản thân để tiếp tục học lên, học nghề hay tham gia lao động, khả năng thích ứng với những thay đổi trong bối cảnh toàn cầu hoá và cách mạng công nghiệp mới. 1.2. Đặc điểm, mục tiêu, yêu cầu và nội dung của môn Tin học trong Chƣơng trình giáo dục phổ thông 2018 Chương trình môn Tin học ở cấp THPT giúp học sinh củng cố và nâng cao năng lực tin học đã được hình thành, phát triển ở giai đoạn giáo dục cơ bản, đồng thời cung cấp cho học sinh tri thức mang tính định hướng nghề nghiệp thuộc lĩnh vực tin học hoặc ứng dụng tin học, cụ thể là: 4
  10. - 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
  11. Chương trình môn Tin học THPT có sự phân hoá sâu theo định hướng nghề nghiệp. Nội dung giáo dục tin học được tổ chức thành các nhóm chủ đề theo hai định hướng: Tin học ứng dụng và Khoa học máy tính. Tuỳ theo sở thích và định hướng nghề nghiệp của bản thân, học sinh lựa chọn một trong hai định hướng trên qua việc chọn nhóm chủ đề tương ứng. Định hướng Khoa học máy tính đáp ứng mục đích đi sâu vào hệ thống máy tính, phát triển tư duy máy tính, khả năng tìm tòi, khám phá, phát triển các phần mềm và dịch vụ trên máy tính, trang bị kiến thức về thuật toán và lập trình;… giúp hình thành năng lực lập trình cho học sinh. Năng lực lập trình giúp học sinh có tư duy sáng tạo, có kỹ năng thực hành, hiện thực hóa ý tưởng tốt, phát triển năng lực quản lí, làm chủ vấn đề, có khả năng áp dụng lý thuyết vào thực tiễn, xử lý linh hoạt, từ đó có sự lựa chọn phù hợp cho nghề nghiệp trong tương lai. Vì vậy việc phát huy năng lực lập trình cho học sinh ngay từ khi học phổ thông là rất quan trọng. 2. Cơ sở thực tiễn 2.1. Khảo sát thực trạng dạy học lập trình môn Tin học tại trường THPT Hà Huy Tập Để tìm hiểu về thực trạng dạy học lập trình ở môn Tin học tại trường THPT Hà Huy Tập, chúng tôi tiến hành khảo sát 4 giáo viên dạy Tin học và học sinh các lớp trên Google Form. Nội dung khảo sát như sau: Đối với giáo viên: Câu 1: Theo thầy (cô), dạy học lập trình ở bậc THPT có cần thiết không? a. Có b. Không Câu 2: Theo thầy (cô), dạy học lập trình ở bậc THPT đối với giáo viên có khó khăn không? a. Có b. Không Đối với học sinh: Câu 1: Em có thích học lập trình trong môn Tin học ở trường THPT không? a. Có b. Không Câu 2: Theo em, học lập trình ở bậc THPT đối với bản thân em có khó không? a. Có b. Không 6
  12. 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
  13. học ở trường phổ thôn góp phần giúp các em có định hướng nghề nghiệp tốt trong tương lai, nhất là những ngành mới như Khoa học máy tính, Trí tuệ nhân tạo,… 2.2. Thực tiễn học lập trình nói chung và kỹ tuật chia để trị trong lập trình Tin học nói riêng ở trường THPT Hà Huy Tập, thành phố Vinh, Nghệ An Qua thực tế giảng dạy ở trường THPT Hà Huy Tập, với Chương trình giáo dục phổ thông 2006 (chương trình giáo dục cũ) phần lập trình được học ở chương trình Tin học 11, nội dung chủ yếu là các kiến thức cơ bản. Các nội dung khó hơn như kỹ thuật đệ quy, kỹ thuật chia để trị,… chủ yếu giáo viên chỉ dạy cho các học sinh tham gia kì thi học sinh giỏi Tỉnh. Nội dung phần lập trình theo chương trình cũ phần lớn bài tập áp dụng các công thức toán, học sinh phải có kiến thức tốt về toán mới giải quyết được, các bài toán ít liên quan đến thực tiễn nên học sinh chưa hiểu được mục đích của lập trình. Một số bài giảng của giáo viên chưa trực quan, sinh động, do đó học sinh chỉ hoàn thành các bài tập một cách bị động, không kích thích tư duy, tính sáng tạo, một số học sinh học tin chỉ mang tính đối phó. Trong Chương trình Tin học lớp 10 năm 2018, học sinh đã được học phần kỹ thuật lập trình cơ bản. Lớp 11 học sinh tiếp tục được học các nội dung về kỹ thuật lập trình, học sinh đã có thể sử dụng ngôn ngữ lập trình cùng với các công cụ có sẵn trong thư viện để thể hiện thuật toán. Tuy nhiên, khả năng tự đánh giá và thiết kế thuật toán cho bài toán còn hạn chế. Học lập trình là một môn học khó so với học sinh vì nó liên quan đến tư duy logic, tư duy toán học,… Đây còn là một môn học khô khan, khó hiểu, mơ hồ, đòi hỏi học sinh phải kiên trì, có bản lĩnh. Ở lứa tuổi học sinh THPT, chỉ một số em ham thích tìm hiểu kĩ thuật lập trình, đại đa số chưa hiểu rõ ý nghĩa của lập trình tin học với thực tiễn cuộc sống cũng như việc chọn nghề trong tương lai, ngại khó, ngại khổ nên thiếu tự giác trong học tập. Kết quả học tập môn Tin của học sinh trong những năm qua ở trường THPT đạt được một số kết quả, nhưng kỹ năng lập trình của học sinh lớp 11 đại trà đạt mức trung bình, học sinh mới giải được những bài toán mức độ dễ, chỉ một số học sinh giỏi cấp trường trở lên đạt mức độ khá, giỏi. 8
  14. 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
  15. 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 1.1. Xây dựng bài giảng tốt, hệ thống bài tập phong phú đa dạng Để nâng cao chất lượng bộ môn Tin học nói chung và phát huy năng lực lập trình của học sinh nói riêng, giáo viên cần xây dựng bài giảng có chất lượng với nội dung kiến thức chuẩn, hợp lý, phương pháp dạy học tích cực, đồng thời tự thiết kế hoặc sưu tầm hệ thống bài tập phong phú, đa dạng. - Bài giảng cần xác định rõ mục tiêu, kiến thức, kỹ năng phù hợp, có phương pháp dạy học cụ thể cho từng phần, thực hiện số hóa bài giảng từ quay video, ghi âm, lập trình, chạy thử,… trên phần mềm thích hợp. - Để xây dựng bài giảng tốt, đảm bảo kiến thức cơ bản giáo viên phải dựa vào sách giáo khoa Chương trình giáo dục phổ thông 2018, đồng thời tham khảo thêm các tài liệu giảng dạy chất lượng, tham khảo internet. - Bài tập Tin học lớp 11 biên soạn tương đối đầy đủ, tuy nhiên chưa đa dạng, ít bài tập gắn kết với thực tiễn cuộc sống,… Vì vậy, giáo viên cần thiết kế thêm hệ thống bài tập phù hợp, đa dạng cả trắc nghiệm và tự luận. - Trong mỗi chủ đề, dựa vào kiến thức cơ bản giáo viên có thể thiết kế các dạng bài tập như trắc nghiệm nhiều lựa chọn, trắc nghiệm điền khuyết, giải thích, bài tập mô phỏng tiến trình, đặc biệt là hệ thống bài tập lập trình,… - Bài tập lập trình cần vận dụng kiến thức để giải bài toán theo các bước, giáo viên cần thiết kế các bài tập từ mức độ thấp đến cao, giúp học sinh làm quen từng bước, từ đó rèn luyện kĩ năng và phát huy năng lực lập trình. Ví dụ 1 (về soạn giảng) Chuyên đề 2: Thực hành thiết kê thuật toán theo kỹ thuật chia để trị Bài 1. Ý tưởng chia để trị (Sách Kết nối tri thức với cuộc sống) Hoạt động khởi động: Giáo viên sử dụng phương pháp tường thuật và hoạt động nhóm để thực hiện phần khởi động. 10
  16. 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
  17. - Dạng bài tập tự luận Nên ra các bài tập từ cơ bản đến nâng cao, mang tính ứng dụng thực tiễn gây hứng thú cho học sinh như: Bài tập 1: Có n viên bi giống hệt nhau, biết rằng trong các viên bi này có một viên bi giả và viên bi giả này nặng hơn các viên bi còn lại. Chỉ một cái cân thăng bằng, em hãy tìm ra viên bi giả đó. Cần ít nhất bao nhiêu lần cân để tìm ra viên bi giả? Bài tập 2: Ban Giám hiệu nhà trường cần tìm một bạn lớp em có chiều cao đúng bằng 1,7m hoặc gần với chiều cao đó nhất để tham gia đội hình thể thao. Em hãy giúp nhà trường chọn bạn học sinh đó. 12
  18. 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
  19. Phương pháp dạy học: Làm việc nhóm, dạy học phân hóa và dạy học giải quyết vấn đề. Giáo viên chia lớp thành 3 nhóm theo học lực giỏi, khá, trung bình hoặc dựa vào kỹ năng lập trình. Nhóm trung bình: Thực hiện tìm ý tưởng của bài toán. (nhóm học sinh khá, giỏi đối chứng, từ đó đưa ra ý tưởng tốt nhất) Nhóm khá: Viết thuật toán giải quyết bài toán. (Nhóm khá thực hiện, nhóm trung bình đối chứng, nhóm giỏi đối chứng và cải tiến) Nhóm giỏi: Cải tiến thuật toán và thực hiện đánh giá độ phức tạp thuật toán. Sử dụng phương pháp làm việc theo nhóm kết hợp dạy học phân hóa và giải quyết vấn đề giúp học sinh ở nhóm trung bình bước đầu viết được ý tưởng thuật toán theo kỹ thuật chia để trị, nhóm khá viết được chương trình, nhóm giỏi đã biết cải tiến chương trình và đánh giá được độ phức tạp của thuật toán. Từ đó các nhóm học sinh được rèn luyện và nâng cao hơn kỹ năng lập trình. Ví dụ 2 (về đánh giá) Giáo viên có thể thực hiện đánh giá qua bài trả lời trắc nghiệm trên ứng dụng Quizizz, Azota,… hoặc hoạt động nhóm để lấy điểm thường xuyên. 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 Thuật toán là phương pháp giải quyết một vấn đề, một bài toán, tiến hành thiết kế thuật toán học sinh sẽ biết suy luận logic, hiểu sâu về bài toán, đưa ra các phương pháp lập trình hiệu quả hơn, tránh lỗi khi lập trình. Thiết kế thuật toán giúp học sinh hình thành kĩ năng giải quyết vấn đề, có tư duy lập trình tốt, nhờ đó khi gặp bất kỳ bài toán nào cũng tìm ra hướng giải quyết tối ưu và nảy sinh cách lập trình nhanh và đơn giản nhất. Để thiết kế một thuật toán tốt cần thực hiện: tìm hiểu bài toán, thiết kế thuật toán, phân tích và chứng minh tính đúng đắn của thuật toán. Khi giải một bài toán, giáo viên yêu cầu học sinh tìm hiểu, thiết kế thuật toán. Thuật toán sau khi thiết kế cần được chứng minh tính đúng đắn. Để chứng minh được thuật toán đúng, chúng ta cần chứng minh rằng với mọi bộ dữ liệu đầu vào thì dữ liệu đầu ra phải thõa mãn yêu cầu của bài toán. 14
  20. 1.4. Tổ chức học sinh đánh giá tính tối ƣu và hiệu quả của thuật toán 1.4.1. Đánh giá thời gian thực hiện của một thuật toán Để đánh giá tính tối ưu và hiệu quả thuật toán chúng ta cần tính độ phức tạp thời gian thực hiện thuật toán. Độ phức tạp thời gian thuật toán là khối lượng thời gian cần thiết để chạy chương trình thể hiện thuật toán. Có hai cách để đánh giá thời gian thực hiện của một thuật toán: - Cách một bằng thực nghiệm, chúng ta viết chương trình và cho chạy chương trình với các dữ liệu vào khác nhau trên một máy tính. - Cách hai bằng phương pháp lí thuyết, coi thời gian thực hiện thuật toán như hàm số của cỡ dữ liệu vào, cỡ dữ liệu vào là một tham số đặc trưng cho dữ liệu vào, có ảnh hưởng quyết định đến thời gian thực hiện chương trình. Độ phức tạp thời gian, trong trường hợp tổng quát, có thể coi là một hàm T(n) là thời gian nhiều nhất cần thiết để thực hiện thuật toán, với n là 1 số tự nhiên được xác định tùy thuộc từng bài toán cụ thể. 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 - Các phép toán đơn giản như phép tính số học +, -, *, ?, phép lấy thương nguyên và số dư, các phép so sánh sẽ tính là 1 đơn vị thời gian. - Các phép toán logic cơ bản như and, or, not sẽ tính là 1 đơn vị thời gian. - Các lệnh đơn như lệnh gán, lệnh in, đọc dữ liệu,… là 1 đơn vị thời gian. - Vòng lặp for hoặc while được tính thời gian bằng tổng đơn vị thời gian thực hiện của mỗi bước lặp. - Lệnh if với nhiều trường hợp rẽ nhánh sẽ được tính thời gian bằng đơn vị thời gian lớn nhất của các lệnh nhánh. - Áp dụng các nguyên tắc tính khung thời gian trên có thể tính được gần chính xác thời gian thực hiện chương trình mà không cần cài đặt và chạy chương trình trên máy tính. - Sử dụng kí hiệu toán học O để mô tả độ lớn của hàm. Giả sử n là một số nguyên dương, T(n) và f(n) là hai hàm thực không âm. Ta viết T(n)= O(f(n)) nếu và chỉ nếu tồn tại các hằng số dương c và n0 , sao cho T(n)≤ c x f(n), mọi n ≥ n0. - Nếu một thuật toán có thời gian thực hiện T(n)= O(f(n)) chúng ta nói rằng thuật toán có thời gian thực hiện cấp f(n). 15
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
8=>2