Xem mẫu

  1. HỘI THẢO KHOA HỌC QUỐC GIA CÁC NHÀ NGHIÊN CỨU TRẺ | 11/2019 TÍCH HỢP CÁC YẾU TỐ THUẬT TOÁN VÀ LẬP TRÌNH VÀO DẠY HỌC HÀM SỐ Ở PHỔ THÔNG ĐOÀN THỊ PHƯƠNG DUNG Học viên Cao học, Trường Đại học Sư phạm, Đại học Huế Email: doandung1995@gmail.com Tóm tắt: Tư duy thuật toán và tư duy lôgic ngày càng có vai trò quan trọng, đặc biệt trong các lĩnh vực của giáo dục STEM. Nhiều chương trình môn toán bậc phổ thông của các nước đã chú trọng đến việc tích hợp các yếu tố thuật toán và lập trình vào dạy học toán. Bài báo này trình bày một thử nghiệm tích hợp các yếu tố thuật toán và lập trình vào dạy học hàm số ở lớp 10 phổ thông. Kết quả nghiên cứu khẳng định tính khả thi và tiềm năng của việc tích hợp thuật toán và lập trình vào thực hành dạy học toán. Từ khóa: Thuật toán, tư duy thuật toán, hàm số, tích hợp. 1. GIỚI THIỆU Thuật toán và tư duy thuật toán ngày càng có vai trò quan trọng trong sự phát triển của xã hội, đặc biệt trong bối cảnh của cuộc cách mạng công nghiệp lần thứ tư. Có thể nói, thuật toán có mặt hầu hết trong các lĩnh vực của cuộc cách mạng số, tự động hóa và khoa học dữ liệu. Tư duy thuật toán đóng vai trò kết nối giữa thực tế, toán học và khoa học máy tính, góp phần quan trọng hình thành những kỹ năng cần thiết để sống và làm việc trong các lĩnh vực của giáo dục STEM hiện đại (Stephens, 2018). Nhận thức được tầm quan trọng của thuật toán đối với sự phát triển của khoa học và công nghệ hiện đại, gần đây nhiều nước phát triển đã tích hợp các yếu tố thuật toán vào chương trình và sách giáo khoa môn toán, từ bậc tiểu học đến bậc trung học phổ thông (MEN, 2016; VCAA, 2017; Stephens, 2018; MEXT, 2018). Mặc dù đã có nhiều bài viết viết về thuật toán và tư duy thuật toán nhưng phần lớn các bài viết này đều chỉ xem thuật toán, tư duy thuật toán là một công cụ để giải quyết các vấn đề khác chứ không xem nó như là một đối tượng để nghiên cứu. Bên cạnh đó, hàm số là một chủ đề mà học sinh được học trong suốt các năm học ở phổ thông. Hàm số là một công cụ rất hữu ích trong việc giải quyết các vấn đề liên quan đến đại số, hình học cũng như các vấn đề thực tế. Vì vậy, việc tích hợp các yếu tố thuật toán vào dạy học hàm số ở phổ thông vừa có tác dụng trong việc phát triển tư duy thuật toán của học sinh, vừa có tác dụng trong việc đưa ra những cách thể hiện khác của hàm số. Điều này sẽ làm cho việc học của các em có ý nghĩa và thú vị hơn. Mục tiêu cụ thể của bài báo này là phân tích các bài toán tích hợp một số yếu tố thuật toán và lập trình vào dạy học hàm số ở lớp 10 phổ thông; những ưu điểm và khó khăn của học sinh trong tình huống học tập hàm số có tích hợp các yếu tố thuật toán và khó khăn của giáo viên khi dạy học các tình huống về hàm số có tích hợp các yếu tố thuật toán. 2. TỔNG QUAN CÁC NGHIÊN CỨU VỀ DẠY HỌC THUẬT TOÁN VÀ LẬP TRÌNH Gần đây, nhiều nước trên thế giới như Pháp, Anh, Úc, Nhật... đã bắt đầu chú ý đến tích hợp các yếu tố thuật toán và lập trình vào chương trình môn toán, từ tiểu học đến trung học phổ thông (MEN, 2016; VCAA, 2017; Stephens, 2018; MEXT, 2018). Chẳng hạn, chương trình toán phổ thông của Anh (Stephens, 2018) đã đưa vào các yếu tố thuật toán và lập trình nhằm trang bị cho học sinh tư duy máy tính (computational thinking), bao gồm trừu tượng hóa, logic, thuật toán và 263
  2. TRƯỜNG ĐẠI HỌC SƯ PHẠM, ĐẠI HỌC HUẾ | HTKH 2019 biểu diễn dữ liệu. Ở Nhật Bản, từ năm 2020, Bộ Giáo dục sẽ đưa vào phần thuật toán và lập trình như là một nội dung bắt buộc đối với tất cả học sinh tiểu học, và sẽ được áp dụng cho bậc trung học cơ sở và trung học phổ thông tương ứng vào năm 2021 và 2022 (MEXT, 2018). Ở Úc, chương trình toán phổ thông quốc gia đã đưa vào phần Công nghệ số triển khai cho tất cả các bang. Cụ thể, bang Victoria (VCAA, 2017; Stephens, 2018) đã đưa các yếu tố tư duy thuật toán vào trong chương trình toán phổ thông của bang. Mục tiêu là cho học sinh thấy cách tư duy logic khi giải quyết các bài toán, để làm quen với kiểu tư duy tựa máy tính, phân chia một hệ thống phức tạp, một vấn đề thành các bước trung gian nhỏ hơn để phát triển một tiếp cận mang tính cấu trúc để giải quyết một vấn đề. Tính linh hoạt là một đặc trưng của kiểu tư duy thuật toán, so với kiểu tư duy thử sai hay phỏng đoán. Học sinh được dạy cách biểu diễn các thuật toán theo ngôn ngữ tự nhiên thông thường, hoặc dưới dạng sơ đồ mũi tên, hoặc dưới dạng một ngôn ngữ lập trình đơn giản. Dần dần, tư duy thuật toán sẽ hình thành, phát triển một cách tự nhiên và hỗ trợ việc học toán ở cấp Tiểu học và Trung học cơ sở. Ở Pháp, kể từ năm 2009, chương trình môn toán bậc trung học phổ thông của Pháp đã đưa vào các yếu tố thuật toán và lập trình (MEN, 2016). Gần đây, chương trình (MEN, 2016) đã điều chỉnh với sự chú ý đến việc tích hợp các hoạt động liên quan đến thuật toán và lập trình vào dạy học toán ở phổ thông. Việc dạy học tích hợp này có hai mục tiêu đồng thời: thúc đẩy việc dạy học các khái niệm toán học trong một ngữ cảnh khác, và phát triển ở học sinh các năng lực như phân chia nhiệm vụ để giải quyết vấn đề, khái quát hoá, nhận ra quy luật, tư duy logic. Một số tác giả cũng đã nghiên cứu tích hợp các yếu tố thuật toán và lập trình vào thực hành dạy học toán ở phổ thông. Chẳng hạn, Nguyen & Bessot (2010) đã tiến hành một phân tích so sánh thể chế về việc giới thiệu các yếu tố thuật toán trong chương trình và sách giáo khoa môn toán ở Pháp và Việt Nam. Sau đó, các tác giả này đã thực nghiệm một đồ án dạy học các yếu tố thuật toán dựa trên hỗ trợ của máy tính cầm tay Alpro. Tuy nhiên, nghiên cứu này chỉ tập trung vào chương trình và sách giáo khoa môn toán những năm 2000 ở Việt Nam và chương trình môn toán phổ thông cũ (trước 2009) của Pháp. Fan & Bokkhove (2014) bàn luận về vị trí và vai trò của thuật toán trong toán học nhà trường. Các tác giả đã điểm qua những quan niệm về thuật toán cũng như mối quan hệ giữa thuật toán, kiến thức quy trình, kiến thức khái niệm và quá trình hiểu khái niệm toán của học sinh. Sau đó, các tác giả đề xuất một mô hình dạy học thuật toán tập trung vào việc phát triển nhận thức ở học sinh. Trong luận án tiến sĩ của mình, Modeste (2013) cũng đã đề cập đến việc giới thiệu các yếu tố thuật toán trong chương trình và sách giáo khoa môn toán hiện hành ở Pháp. Nghiên cứu tập trung vào phân tích tri thức luận về khái niệm thuật toán, sau đó thiết kế các tình huống dạy học thuật toán. Lac & More (2017) tập trung nghiên cứu các năng lực nào của học sinh cần được đánh giá trong khi dạy học thuật toán ở Pháp. Các tác giả đã đề xuất được những năng lực liên quan đến thuật toán cần được phát triển cho học sinh trong quá trình dạy học. Một số quan điểm trước đây thường cho rằng tư duy thuật toán hay kiến thức quy trình mang tính lập lại các bước đơn giản nên không thúc đẩy tính sáng tạo của học sinh. Quan niệm này chưa thể hiện việc hiểu đúng bản chất của tư duy thuật toán, và hiện đã không còn phù hợp (Fan & Bokhove, 2014). Thật vậy, tư duy thuật toán là tư duy về các chiến lược giải quyết vấn đề, và tìm ra chiến lược giải quyết vấn đề tối ưu nhất. Vì vậy, học sinh không chỉ phải tìm ra thuật giải, mà còn xem xét tính hiệu quả của thuật giải, khả năng thay đổi, khái quát hóa thuật giải và tìm ra thuật giải tối ưu. Quá trình tư duy như vậy chứa đựng tiềm năng để phát triển khả năng giải quyết vấn đề hiệu quả cũng như thúc đẩy việc tìm tòi, sáng tạo ở học sinh. 264
  3. HỘI THẢO KHOA HỌC QUỐC GIA CÁC NHÀ NGHIÊN CỨU TRẺ | 11/2019 Ở Việt Nam, gần đây Nguyễn Thụy Việt Anh (2018) đã đề xuất một khung nội dung có thể phân tích được những đặc trưng của việc tích hợp các yếu tố thuật toán vào sách giáo khoa môn toán. Tác giả đã đưa ra được một khung nội dung gồm năm thành tố là ngữ cảnh, cấu trúc hình thức của thuật toán, vai trò của thuật toán, mức độ tích hợp, và yêu cầu về nhận thức. Tuy nhiên, nghiên cứu này chỉ mới dừng lại ở mức độ phân tích chương trình và sách giáo khoa về khả năng tích hợp thuật toán và lập trình vào môn toán. Nhìn chung, nghiên cứu tích hợp các yếu tố thuật toán và lập trình vào dạy học toán ở phổ thông để phát triển tư duy thuật toán cho học sinh vẫn còn là vấn đề mới và có tính thời sự, đặc biệt trong bối cảnh thay đổi nhanh chóng của công nghệ giáo dục hiện nay. 3. THIẾT KẾ NGHIÊN CỨU Chúng tôi thiết kế một thực nghiệm dạy học hàm số ở lớp 10 có tích hợp các yếu tố thuật toán và lập trình. Thực nghiệm được tiến hành trên học sinh lớp 10 của Trường Trung học phổ thông Cao Thắng ở thành phố Huế. Quy trình thực nghiệm như sau: Pha 1. Giới thiệu vấn đề và giao nhiệm vụ. Giáo viên nhắc lại về khái niệm hàm số, khái niệm thuật toán và các kiến thức liên quan. Sau đó, giáo viên giao nhiệm vụ cho các nhóm học sinh. Các nhóm học sinh thực hiện nhiệm vụ trên phiếu học tập. Pha 2. Học sinh hoạt động nhóm. Học sinh tiến hành giải quyết các bài toán theo nhóm có 3 học sinh, các nhóm hoạt động độc lập. Khi học sinh hoạt động nhóm đến Câu hỏi 2 của Bài toán 2, giáo viên giới thiệu phần mềm Scratch trên màn hình chiếu. Pha 3. Thảo luận tập thể. Giáo viên thu phiếu học tập và hướng dẫn các nhóm tìm ra câu trả lời cho các bài toán trong phiếu học tập. Pha 4. Học sinh trả lời các câu hỏi trong Bảng hỏi. Công cụ nghiên cứu là phiếu học tập chứa đựng các bài toán và bảng hỏi. Do yêu cầu hạn chế về số trang của bài báo, chúng tôi chỉ trình bày hai bài toán trong phiếu học tập và phân tích tiên nghiệm. Bài toán 1. Cho các thuật toán sau: Thuật toán A Thuật toán B  Chọn một số  Chọn một số  Bình phương số đó  Lấy nghịch đảo số đó (nếu tồn tại)  Rồi cộng thêm 3  Rồi trừ đi 3  Sau đó nhân kết quả trên với 2  Hiển thi kết quả cuối cùng  Hiển thị kết quả cuối cùng 1) Đối với mỗi thuật toán, xác định giá trị đầu ra (nếu có) tương ứng với mỗi giá trị đầu vào sau: 1 4 2;  1; 0; ; . 3 5 2) Mỗi thuật toán trên xác định tương ứng một hàm số. Ý kiến của em thế nào về khẳng định này? Giải thích. 3) Hãy đưa ra công thức của hàm số tương ứng với mỗi thuật toán, và chỉ ra tập xác định của mỗi hàm số đó. 4) Với mỗi thuật toán ở trên, hãy tìm giá trị đầu vào (nếu có) tương ứng với mỗi giá trị đầu ra lần lượt là 0 và 4. Giải thích cách tìm. 265
  4. TRƯỜNG ĐẠI HỌC SƯ PHẠM, ĐẠI HỌC HUẾ | HTKH 2019 Bài toán này được thiết kế nhằm giúp học sinh củng cố những khái niệm cơ bản của hàm số thông qua các yếu tố thuật toán và thấy được rằng một thuật toán có thể là một cách biểu đạt của khái niệm hàm số. Giá trị đầu vào, đầu ra của thuật toán tương ứng với các khái niệm biến, giá trị hàm của hàm số. Bài toán 2. Một khách hàng có hai cách lựa chọn để thuê một phòng cho kỳ nghỉ của mình như sau: Cách A : tiền thuê cố định 250 €, cộng thêm 10 € tiền phí cho mỗi ngày thuê. Cách B: tiền thuê cố định 300 €, cộng thêm 5 € cho mỗi ngày thuê. 1) Nên thuê phòng nghỉ theo cách nào sẽ có lợi nhất nếu như thời gian thuê là một tuần? 12 ngày? 2) Đối với mỗi cách thuê, hãy biểu diễn số tiền thuê phòng phải trả theo số lượng ngày ở N. 3) Tổng quát, khách hàng muốn biết được cách thuê nào là có lợi nhất, tính theo số lượng ngày thuê. Người ta đưa ra các thuật toán sau. Hãy cho biết thuật toán nào là đúng? Giải thích. Thuật toán 1 Thuật toán 2 Thuật toán 3 BIẾN: BIẾN: BIẾN: N, A, B: số nguyên; N, A, B: số nguyên; N, D: số nguyên; BẮT ĐẦU BẮT ĐẦU BẮT ĐẦU Nhập N; Nhập N; Nhập N; A: = 250 + 10 x N; A: = 250 + 10 x N; D: = 5 x N – 50; B: = 300 + 5 x N; B: = 300 + 5 x N; Nếu D > 0 thì Hiển thị Nếu A
  5. HỘI THẢO KHOA HỌC QUỐC GIA CÁC NHÀ NGHIÊN CỨU TRẺ | 11/2019 Đối với bài toán 1, phân tích dữ liệu thực nghiệm cho thấy nhìn chung học sinh đọc hiểu được thuật toán đơn giản, xác định được yêu cầu của bài toán có tích hợp thuật toán, biết được kết quả của bước liền trước là giá trị đầu vào của bước liền sau. Các em học sinh đã tính toán theo quy trình của từng thuật toán một và được kết quả như hình trên. Một ưu điểm nổi bật trong này là các em học sinh nhận ra với giá trị đầu vào là 0 thì Thuật toán B không có giá trị đầu ra. Một số em học sinh khác đã nêu rõ được qua từng bước thực hiện thì giá trị đầu ra của từng bước là bao nhiêu. Tuy nhiên các em này chưa lưu ý với giá trị đầu vào 0 của Thuật toán B dẫn đến kết luận sai giá trị đầu ra trong trường hợp này. Học sinh biết được mối liên hệ giữa hàm số và thuật toán: mỗi hàm số cho trước có thể xác định tương ứng một thuật toán và mỗi thuật toán cho trước cũng có thể xác định tương ứng một hàm số. Các em học sinh đưa ra được nhận xét về đặc điểm của giá trị đầu vào và giá trị đầu ra của hai thuật toán A và B, liên hệ chúng với định nghĩa hàm số và đưa ra được công thức hàm số biểu thị sự phụ thuộc của giá trị đầu ra vào giá trị đầu vào như sau: Dựa vào công thức này, học sinh có thể tìm ngược lại giá trị đầu vào khi đã biết được giá trị đầu ra như sau: 267
  6. TRƯỜNG ĐẠI HỌC SƯ PHẠM, ĐẠI HỌC HUẾ | HTKH 2019 Bài toán 2 đề cập đến một tình huống học tập hàm số thực tế, có tích hợp các yếu tố thuật toán và lập trình. Học sinh đã trả lời được như sau: Nhóm học sinh này đưa ra được cách tính tiền thuê nhà trong hai trường hợp bằng cách tính trực tiếp từ lời dẫn của bài toán, so sánh được số tiền thuê nhà theo cách nào nhỏ hơn và đưa ra được kết luận. Tuy nhiên, vẫn có trường hợp học sinh hiểu nhầm đề dẫn đến xác định sai cách tính như sau: Học sinh hiểu nhầm răng mỗi ngày vừa phải trả 250€ cộng thêm 10€ tức là tốn 260€ một ngày cho cách tính A và tương ứng 305€ một ngày cho cách tính B. Một số học sinh đã biết đánh giá được tính đúng đắn của một thuật toán cho trước. Cụ thể, với yêu cầu xác định thuật toán nào đúng, học sinh đã đưa ra câu trả lời như sau: Tuy nhiên, vẫn còn một số em học sinh chỉ đưa ra được lựa chọn của mình mà không giải thích được theo cách hiểu của bản thân mà lại trình bày lại thuật toán. Điều này cho thấy học sinh gặp khó khăn trong việc đọc hiểu thuật toán viết bằng ngôn ngữ lập trình. Hơn nữa, giáo viên mong đợi học sinh chọn được thuật toán 3 cũng là thuật toán đúng nhưng các em không nhận ra được mối liên hệ giữa biến phụ được cho thêm trong thuật toán với hai biến còn lại dẫn đến việc không nhận thấy ý nghĩa của thuật toán 3 này. Việc lập trình thuật toán trên phần mềm Scratch, học sinh tỏ ra thích thú với việc làm việc trên phần mềm này. Tuy nhiên, không phải nhóm học sinh nào cũng thực hiện được thuật toán 268
  7. HỘI THẢO KHOA HỌC QUỐC GIA CÁC NHÀ NGHIÊN CỨU TRẺ | 11/2019 này trên phần mềm Scratch, các em gặp khó khăn khi phải áp dụng điều kiện Nếu... thì..., chưa biết cách sắp xếp sao cho hợp lý. 5. KẾT LUẬN Nghiên cứu này là một bước thử nghiệm ban đầu về việc tích hợp thuật toán và lập trình vào dạy học hàm số ở lớp 10 phổ thông. Nghiên cứu cho thấy toán học nói chung và hàm số nói riêng là ngữ cảnh rất thuận lợi và có nhiều tiềm năng để tích hợp các yếu tố thuật toán và lập trình. Ngoài ra, việc tích hợp như vậy cũng có tác dụng làm phong phú thêm ngữ cảnh và ý nghĩa của khái niệm hàm số, thúc đẩy tư duy thuật toán và tư duy lôgic ở học sinh. Kết quả nghiên cứu ban đầu cho thấy tính khả thi của việc tích hợp các yếu tố thuật toán và lập trình vào dạy học hàm số ở lớp 10. Nhiều bài toán về hàm số được chúng tôi thiết kế lại theo hướng có tích hợp thuật toán và lập trình. Thực nghiệm cho thấy học sinh có thể đọc hiểu các nhiệm vụ toán gắn với các yếu tố thuật toán đơn giản, có thể dựa trên thuật toán để xác định hàm số tương ứng và các đại lượng liên quan như biến, giá trị hàm, tập xác định… Học sinh tham gia thực nghiệm cũng cho thấy khả năng làm việc với các tình huống tích hợp thuật toán ở mức độ cao hơn. Ngoài ra, học sinh cũng cảm thấy hứng thú khi làm việc trên phần mềm Scratch để thực hiện các thuật toán đưa ra. Tuy nhiên, do việc tích hợp thuật toán và lập trình vào dạy học toán nói chung và dạy học hàm số nói riêng là vấn đề mới, nhiều học sinh vẫn còn gặp khó khăn. Chúng tôi nhận thấy khó khăn đến từ việc đọc, hiểu thuật toán, cũng như liên kết với khái niệm hàm số và các khái niệm liên quan. Tư duy liên kết lôgic giữa các bước để giải quyết vấn đề của học sinh vẫn còn hạn chế. Nghiên cứu này chỉ là bước khởi đầu cho một nghiên cứu lâu dài hơn của chúng tôi về việc tích hợp các yếu tố thuật toán và lập trình vào thực hành dạy học toán ở phổ thông, với mục tiêu tổng quát là phát triển năng lực tuy duy thuật toán và tư duy lôgic cho học sinh. Kết quả nghiên cứu này là nền tảng để chúng tôi phát triển các nghiên cứu thực nghiệm tiếp theo, liên quan đến nhiều chủ đề khác nhau của toán học phổ thông. TÀI LIỆU THAM KHẢO [1] Nguyễn Thụy Việt Anh (2018). Tích hợp các yếu tố thuật toán và lập trình vào chương trình và sách giáo khoa môn toán: trường hợp nước Pháp. Luận văn Thạc sĩ khoa học giáo dục, Trường Đại học Sư phạm, Đại học Huế. [2] Fan, L., & Bokhove, C. (2014). Rethinking the role of algorithms in school mathematics: a conceptual model with focus on cognitive development, ZDM - The International Journal on Mathematics Education, 46, 481-492. [3] Lac, P., & More, M. (2017). L’évaluation de l’algorithmique dans l’enseignement des mathématiques au lycée. REPERES - IREM, 106, 5-26. 269
  8. TRƯỜNG ĐẠI HỌC SƯ PHẠM, ĐẠI HỌC HUẾ | HTKH 2019 [4] MEN (Ministère de l’Education Nationale, France, 2016). Algorithmique et programmation. Retrieved from: http://cache.media.eduscol.education.fr/file/Mathematiques/73/3/Algorithmique_et_programm ation_787733.pdf. [5] MEXT (Ministry of Education, Culture, Sport, Science, and Technology, Japan, 2018). Elementary school programming education guide (1st edition). Retrieved from: http://www.mext.go.jp/component/a_menu/education/micro_detail/_icsFiles/afieldfile/2018/0 3/30/1403162_01.pdf. [6] Modeste, S. (2013). Enseigner l’algorithme pour quoi ? Quelles nouvelles questions pour les mathématiques ? Quels apports pour l’apprentissage de la preuve ? Thèse de doctorat, Université de Grenoble. [7] Morrow, L. J., & Kenney, M. J. (1998). The Teaching and Learning of Algorithms in School Mathematics, Reston, VA: NCTM. [8] Nguyen, C. T., & Bessot, A. (2010). Introduire des éléments d'algorithmique et de programmation dans l'enseignement secondaire ? Une ingénierie didactique. Petit x, 83. 27-49. [9] Stephens, M. (2018). Developing algorithmic thinking in the primary and junior secondary years. In Hsieh, F.-J. (Ed.), Proceedings of the 8th ICMI-East Asia Regional Conference on Mathematics Education (pp. 350-362), Vol 2, Taipei, Taiwan: EARCOME. [10] VCAA (Victorian Curriculum and Assessment Authority, 2017). Victorian Curriculum: Mathematics Foundation – 10. Retrieved from: [11] http://victoriancurriculum.vcaa.vic.edu.au/mathematics/curriculum/f-10. Title: INTEGRATING ALGORITHMS AND PROGRAMMING INTO THE TEACHING OF FUNCTIONS AT UPPER SECONDARY SCHOOL Abstract: Today, algorithmic and logical thinking play an important role, especially in the field of STEM education. Many high school mathematics programs have focused on integrating algorithms and programming into mathematics teaching. This paper presents an experiment aiming at integrating algorithms and programming into the teaching of functions at upper secondary level. The primary results confirm the feasibility and potential of the integration of algorithms and programming into the practices of teaching mathematics. Keywords: Algorithm, algorithmic thinking, function, integration. 270
nguon tai.lieu . vn