Tổng quan nghiên cứu

Trong bối cảnh cuộc cách mạng công nghiệp lần thứ tư và sự phát triển mạnh mẽ của công nghệ thông tin, việc trang bị kỹ năng lập trình cho học sinh phổ thông trở thành một yêu cầu cấp thiết. Tại Việt Nam, theo báo cáo của ngành giáo dục năm học 2021-2022 tại Hà Nội, môn Tin học đã trở thành môn học bắt buộc trong nhà trường phổ thông, tuy nhiên kỹ năng lập trình của học sinh còn nhiều hạn chế. Thực tế cho thấy, đa số học sinh THPT chưa thành thạo các kỹ năng lập trình cơ bản, phần lớn do môn Tin học bị xem là môn “phụ”, thiếu sự đầu tư về chuyên môn và cơ sở vật chất. Mục tiêu nghiên cứu của luận văn là xây dựng một hệ thống bài tập lập trình trên ngôn ngữ Python phù hợp với học sinh phổ thông, nhằm nâng cao hiệu quả dạy và học lập trình theo chương trình cải cách giáo dục phổ thông năm 2018. Phạm vi nghiên cứu tập trung vào học sinh phổ thông tại các trường THPT trên địa bàn Hà Nội trong giai đoạn 2021-2022. Việc xây dựng hệ thống bài tập lập trình không chỉ giúp học sinh phát triển tư duy thuật toán, kỹ năng giải quyết vấn đề mà còn góp phần định hướng nghề nghiệp trong lĩnh vực công nghệ thông tin, đồng thời hỗ trợ giáo viên trong việc đổi mới phương pháp giảng dạy, nâng cao chất lượng môn Tin học.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Luận văn dựa trên hai khung lý thuyết chính: lý thuyết về giáo dục STEM và mô hình phát triển năng lực tin học cho học sinh phổ thông. Giáo dục STEM (Khoa học, Công nghệ, Kỹ thuật và Toán học) nhấn mạnh vai trò của Tin học như một công nghệ nền tảng, giúp kết nối các môn học khác và phát huy sáng tạo của học sinh. Mô hình phát triển năng lực tin học được xây dựng dựa trên năm thành phần năng lực: sử dụng và quản lý công nghệ thông tin, ứng xử phù hợp trong môi trường số, giải quyết vấn đề với sự hỗ trợ của công nghệ, ứng dụng công nghệ trong học tập và hợp tác trong môi trường số. Các khái niệm chuyên ngành được sử dụng bao gồm: ngôn ngữ lập trình Python, cấu trúc dữ liệu (list, string, file), chương trình con (hàm), thuật toán sắp xếp và tìm kiếm, môi trường phát triển tích hợp (IDE) IDLE Python.

Phương pháp nghiên cứu

Nguồn dữ liệu chính được thu thập từ khảo sát thực trạng dạy học lập trình tại các trường THPT trên địa bàn Hà Nội, tài liệu chương trình môn Tin học theo khung CT2018, cùng các tài liệu chuyên ngành về ngôn ngữ Python và phương pháp dạy học lập trình. Phương pháp phân tích bao gồm phân tích định tính về nội dung chương trình, khảo sát thực trạng và đánh giá nhu cầu, đồng thời áp dụng phương pháp thiết kế hệ thống bài tập dựa trên các tiêu chí khoa học, sư phạm và phù hợp với năng lực học sinh phổ thông. Cỡ mẫu khảo sát khoảng 10 trường THPT với trung bình 45-50 học sinh/lớp, thời gian nghiên cứu kéo dài từ tháng 9/2021 đến tháng 6/2022. Quá trình xây dựng hệ thống bài tập được thực hiện theo các bước: xác định yêu cầu, thiết kế nội dung bài tập, thử nghiệm và hiệu chỉnh dựa trên phản hồi của giáo viên và học sinh.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

  1. Thực trạng dạy lập trình tại các trường THPT: Khoảng 70% giáo viên Tin học chưa được đào tạo chuyên sâu về lập trình Python, dẫn đến việc giảng dạy còn hạn chế và chưa đồng bộ. Hơn 60% học sinh chưa có kỹ năng lập trình cơ bản, đặc biệt trong việc sử dụng cấu trúc dữ liệu và viết chương trình con.

  2. Lựa chọn ngôn ngữ lập trình Python: Python được đánh giá cao về tính đơn giản, phổ biến và chuyên nghiệp, phù hợp với học sinh phổ thông. So với Pascal và Java, Python giúp học sinh dễ tiếp cận hơn với các khái niệm lập trình cơ bản, với tỷ lệ học sinh đạt yêu cầu kỹ năng lập trình tăng khoảng 25% sau khi chuyển sang học Python.

  3. Hiệu quả của hệ thống bài tập lập trình xây dựng: Hệ thống bài tập được thiết kế theo 6 nhóm nội dung chính, bao gồm kiểu dữ liệu đơn giản, danh sách, xâu ký tự, tệp, chương trình con và thuật toán sắp xếp, tìm kiếm. Qua thử nghiệm tại 3 trường THPT, tỷ lệ học sinh hoàn thành bài tập đúng yêu cầu đạt khoảng 80%, tăng 30% so với trước khi áp dụng hệ thống.

  4. Ứng dụng công nghệ hỗ trợ dạy học: Việc sử dụng môi trường phát triển IDLE Python và ứng dụng E-learning giúp tăng tính tương tác và hỗ trợ học sinh tự học, với 85% học sinh đánh giá tích cực về tính tiện lợi và dễ sử dụng của hệ thống.

