chương 1 luận văn sẽ tiến hành khảo sát thực trạng dạy lập trình cho học sinh phổ thông tại Việt Nam và tổng quan về chương trình môn tin học theo khung chương trình mới ban hành cải cách năm 2018. Luận văn sẽ khảo sát các yêu cầu về dạy lập trình đối với học sinh phổ thông và phân tích lựa chọn ngôn ngữ lập trình phù hợp cho học sinh phổ thông.1 Thực trạng dạy lập trình cho học sinh phổ thông tại Việt Nam. Theo chƣơng trình hiện hành, học sinh phổ thông chỉ học lập trình Pascal ở lớp 11. Ở cấp trung học cơ sở, học sinh chỉ học lập trình Pascal khi tham gia các câu lạc bộ.
Tuy nhiên, môn Tin học nói chung và dạy lập trình nói riêng ở cấp THPT là môn “siêu phụ”. Giáo viên Tin học chỉ đƣợc coi là giáo viên loại 2. Gọi là “siêu phụ” vì theo kiểu “so sánh” hay có ở Việt Nam, “Tin học” còn “phụ” hơn cả các môn Sinh – Sử – Địa. Những môn trên còn có thi tốt nghiệp, thi Đại học.
Trong khi đó, Tin học không đƣợc thi tốt nghiệp, không đƣợc thi Đại học (kể cả vào các khoa CNTT). Chính vì thế, ở cấp THPT, việc dạy và học Tin học đa phần bị buông lỏng, giáo viên muốn dạy nhƣ thế nào cũng đƣợc (đừng cho điểm quá thấp là đƣợc). Về mặt căn bản, học sinh không học đủ, không làm đƣợc những bài tập lập trình rất cơ bản. Giáo viên Tin học có thể phải kiêm nhiệm thêm hàng núi các công việc “vô danh” khác và ít có điều kiện trau dồi chuyên môn.
Chính vì bị coi là môn phụ, tuyệt đại bộ phận phụ huynh đều ngăn cản con học lập trình sớm. Ngay cả tại một số trƣờng chuyên, một trong những vấn đề khó khăn nhất chính là việc thuyết phục phụ huynh cho phép con học lập trình, theo đuổi niềm đam mê. Trong bối cảnh đó, cũng có một vài điểm sáng về dạy và học lập trình cho học sinh phổ thông. Rất nhiều phần mềm đƣợc sáng tạo bởi học sinh đƣợc đánh giá cao trong các kỳ thi khoa học kỹ thuật, tin học trẻ và đƣợc triển khai sử dụng thực tế.
Học sinh phổ thông Việt Nam cũng thƣờng đoạt giải cao trong các kỳ thi Tin học 5 khu vực và quốc tế. Điều đó chứng tỏ hoàn toàn có thể dạy và học lập trình cho học sinh đạt kết quả tốt. Nguyên nhân dẫn đến việc dạy và học lập trình cho học sinh phổ thông thời gian qua chƣa đạt kết quả mong muốn có thể kể ra nhƣ sau. Nguyên nhân về phía giáo viên Giáo viên tin học cấp THPT hiện nay trên địa bàn cả nƣớc xét về mặt bằng chung so với các môn học khác còn thiếu về số lƣợng và yếu về chuyên môn.
Nhiều giáo viên Tin học là các thầy cô không đƣợc đào tạo đúng chuyên ngành sƣ phạm Tin nên còn lúng túng trong giảng dạy môn Tin học, đặc biệt là việc truyền đạt cho học sinh. Với tâm lý là môn học “phụ”, nhiều giáo viên không yêu thích và đam mê giảng dạy môn Tin. Mặt khác, việc phải kiêm nhiệm nhiều công tác khác ngoài chuyên môn nên giáo viên cũng không có nhiều thời gian để đầu tƣ cho soạn giáo án, thiết kế chƣơng trình, đổi mới phƣơng pháp giảng dạy hay tự bồi dƣỡng chuyên môn. Nguyên nhân về phía học sinh Ngoài một số ít học sinh quan tâm và cảm thấy hứng thú với lập trình và công việc lập trình viên thì đa số học sinh chỉ tập trung vào các môn học để thi đại học, thờ ơ hoặc học đối phó với học lập trình.
Do đó kết quả học lập trình chƣa đạt yêu cầu. Bên cạnh đó, số lƣợng học sinh/lớp ở các trƣờng THPT khá cao (trung bình 45 - 50 học sinh) cũng gây khó khăn khi dạy và học lập trình. Nguyên nhân về cơ sở vật chất phục vụ cho dạy và học lập trình Ở một số trƣờng THPT, cơ sở vật chất phục vụ cho dạy và học lập trình còn thiếu và chƣa đồng bộ. Số lƣợng máy tính trong 1 phòng máy chƣa đảm bảo đủ mỗi học sinh 1 máy nên khó khăn cho quá trình thực hành lập trình.
Nhiều MT còn hỏng hoặc cấu hình thấp chƣa đƣợc bảo dƣỡng và thay thế kịp thời. Mặt khác, NNLT Pascal hiện đang dạy cho học sinh không có tính thực tiễn cao nên không gây hứng thú cho học sinh. Các tài liệu hỗ trợ cho dạy và học lập trình nhƣ hệ thống bài tập, hƣớng dẫn thực hành còn thiếu hoặc không đồng bộ. 6 Để đảm bảo tính hiệu quả của quá trình dạy và học lập trình cho học sinh cần từng bƣớc khắc phục các nguyên nhân trên.
Trong luận văn này, học viên sẽ nghiên cứu xây dựng hệ thống bài tập ngôn ngữ lập trình trên Python cho học sinh phổ thông nhằm góp phần nhỏ để khắc phục những tồn tại trên.2 Tổng quan về chƣơng trình môn Tin học theo khung chƣơng trình mới ban hành năm 2018. Năm 2018, Bộ Giáo dục và Đào tạo đã ban hành “Chƣơng trình giáo dục phổ thông – Môn tin học” kèm theo Thông tƣ số 32/2018/TT-BGDĐT, ngày 26 tháng 12 năm 2018 của Bộ trƣởng Bộ Giáo dục và Đào tạo (CT2018) [1]. Trong mục này luận văn sẽ khảo sát tổng quan về CT2018.1 Đặc điểm môn học Giáo dục tin học đóng vai trò chủ đạo trong việc chuẩn bị cho học sinh khả năng tìm kiếm, 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 lần thứ tƣ và toàn cầu hoá. Tin học có ảnh hƣởng lớn đến cách sống, cách suy nghĩ và hành động của con ngƣời, là công cụ hiệu quả hỗ trợ biến việc học thành tự học suốt đời [1].
Môn Tin học giúp học sinh thích ứng và hoà nhập đƣợc với xã hội hiện đại, hình thành và phát triển cho học sinh năng lực tin học để học tập, làm việc và 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. Nội dung môn Tin học phát triển ba mạch kiến thức hoà quyện: Học vấn số hoá phổ thông (DL), Công nghệ thông tin và truyền thông (ICT), Khoa học máy tính (CS) và đƣợc phân chia theo hai giai đoạn: - Giai đoạn giáo dục cơ bản: Môn Tin học giúp học sinh hình thành và phát triển khả năng sử dụng công cụ kĩ thuật số, làm quen và sử dụng Internet; bƣớc đầu hình thành và phát triển tƣ duy giải quyết vấn đề với sự hỗ trợ của máy tính và hệ thống máy tính; hiểu và tuân theo các nguyên tắc cơ bản trong trao đổi và chia sẻ thông tin. 7 Ở cấp tiểu học, chủ yếu học sinh học sử dụng các phần mềm đơn giản hỗ trợ học tập và sử dụng thiết bị tin học tuân theo các nguyên tắc giữ gìn sức khoẻ, đồng thời bƣớc đầu đƣợc hình thành tƣ duy giải quyết vấn đề có sự hỗ trợ của máy tính. Ở cấp trung học cơ sở, học sinh học cách sử dụng, khai thác các phần mềm thông dụng để làm ra sản phẩm số phục vụ học tập và đời sống; thực hành phát hiện và giải quyết vấn đề một cách sáng tạo với sự hỗ trợ của công cụ và các hệ thống tự động hoá của công nghệ kĩ thuật số; học cách tổ chức lƣu trữ, quản lí, tra cứu và tìm kiếm dữ liệu số, đánh giá và lựa chọn thông tin.
- Giai đoạn giáo dục định hƣớng nghề nghiệp: Môn Tin học có sự phân hoá sâu. Tuỳ 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. Hai định hƣớng có chung một số chủ đề con và mỗi định hƣớng này còn có những chủ đề con riêng. Định hƣớng Tin học ứng dụng đáp ứng nhu cầu sử dụng máy tính nhƣ một công cụ của công nghệ kĩ thuật số trong cuộc sống, học tập và làm việc, đem lại sự thích ứng và khả năng phát triển dịch vụ trong xã hội số.
Định hƣớng Khoa học máy tính đáp ứng mục đích bƣớc đầu tìm hiểu nguyên lí hoạt động của 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á các hệ thống tin học, phát triển ứng dụng trên hệ thống máy tính. Bên cạnh nội dung giáo dục cốt lõi, học sinh có thể chọn một số chuyên đề học tập tuỳ theo sở thích, nhu cầu và định hƣớng nghề nghiệp. Những chuyên đề thuộc định hƣớng Tin học ứng dụng nhằm tăng cƣờng thực hành ứng dụng, giúp học sinh thành thạo hơn trong sử dụng các phần mềm thiết yếu, làm ra sản phẩm số thiết thực cho học tập và cuộc sống. Những chuyên đề thuộc định hƣớng Khoa học máy tính nhằm giới thiệu lập trình điều khiển robot giáo dục, kĩ thuật thiết kế thuật toán, một số cấu trúc dữ liệu và một số nguyên tắc thiết kế mạng máy tính.2 Quan điểm xây dựng chương trình Chƣơng trình môn Tin học cụ thể hoá các quan điểm của Chƣơng trình tổng thể, chú trọng các yêu cầu sau đây: Tính kế thừa và phát triển a) Kế thừa chƣơng trình môn Tin học hiện hành Chƣơng trình môn Tin học kế thừa và phát triển những ƣu điểm cơ bản của chƣơng trình hiện hành là tính hệ thống và tính khoa học, đồng thời tránh thiên về lí thuyết trong một số nội dung và sự trùng lặp giữa các cấp học, gây quá tải.
b) Khai thác chƣơng trình môn Tin học phổ thông của các nƣớc tiên tiến Trong bối cảnh nhiều nƣớc coi trọng phát triển chƣơng trình giáo dục tin học nhằm đào tạo nguồn nhân lực cho cuộc cách mạng công nghiệp lần thứ tƣ, Chƣơng trình môn Tin học khai thác, chọn lọc vận dụng chƣơng trình môn Tin học của các nƣớc tiên tiến nhằm hội nhập, hƣớng tới trình độ quốc tế. Tính khoa học, hiện đại và sƣ phạm Chƣơng trình môn Tin học chọn lọc các nội dung cơ bản, phổ thông và hiện đại của ba mạch kiến thức DL, ICT,CS, đồng thời quan tâm đúng mức đến nội dung về đạo đức, pháp luật, văn hoá và ảnh hƣởng của tin học đến xã hội, bảo đảm nguyên lí “vừa dạy chữ vừa dạy ngƣời” và coi trọng tính nhân văn trong thời đại có sự kết nối cao của thế giới thực và thế giới số. Chƣơng trình đƣợc thiết kế với các nguyên tắc sƣ phạm: bảo đảm tính vừa sức, phát triển mạch kiến thức vừa theo đƣờng thẳng vừa đồng tâm, xây dựng hệ thống khái niệm cốt lõi. Chƣơng trình chọn lọc nội dung và yêu cầu phù hợp lứa tuổi, xen kẽ những nội dung lí thuyết với thực hành, trừu tƣợng với trực quan.