Một số giải pháp nâng cao chất lượng bồi dưỡng học sinh giỏi môn tin học cấp trung học phổ thông

26 2 0
Một số giải pháp nâng cao chất lượng bồi dưỡng học sinh giỏi môn tin học cấp trung học phổ thông

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

SỞ GIÁO DỤC VÀ ĐÀO TẠO YÊN BÁI TRƯỜNG THPT CHUYÊN NGUYỄN TẤT THÀNH BÁO CÁO SÁNG KIẾN CẤP TỈNH Lĩnh vực: Tin học trung học phổ thông MỘT SỐ GIẢI PHÁP NÂNG CAO CHẤT LƯỢNG BỒI DƯỠNG HỌC SINH GIỎI MÔN TIN HỌC CẤP TRUNG HỌC PHỔ THÔNG Tác giả: Nguyễn Hồng Nhung Trình độ chun mơn: Thạc sĩ Công nghệ thông tin Chức vụ: Giáo viên Đơn vị cơng tác: Tổ Tốn Tin - Trường THPT Chun Nguyễn Tất Thành Yên Bái, tháng năm 2022 MỤC LỤC I THÔNG TIN CHUNG VỀ SÁNG KIẾN II MÔ TẢ SÁNG KIẾN: Tình trạng giải pháp biết 2 Nội dung giải pháp đề nghị công nhận sáng kiến 2.1 Mục đích sáng kiến 2.2 Nội dung giải pháp 2.2.1 Đối với giáo viên a Sinh test tự động tiện ích b Thiết lập hệ thống chấm online qua mạng LAN c Thiết lập hệ thống chấm online mạng WAN d Tổ chức liên hệ cho học sinh tham gia kì thi trực tuyến 2.2.2 Đối với học sinh 10 a Có kế hoạch học tập thân 10 b Làm thật nhiều để rèn luyện kĩ 10 c Tiếp thu kinh nghiệm thi 14 Khả áp dụng giải pháp 16 Hiệu quả, lợi ích thu dự kiến thu áp dụng giải pháp 16 Những người tham gia tổ chức, áp dụng sáng kiến lần đầu 17 Các điều kiện cần thiết để áp dụng sáng kiến 17 Tài liệu gửi kèm 17 III Cam kết không chép vi phạm quyền 17 PHỤ LỤC 18 Cách sinh test tiện ích sinh test thầy Tô Sơn 18 Cách sinh test Test Maker 21 Hướng dẫn thiết lập hệ thống chấm online qua LAN sử dụng Themis Web 23 I THÔNG TIN CHUNG VỀ SÁNG KIẾN Tên sáng kiến: Một số giải pháp nâng cao chất lượng bồi dưỡng học sinh giỏi môn Tin học cấp trung học phổ thông Lĩnh vực áp dụng sáng kiến: Tin học Phạm vi áp dụng sáng kiến: Cấp trung học phổ thông Thời gian áp dụng sáng kiến: Kế hoạch thực sáng kiến đầu năm học 2020-2021, thử nghiệm năm học 2020-2021, đầu năm học 2021-2022 Tác giả: Họ tên: Nguyễn Hồng Nhung Năm sinh: 1986 Trình độ chun mơn: Thạc sĩ Công nghệ thông tin Chức vụ công tác: Giáo viên Nơi làm việc: Tổ Toán Tin – Trường THPT Chuyên Nguyễn Tất Thành, TP Yên Bái, Tỉnh Yên Bái Địa liên hệ: Tổ Toán Tin – Trường THPT Chuyên Nguyễn Tất Thành, TP Yên Bái, Tỉnh Yên Bái Điện thoại: 0387.511.185 II MÔ TẢ SÁNG KIẾN: Tình trạng giải pháp biết Cơng tác phát bồi dưỡng học sinh giỏi môn từ trước tới nỗi trăn trở nhiều giáo viên Giáo viên phải đầu tư nhiều thời gian, công sức việc lên kế hoạch, soạn bài, lên lớp cho học sinh đội tuyển Qua khảo sát thực tế chấm thi học sinh giỏi cấp tỉnh môn Tin học nhiều năm, nhận thấy học sinh mắc sai sót khơng đáng dẫn đến kết không mong đợi Hiện tại, giáo viên trường Tỉnh áp dụng chung số biện pháp sau cho công tác bồi dưỡng học sinh giỏi như: Tìm kiếm nguồn học sinh Xây dựng kế hoạch bồi dưỡng đội tuyển học sinh giỏi Soạn bài, lên lớp, thực kế hoạch linh hoạt để đạt tiến độ Phối kết hợp với giáo viên chủ nhiệm, giáo viên môn, phụ huynh học sinh để tìm hiểu, động viên, khích lệ học sinh học tập Ngoài biện pháp chung trên, môn lại áp dụng biện pháp đặc thù riêng Với môn Tin học, áp dụng: Đối với giáo viên: • Thường xuyên rèn luyện kĩ lập trình; tìm kiếm, phân loại tập theo chủ đề, theo cấp độ khó; sinh test cho làm để phục vụ việc chấm thi tự động phần mềm Themis thầy Lê Minh Hồng • Trước buổi học ngày, giáo viên gửi để học sinh nghiên cứu lập trình Trong buổi học, em nộp bài, giáo viên chấm offline, dựa vào kết nộp bài, giáo viên chữa sai điển hình, mà học sinh chưa làm Đối với học sinh: Học sinh học lý thuyết, giao trước buổi học với mức độ khó tăng dần thầy cô, bạn bè giúp đỡ sửa lỗi Xong chủ đề làm kiểm tra để khảo sát Với biện pháp mà giáo viên trường tơi nói riêng giáo viên tỉnh nói chung áp dụng, tơi nhận thấy cịn có hạn chế cần phải khắc phục như: • Việc sinh test cho làm phương pháp thủ công thời gian, test yếu, không phủ hết phạm vi giới hạn đề • Ngồi ra, số lượng tập học sinh giải chưa nhiều thời gian để chờ học sinh code chấm offline buổi học thời gian (giáo viên phải copy học sinh vào USB, sau đem máy tính để chấm, lỗi, chưa đạt 100% điểm, giáo viên phản hồi để học sinh sửa Việc lặp lặp lại tốn nhiều thời gian trị học sinh ngại phải nộp lại cho giáo viên nhiều lần) • Có nhiều trang web cho phép chấm lập trình online, nhiều giáo viên chưa biết khai thác, giao cho học sinh tự học để tăng kĩ lập trình • Trong tình hình dịch bệnh covid-19 diễn biến phức tạp, phải học tập online qua phần mềm zoom, teamlink, k12online việc nộp code chấm theo kiểu offline gặp nhiều khó khăn Nếu dựa nguyên vào trang web chấm online giáo viên chủ động, khơng kiểm sốt việc làm nộp học sinh Với hạn chế mà thân ln thơi thúc tơi tìm hiểu, giải để đem lại chất lượng bồi dưỡng đội tuyển học sinh giỏi ngày cao hơn, giúp giáo viên dễ dàng việc tìm bài, tạo code, test, giúp học sinh giải nhiều để rèn luyện kĩ cần thiết Sáng kiến xây dựng khơng thể tránh khỏi thiếu sót, kinh nghiệm thân cịn hạn chế nên tơi mong nhận đóng góp ý kiến từ đồng nghiệp để sáng kiến hoàn thiện Nội dung giải pháp đề nghị công nhận sáng kiến 2.1 Mục đích sáng kiến Kết thi học sinh giỏi học sinh không công sức giáo viên mà nỗ lực học tập, tự học tập rèn luyện không ngừng học sinh Đặc biệt, với môn Tin học, đặc thù thi lập trình máy tính, học sinh cần phải có kỹ lập trình, kỹ nộp chấm phần mềm chuyên dụng Vì vậy, sáng kiến tơi trình bày số giải pháp đặc thù nhằm nâng cao chất lượng bồi dưỡng học sinh giỏi mơn Tin học sau: • Đối với giáo viên: Biết cách sinh test tự động; biết thiết lập hệ thống chấm online qua mạng cục LAN WAN • Đối với học sinh: Biết cách rèn luyện kĩ lập trình kĩ cần thiết khác thi học sinh giỏi môn Tin học 2.2 Nội dung giải pháp 2.2.1 Đối với giáo viên a Sinh test tự động tiện ích Hai tiện ích sau sử dụng để sinh test cách nhanh chóng, tiện lợi, phạm vi Test điều chỉnh dễ dàng để phù hợp với giới hạn mà đề • Tiện ích sinh test thầy Tơ Sơn • Tiện ích sinh test Test Maker Chú ý: • Chỉ sinh test có sẵn code chuẩn, chạy Nếu giáo viên quen sử dụng ngơn ngữ Pascal dùng Tiện ích sinh test thầy Tô Sơn dễ dàng hơn; dùng C++ nên sử dụng Test Maker • Các tiện ích hồn tồn miễn phí (tải theo đường link mục 7) • Hướng dẫn sử dụng xem phần phụ lục theo đường link b Thiết lập hệ thống chấm online qua mạng LAN Có số Web server sử dụng để giao chấm qua mạng LAN như: JUDGER, Themis Web Tơi xin trình bày JUDGER cài đặt sử dụng đơn giản hơn, Themis Web tham khảo thêm phần phụ lục • Đầu tiên, giáo viên cần chuẩn bị: - Đề bài, chương trình test tập - Cài đặt sẵn phần mềm chấm Themis • Tải JUDGER (theo đường link mục 7) bung nén vào ổ C D • Cấu hình JUGDER Themis - Thêm tài khoản học sinh: Trong thư mục JUDGER giải nén được, mở thư mục www, mở thư mục data, mở file account.xml, sau nhập thơng tin tài khoản cho học sinh hình sau: Hình Thơng tin tài khoản học sinh - Cấu hình thư mục chứa làm trực tuyến học sinh: Trong thư mục JUDGER giải nén được, mở thư mục www, mở file config.php cấu hình theo nhu cầu theo hình sau: Hãy nhớ địa thư mục Hình File config.php cấu hình JUDGER Lưu ý: Một vài thơng số ví dụ như: $contestName, $description, $problemsFile sửa theo thực tế người dùng, cịn thơng số khác khơng khuyến khích thay đổi - Cấu hình thư mục chấm trực tuyến Themis: Vào phần cài đặt Themis, nhập đường dẫn thư mục lưu trực tuyến học sinh cấu hình file config.php JUDGER hình sau: Hình Cấu hình Themis • Cách chấm Online qua LAN: - Trong thư mục JUDGER giải nén được, khởi động UniController.exe, nhấn chọn Start Apache để biến máy tính giáo viên thành Server - Khởi động Themis, nạp danh sách thi, thí sinh chấm thi Offline - Cung cấp địa IP máy giáo viên cho học sinh - Trên máy tính mình, học sinh khởi động trình duyệt web, nhập địa IP máy giáo viên, đăng nhập theo tài khoản cấp sẵn, lấy đề bài, làm, nộp bài, nhận kết xem thứ hạng Hình Học sinh đăng nhập vào hệ thống chấm Hình Các thơng tin hệ thống chấm online qua LAN Hình Bảng Rank hệ thống chấm online qua LAN c Thiết lập hệ thống chấm online mạng WAN Có nhiều cách để thiết lập hệ thống chấm online qua mạng WAN, đơn giản dễ thực cách sau: - Sử dụng phần mềm Radmin VPN tạo mạng riêng ảo Chương trình cho phép thiết lập kết nối bảo mật máy tính qua Internet thể máy tính kết nối với mạng LAN - Cả máy giáo viên máy học sinh cài đặt Radmin VPN - Máy giáo viên: Tạo phòng học Radmin VPN Hình Giáo viên tạo phịng học Radmin VPN - Máy học sinh: + Học sinh gia nhập phịng học Radmin VPN theo thơng tin phịng mà giáo viên cấp Hình Học sinh đăng nhập phịng học Radmin VPN + Trên trình duyệt, gõ địa IP phòng học Radmin máy giáo viên để vào trang web làm tập với mạng LAN Học sinh dùng IP để đăng nhập vào web tập Danh sách thí sinh phịng học Hình Học sinh đăng nhập vào Web server chấm online qua WAN d Tổ chức liên hệ cho học sinh tham gia kì thi trực tuyến Cách giúp em rèn luyện kĩ làm theo thời gian thực Có cảm nhận áp lực thời gian, đầu óc trở nên nhanh nhẹn nhiều Hơn nữa, thật thi đấu với người khác, em có cảm xúc luyện tập Hiện nay, có kì thi trực tuyến (Codeforces, TopCoder, Hackerrank, USACO, COCI), em tham gia contest nhỏ giáo viên thực Ngồi ra, giáo viên giới thiệu với học sinh đăng ký tài khoản trang uy tín cho phép chấm online để rèn luyện kĩ lập trình như: https://oj.vnoi.info/ http://ntucoder.net/ http://csloj.ddns.net/ Đọc hiểu đề kĩ cần sử dụng nhìn vào toán Khi đọc đề cần đọc kĩ câu, chữ đoạn văn thức, ví dụ hay hình vẽ minh họa để làm rõ thêm ý văn Trường hợp ví dụ minh họa có chỗ khơng khớp với văn bản, người giải cần phải làm theo mơ tả văn - dành cho mô tả trường hợp tốn mà khơng nên làm theo ví dụ minh họa mà đại diện cho trường hợp ví dụ Cấu trúc đề thường bao gồm phần theo trình tự sau: ✓ Kiến thức sở toán; ✓ Các kiện u cầu tốn; ✓ Mơ tả khn dạng liệu vào ra; ✓ Ví dụ khn dạng vào ra; ✓ Các hạn chế cho test toán Nhiều toán, việc đọc kĩ câu, chữ, định nghĩa, mô tả quan trọng, bỏ sót nhầm ý dẫn đến sai tồn • Kĩ phân loại toán Sau hiểu đề, cơng việc phải nhanh chóng phân loại tốn thuộc dạng Thơng thường tốn thuộc vào dạng định Tuy nhiên có nhiều kết hợp nhiều dạng khác ✓ Một người giải sau đọc đề gặp phải ba tình sau: ✓ Loại A: Đã giải loại toán trước đây; ✓ Loại B: Đã gặp loại toán chưa giải được; ✓ Loại C: Chưa gặp loại tốn Vậy để xác định nhanh loại tốn, từ rút thuật toán tối ưu, học sinh nên luyện tập để: ✓ Tăng số lần rơi vào trường hợp loại A, giảm số lần rơi vào trường hợp B; ✓ Luyện tập với tốn mang tính cổ điển để tăng khả tư thuật toán; ✓ Phát triển khả phân tích tốn để phát điểm đặc biệt, mấu chốt tốn • Kĩ phân tích thuật tốn 11 Khi thiết kế thuật toán giải bài, điều quan trọng phải đánh giá chi phí thuật tốn thời gian nhớ, đồng thời kiểm tra chi phí có thỏa mãn u cầu đề hay khơng Nếu có nhiều cách để giải tốn chọn thuật toán mà thân thấy cài đặt đơn giản mà đủ thỏa mãn yêu cầu, nghĩa đủ nhanh giới hạn thời gian đề Tuy nhiên, trình luyện tập, mà thời gian làm không bị giới hạn, cố gắng tìm cách giải tốn thuật tốn tốt Đó cách chuẩn bị hiệu thực cho tương lai phải đối mặt với tốn khó Ví dụ Bình thường lời giải với độ phức tạp O(n4) thuật tốn tồi Tuy nhiên tốn có giới hạn kích thước đầu vào n ≤ 50 số lượng phép tính thực tối đa cx504 = cx6.25 triệu phép tính, với c hệ số lập trình thơng thường nhỏ Thuật tốn chấp nhận được, thời gian chạy giây đa phần máy tính thực 100 triệu phép tính giây Ví dụ Bài tốn có giới hạn kích thước đầu vào n ≤ 106, hạn chế thời gian giây Có hai thuật tốn A B giải với độ phức tạp khác nhau: Thuật tốn A: có độ phức tạp O(n2), số lượng phép tính ước lượng thực tối đa cx102 hàng trăm giây để thực hiện, khơng thể thỏa mãn u cầu đề Thuật tốn B: có độ phức tạp O(nlogn), số lượng phép tính ước lượng thực tối đa cx106xlog(106) ≈ cx1.7x106, thời gian chạy test lớn giây Tuy nhiên, ngồi độ phức tạp thuật tốn, cần phải lưu ý số loại độ phức tạp khác không trực tiếp liên quan đến thời gian tính thuật tốn như: tính tốn lượng lớn phép tốn dấu phẩy động, có số lượng lớn vịng lặp con, có nhiều truy xuất vào Trong trường hợp chương trình nhiều thời gian dự kiến • Kĩ làm chủ ngơn ngữ lập trình Lợi ích sử dụng Pascal C++ gần tương đương không sử dụng thư viện lập trình chuẩn Thư viện lập trình giúp cho người lập trình hồn thiện chương trình nhanh lỗi Các thư viện chuẩn cộng đồng lập trình dùng nhiều nên nói 12 việc sử dụng trực tiếp tương đối dễ dàng, khơng có lỗi kĩ thuật cài đặt tối ưu, việc vận hành cần gọi dòng lệnh đơn giản xong Mặt hạn chế việc dùng thư viện chuẩn khả tùy biến thư viện không linh hoạt Rất nhiều kỹ thuật xử lý thuật tốn khơng thể gọi trực tiếp thư viện mà phải tùy biến Ví dụ: Nếu gọi hàm xếp thư viện sau xếp, thơng tin số vị trí ban đầu phần tử mảng bị mất, muốn lưu giữ lại thơng tin phải tùy biến hàm xếp với kiểu liệu cấu trúc struct sử dụng thêm trường để lưu giữ lại thông tin vị trí ban đầu phải sửa lại tốn tử so sánh cho trường biến cấu trúc Vì vậy, khơng thành thạo thư viện lập trình sử dụng dễ gặp phải lỗi khó debug khơng hiểu kĩ khó can thiệp vào phần code thuật tốn thư viện Ngồi ra, thường xun dùng thư viện mà quên thuật toán kĩ thuật cài đặt khó khăn phải tự cài đặt lại thuật tốn Rất nhiều tình giải khơng thể dùng trực tiếp thư viện mà buộc phải tự cài đặt lại thuật tốn • Kĩ gõ nhanh Hãy tập luyện để đánh máy nhanh xác, đừng để tốc độ gõ code điểm yếu thân Đây kĩ dễ dàng luyện tập thành thục tất kĩ Luyện tập cho đánh máy khơng nhìn vào bàn phím, mắt nhìn vào hình kiểm tra ln tính đắn việc gõ, lúc đầu suy nghĩ song song vấn đề • Kĩ test chương trình Sau viết code chương trình xong, vấn đề quan trọng kiểm nghiệm tính đắn chương trình Một kĩ thuật quan trọng để làm 13 điều viết chương trình kèm với tạo tay test kiểm tra chương trình Dưới số kinh nghiệm test chương trình: ✓ Bộ test nên bao gồm ví dụ đầu vào đầu đề để đảm bảo chương trình đưa kết với khn dạng xác ✓ Với liệu nhiều test (multi test), thêm trường hợp liệu vào có test giống hệt kiểm tra kết có giống khơng nhằm loại bỏ trường hợp qn khởi tạo lại chương trình ✓ Bộ test xây dựng nên bao gồm test khó test biên trường hợp kích thước liệu vào nhỏ nhất, ví dụ n = 0, n = trường hợp kích thước liệu đạt giá trị lớn để kiểm tra lỗi tràn nhớ, giới hạn ✓ Quan sát kĩ đến định dạng kết chương trình, trường hợp dấu cách hay dấu xuống dòng làm chương trình kết sai c Tiếp thu kinh nghiệm thi Trong năm bồi dưỡng học sinh giỏi Tin học, có học sinh có q trình học tập tốt, thi kết khơng tốt, chí cịn bị hết điểm Vì thi học sinh giỏi Tin cấp Tỉnh hay Quốc gia chấm tự động phần mềm Themis thầy Lê Minh Hoàng Đỗ Đức Đơng phát triển, nên q trình học em phải tìm hiểu phần mềm này, chí phải hiểu rõ sử dụng thành thạo để tự chấm cho cho nhóm bạn Ví dụ, em khơng bỏ dấu // phần mở đóng file, sai tên file hay khai báo tràn mảng trường hợp Themis không cho điểm Để đạt kết thi tốt, việc học tập rèn luyện tốt kĩ giải đương nhiên, kinh nghiệm phòng thi định không nhỏ tới kết Sau số kinh nghiệm em cần biết trước thi: • Cố gắng tạo tâm lý thoải mái trước thi • Khi ổn định vị trí ngồi thi, làm thủ tục trước thi, chờ đến bóc phát đề, em code trước cấu trúc form cho chương trình • Khi cầm tờ đề, em cần đọc kĩ, hiểu đề cách xác, suy nghĩ tất trước làm, sau định làm trước Mỗi đề thi gồm bài, thường dễ để học sinh kiếm điểm Nguyên tắc làm bài: “Bài dễ làm trước, khó làm sau”, “Làm đó”, “Giữ điểm subtask dễ cịn quan trọng làm khó” 14 • Với bài, em dành 10-15 phút để tìm thuật tốn tốt cài đặt, sau cịn dư thời gian quay lại cải tiến tiếp, phải luôn cải tiến chương trình hết thời gian Sau làm xong bài, cần phải kiểm tra lại chương trình trước chuyển sang khác Để kiểm tra chương trình, cách tốt test thật nhiều, cố gắng ăn nhiều test, nhiều trường hợp tốt Lúc kĩ test chương trình mà em rèn luyện phải phát huy hiệu • Suy nghĩ phải cẩn thận, đặt tay xuống làm phải làm thật nhanh, khơng chần chừ dự • Khi chương trình chạy cho kết sai, cần sửa lỗi (debug) chương trình Hãy tận dụng hiệu cơng cụ debug CodeBlocks watches, breakpoint, sử dụng tốt phím tắt F4, F7, F8 Thơng thường chương trình bị vài lỗi nhỏ viết sai tên biến biểu thức, thiếu đoạn xử lý,… Có thể xảy trường hợp phát thuật toán sai, có thuật tốn đắn điều hồn tồn Khi cần bình tĩnh tính tốn xem xác suất đắn chương trình có cao khơng, có nên làm tiếp tốn hay khơng? Đừng để bị vướng vào toán lâu, thấy lo lắng dành nhiều thời gian cho mà cho kết sai, tạm thời chuyển sang khác Trong trường hợp cần thay đổi tồn chương trình, nhớ backup chương trình cũ vào khác, phòng cần sử dụng lại • Đặc biệt ý đến việc đặt tên file chương trình file INPUT, OUTPUT Nên làm việc trước tiến hành lập trình Chú ý giới hạn đề để khai báo mảng hay biến số, tránh lỗi tràn mảng hay tràn nhớ, không đặt giới hạn mảng bé ràng buộc đề không dùng mảng 1GB Và thời gian thi lại 10 phút, nên kiểm tra lại thứ để đảm bảo khơng có sai sót đáng tiếc file ghi lên đĩa Ví dụ như: freopen khơng phải froepen hay //freopen, debug xóa test ví dụ • Thỉnh thoảng lưu vào nhiều thư mục, nhiều ổ đĩa khác phòng có cố kĩ thuật Lưu nộp vào nơi riêng, tránh nộp nhầm • Khi có hiệu lệnh trống hết làm bài, tắt hình, copy làm đĩa CD in code giấy theo hướng dẫn giám thị coi thi Tóm lại, với tốn kì thi lập trình, ta phải đọc hiểu đề cách xác, sau tìm cách thiết kế, phân tích thuật tốn cấu trúc liệu cần sử dụng Bước chuyển lời giải thành chương trình nhanh tốt áp 15 lực thời gian kết quả, đồng thời chương trình chạy cần không sinh lỗi phải kết thời gian hạn chế Để làm tốt điều đó, kinh nghiệm lập trình viên đạt giải cao kì thi lập trình phải đam mê luyện tập tất kĩ nêu nhiều toán tốt Cần phải rèn luyện thường xuyên để giữ cảm hứng phát triển kĩ lập trình giải Cuối cùng, giữ tâm lý tốt có may mắn kì thi vấn đề quan trọng Khả áp dụng giải pháp Sáng kiến áp dụng cho giáo viên Tin học trường Trung học phổ thông tỉnh Yên Bái công tác bồi dưỡng học sinh giỏi cấp tỉnh môn Tin học Hiệu quả, lợi ích thu dự kiến thu áp dụng giải pháp Sáng kiến tiến hành áp dụng trường THPT Chuyên Nguyễn Tất Thành từ đầu năm học 2020-2021, đến thu kết tốt: - Giáo viên tạo test cho tập đơn giản hơn, tập chất lượng - Vì thời gian làm rút ngắn nên số lượng tập giải ngày nhiều Ví dụ, với 100 tập lập trình bản: + Với học sinh đội tuyển 10 (2017-2018): Khi chưa áp dụng sáng kiến phải 20 buổi học giải hết + Với học sinh đội tuyển 10 (2020 - 2021): Khi áp dụng sáng kiến 10 buổi học giải hết - Học sinh có hướng, có sở nên chủ động bổ sung cho phần kiến thức chưa vững tự làm tập dạng để rèn luyện kĩ năng, chí tự học phần kiến thức mở rộng mà điều kiện thời gian giáo viên chưa thể đề cập tới… Các em rèn luyện truyền đạt kinh nghiệm phịng thi, nên giảm đáng kể sai sót đáng tiếc xảy làm - Khi áp dụng cho đội tuyển trường THPT chuyên Nguyễn Tất Thành: Giải học sinh đạt cao số lượng chất lượng Năm học Giải cấp Tỉnh Giải QG Số giải Nhất Nhì Ba KK KK 2020-2021 01 02 01 01 2021-2022 10 01 03 01 03 (dự kiến) 16 Những người tham gia tổ chức, áp dụng sáng kiến lần đầu Họ tên Nơi công tác (hoặc nơi thường trú) Chức danh Trình độ chun mơn Nội dung cơng việc hỗ trợ Nguyễn Thị Thu Hiền Trường THPT Lý Thường Kiệt Giáo viên Đại học Thử nghiệm Nguyễn Đức Hiếu Trường PT dân tộc nội trú THPT tỉnh Yên Bái Giáo viên Đại học Thử nghiệm Phạm Thị Quyên Trường THPT Chu Văn An Giáo viên Đại học Thử nghiệm Số TT Các điều kiện cần thiết để áp dụng sáng kiến Để áp dụng tốt sáng kiến này, giáo viên cần tâm huyết với công tác bồi dưỡng học sinh giỏi, cịn học sinh đam mê học lập trình Giáo viên người ln đồng hành em, định hướng, giảng dạy, quan sát, kiểm soát giúp đỡ em vượt qua giai đoạn khó khăn q trình học tập Các phần mềm tiện ích áp dụng cần phải cài đặt Nếu giáo viên muốn chấm online qua mạng LAN máy tính phải kết nối mạng LAN, chấm online qua mạng WAN máy tính phải kết nối mạng Internet Máy tính học sinh nên kết nối mạng Internet để em tự học, tự rèn luyện kĩ lập trình trang chấm online Tài liệu gửi kèm Các tiện ích, phần mềm, hướng dẫn cài đặt sử dụng áp dụng sáng kiến; định công nhận học sinh giỏi cấp tỉnh năm 2021-2022 đặt thư mục theo đường link sau: https://drive.google.com/drive/folders/1TDojJ0oNKbXQbLre0FaKz1pgwY_pevG?usp=sharing III Cam kết không chép vi phạm quyền Tôi xin cam kết không chép vi phạm quyền Yên Bái, ngày 17 tháng năm 2022 Người viết báo cáo Nguyễn Hồng Nhung 17 PHỤ LỤC Cách sinh test tiện ích sinh test thầy Tơ Sơn Hình Giao diện tiện ích sinh test thầy Tô Sơn Bước 1, phải đảm bảo chắn máy tính cài đặt phần mềm Free Pascal (với C++ phải cài đặt trước Code Blocks MinGW), sau cài đặt biến mơi trường PATH Ví dụ: cài đặt biến môi trường Pascal (làm tương tự C++): Hình Thiết lập biến mơi trường Chú ý: Sau cài đặt xong biến môi trường khởi động lại máy tính Bước 2: Chuẩn bị file code chuẩn (sinh file OUT từ file INP) file code sinh test (file sinh file INP) Ví dụ: Với đề sau: Cho hai số nguyên dương A B, tính tổng A+B Dữ liệu nhập: Từ file văn CONG.INP gồm hai số nguyên A, B (|A|, |B| < 109), A B cách khoảng trắng 18 Dữ liệu xuất: Ghi vào file văn CONG.OUT số nguyên tổng A B Giới hạn: - 30% với (|A|, |B| < 103) - 30% với (|A|, |B| < 105) - 40% với (|A|, |B| < 109) Nếu cần sinh file CONG.INP CONG.OUT thì: ✓ File code chuẩn giáo viên phải có tên CONG.PAS ✓ File sinh test R_CONG.PAS (Ví dụ sử dụng ngơn ngữ lập trình Pascal) • File R_CONG.PAS có nội dung sau: // Chuong trinh Tao cac file Input cua Ban giam khao {$MODE OBJFPC} program RandomTest; const Prefix = 'CONG.INP'; // max = 1000; // max = 100000; max = 1000000000; procedure GenTest(const FName: String); var f: Text; A, B: longint; begin Randomize; assign(f, FName); rewrite(f); try A := Random(max) + 1; B := Random(max) + 1; WriteLn(f, A, ' ', B); finally close(f); end; end; procedure Gen09_AZ; var c: Char; begin Chú ý: - Nên điều chỉnh max để lấy test giới hạn khác theo đề - Chỉ cần sửa nội dung nằm phần try finally chương trình với đề khác 19 • File code chuẩn giáo viên sau: var fi, fo:text; a,b,c: longint; begin assign(fi,'CONG.INP');reset(fi); assign(fo,'CONG.OUT');rewrite(fo); readln(fi,a,b); c := a + b; } write(fo,c); close(fi); close(fo); end Bước 3: Copy file sinh test file code chuẩn giáo viên vào thư mục với tiện ích Bước Bật tiện ích lên nhập thơng số đầu vào: – Số lượng test Ví dụ: cần sinh tự động 20 test – Test bắt đầu từ: Ví dụ, mà sinh 20 test có 20 test từ Test01, Test02,… Test20 Cịn với 20 Test tên Test đánh số Test02, Test03,…, Test21 Giá trị mặc định cho giá trị ô (bắt đầu số thứ tự test 1) – Tên file sinh test (Input): File tự động sinh liệu ngẫu nhiên Ví dụ: R_CONG.PAS – Tên file chạy Giáo viên (Output): File từ Input mà sinh Output (Đây file chuẩn Giáo viên) Ví dụ: CONG.PAS - Sau kích vào Run: Ta thu 20 test mong muốn Hình Sử dụng tiện ích sinh test thầy Tơ Sơn cho tốn tính tổng hai số nguyên 20 Cách sinh test Test Maker Hình Giao diện Test Maker Chọn thư mục chứa test sinh Chọn chương trình sinh file input, chương trình phải dịch sẵn exe, tất nhiên, ngơn ngữ lập trình Chọn chương trình sinh file output từ file input (như làm bình thường) Chọn chương trình chấm để Test Maker tự động copy vào thư mục chứa test (tự động đổi tên theo quy định AMM2) Nội dung thư mục chứa test chọn phần (1) Tên test gồm Prefix-ID, mục cho chỉnh sửa prefix ID – số hiệu test bắt đầu ID – Số hiệu test kết thúc Độ dài ID, điền số vào đầu cho đủ 10 Check muốn sinh file input 11 Check muốn sinh file output 12 Check muốn copy chương trình chấm 13 Thanh tiến trình (progress bar) thể mức độ hồn thành q trình sinh test 14 Bắt đầu sinh test 15 Ngắt trình sinh test diễn 16 Kết thúc 17 Biên sinh test Cách sử dụng: Cần tự viết chương trình sinh input file nguồn sinh output, dịch chương trình file exe, sau chọn mục 1, 2, 3… ấn 14 21 Ví dụ: Bằng cách sử dụng ngơn ngữ lập trình C++, với tính tổng hai số nguyên A B Bước Giáo viên tạo file sinhinput.cpp để sinh file input theo đề sau: #include #include // for std::ostringstream #include // for std::string #include using namespace std; const string baseFolderName = "test"; const int // m = 1e3; // m = 1e5; m = 1e8; const int d = 11; const int c = 20; Điều chỉnh liệu file input void create_test(char myfolder[],int id) theo đề { freopen(myfolder,"w",stdout); int a = rand() % m + 1; int b = rand() % m + 1; cout

Ngày đăng: 21/04/2023, 15:12

Tài liệu cùng người dùng

Tài liệu liên quan