Thảo luận kết quả

Nguyên nhân chính của thực trạng hạn chế trong dạy học lập trình là do thiếu hụt giáo viên chuyên môn và cơ sở vật chất chưa đồng bộ, điều này phù hợp với các nghiên cứu trước đây về giáo dục Tin học phổ thông. Việc lựa chọn Python làm ngôn ngữ dạy học đã khắc phục được nhiều nhược điểm của Pascal, giúp học sinh phát triển tư duy thuật toán và kỹ năng lập trình một cách hiệu quả hơn. Kết quả thử nghiệm hệ thống bài tập cho thấy sự phù hợp với năng lực học sinh phổ thông, đồng thời hỗ trợ giáo viên trong việc thiết kế bài giảng và đánh giá kết quả học tập. Các biểu đồ so sánh tỷ lệ hoàn thành bài tập trước và sau khi áp dụng hệ thống bài tập Python minh họa rõ sự cải thiện đáng kể. So với các nghiên cứu quốc tế, kết quả này tương đồng với xu hướng sử dụng Python trong giáo dục phổ thông nhằm nâng cao năng lực lập trình cho học sinh. Ý nghĩa của nghiên cứu nằm ở việc cung cấp một công cụ hỗ trợ giảng dạy lập trình Python có tính khoa học, sư phạm và thực tiễn, góp phần nâng cao chất lượng giáo dục Tin học phổ thông tại Việt Nam.

Đề xuất và khuyến nghị

  1. Tăng cường đào tạo chuyên môn cho giáo viên Tin học: Tổ chức các khóa bồi dưỡng chuyên sâu về ngôn ngữ Python và phương pháp dạy học lập trình hiện đại, nhằm nâng cao năng lực giảng dạy và khả năng ứng dụng công nghệ thông tin trong nhà trường. Mục tiêu đạt 80% giáo viên Tin học được đào tạo trong vòng 1 năm, do Sở Giáo dục và Đào tạo chủ trì.

  2. Phát triển và phổ biến hệ thống bài tập lập trình Python: Triển khai rộng rãi hệ thống bài tập đã xây dựng tại các trường THPT trên toàn quốc, đồng thời cập nhật, bổ sung nội dung phù hợp với chương trình cải cách giáo dục. Thời gian thực hiện trong 2 năm, phối hợp giữa Bộ Giáo dục và các đơn vị phát triển phần mềm giáo dục.

  3. Cải thiện cơ sở vật chất và môi trường học tập: Đầu tư nâng cấp phòng máy tính, đảm bảo mỗi học sinh có máy tính riêng để thực hành lập trình, đồng thời trang bị phần mềm IDLE Python và kết nối Internet ổn định. Mục tiêu hoàn thành trong 3 năm, do các trường và địa phương phối hợp thực hiện.

  4. Ứng dụng công nghệ E-learning hỗ trợ dạy và học lập trình: Xây dựng nền tảng học tập trực tuyến tích hợp hệ thống bài tập, tài liệu hướng dẫn và công cụ đánh giá tự động, giúp học sinh có thể học tập linh hoạt và giáo viên dễ dàng quản lý tiến độ. Thời gian triển khai trong 1 năm, do các đơn vị công nghệ giáo dục phối hợp với nhà trường.

Đối tượng nên tham khảo luận văn

  1. Giáo viên Tin học phổ thông: Nắm bắt kiến thức chuyên sâu về ngôn ngữ Python và phương pháp xây dựng bài tập lập trình phù hợp với học sinh, từ đó nâng cao hiệu quả giảng dạy và đổi mới phương pháp.

  2. Nhà quản lý giáo dục và Sở Giáo dục và Đào tạo: Sử dụng kết quả nghiên cứu để hoạch định chính sách đào tạo giáo viên, đầu tư cơ sở vật chất và phát triển chương trình đào tạo Tin học phổ thông.

  3. Sinh viên và nghiên cứu sinh ngành Công nghệ thông tin, Giáo dục: Tham khảo mô hình xây dựng hệ thống bài tập lập trình và phương pháp nghiên cứu ứng dụng trong giáo dục, phục vụ cho các đề tài nghiên cứu và phát triển phần mềm giáo dục.

  4. Phát triển phần mềm giáo dục và các tổ chức đào tạo lập trình: Áp dụng các nội dung và giải pháp công nghệ trong luận văn để thiết kế các sản phẩm phần mềm hỗ trợ học tập lập trình Python cho học sinh phổ thông.

Câu hỏi thường gặp

  1. Tại sao chọn Python làm ngôn ngữ lập trình cho học sinh phổ thông?
    Python có cú pháp đơn giản, dễ hiểu, hỗ trợ đa mô hình lập trình và có cộng đồng người dùng rộng lớn. Điều này giúp học sinh dễ dàng tiếp cận và phát triển kỹ năng lập trình cơ bản, đồng thời Python cũng được sử dụng rộng rãi trong các lĩnh vực công nghệ hiện đại.

  2. Hệ thống bài tập lập trình được xây dựng như thế nào để phù hợp với học sinh phổ thông?
    Hệ thống bài tập được phân chia thành 6 nhóm nội dung chính, từ các kiểu dữ liệu đơn giản đến thuật toán sắp xếp và tìm kiếm, đảm bảo tính khoa học và sư phạm. Bài tập được thiết kế theo mức độ tăng dần về độ khó, giúp học sinh phát triển tư duy thuật toán và kỹ năng giải quyết vấn đề.

  3. Làm thế nào để giáo viên có thể áp dụng hệ thống bài tập này trong giảng dạy?
    Giáo viên có thể sử dụng hệ thống bài tập như tài liệu tham khảo để xây dựng bài giảng, hướng dẫn học sinh thực hành và đánh giá kết quả. Hệ thống cũng hỗ trợ phương pháp dạy học dựa trên dự án và mô hình hóa, giúp tăng tính tương tác và sáng tạo trong lớp học.

  4. Yêu cầu về cơ sở vật chất để triển khai dạy lập trình Python là gì?
    Cần đảm bảo mỗi học sinh có máy tính riêng với cấu hình đủ để chạy môi trường IDLE Python, phòng máy tính có kết nối Internet ổn định và phần mềm hỗ trợ được cài đặt đầy đủ. Ngoài ra, việc ứng dụng E-learning cũng giúp tăng cường hiệu quả học tập.

  5. Hệ thống bài tập có hỗ trợ đánh giá tự động không?
    Hiện tại hệ thống bài tập được thiết kế để giáo viên có thể đánh giá thủ công dựa trên kết quả thực thi chương trình của học sinh. Tuy nhiên, đề xuất phát triển thêm các công cụ đánh giá tự động tích hợp trong nền tảng E-learning nhằm nâng cao hiệu quả quản lý và phản hồi nhanh chóng.

Kết luận

  • Luận văn đã khảo sát thực trạng dạy học lập trình tại các trường THPT, chỉ ra những hạn chế về chuyên môn giáo viên, cơ sở vật chất và tài liệu giảng dạy.
  • Đã lựa chọn ngôn ngữ lập trình Python phù hợp với học sinh phổ thông dựa trên các tiêu chí đơn giản, phổ biến và chuyên nghiệp.
  • Xây dựng thành công hệ thống bài tập lập trình Python gồm 6 nhóm nội dung, phù hợp với chương trình cải cách giáo dục phổ thông năm 2018.
  • Thử nghiệm hệ thống bài tập tại một số trường THPT cho thấy hiệu quả tích cực trong việc nâng cao kỹ năng lập trình của học sinh.
  • Đề xuất các giải pháp đào tạo giáo viên, cải thiện cơ sở vật chất và ứng dụng công nghệ E-learning để triển khai rộng rãi hệ thống bài tập, góp phần nâng cao chất lượng giáo dục Tin học phổ thông.

Tiếp theo, cần triển khai đào tạo giáo viên và phổ biến hệ thống bài tập trên quy mô rộng hơn, đồng thời phát triển các công cụ hỗ trợ đánh giá tự động. Mời các nhà quản lý giáo dục, giáo viên và các đơn vị phát triển phần mềm giáo dục cùng phối hợp để hiện thực hóa các đề xuất này, góp phần nâng cao năng lực lập trình cho thế hệ học sinh phổ thông Việt Nam.