Qua thực tế giảng dạy ở trường và qua trao đổi với đồng nghiệp, tôi nhận thấy rằng trong toàn bộ chương trình Tin học 10 thì bài 4 _”Bài toán và thuật toán” có một số ví dụ về thuật toán
Trang 11 MỞ ĐẦU
- Lí do chọn đề tài
Như chúng ta đã biết Tin học là một bộ môn học mới được đưa vào giảng dạy chính thức ở các trường phổ thông Đối với các em học sinh, có thể nói đây
là một hành trang giúp các em vững bước đi tới tương lai của thế hệ thời đại công nghệ thông tin bùng nổ Tuy nhiên, đối với học sinh lớp 10 mới làm quen với chương trình Tin học nên các em còn nhiều bỡ ngỡ Vì vậy, quá trình dạy và học bộ môn Tin học trong nhà trường gặp nhiều khó khăn Đây là một môn khoa học mới mang tính trừu tượng nhưng học sinh cũng rất có hứng thú tìm hiểu
Qua thực tế giảng dạy ở trường và qua trao đổi với đồng nghiệp, tôi nhận thấy rằng trong toàn bộ chương trình Tin học 10 thì bài 4 _”Bài toán và thuật toán” có một số ví dụ về thuật toán và ví dụ thuật toán sắp xếp bằng tráo đổi (hay nổi bọt) là thuật toán có nội dung hay nhưng khó và khô khan, đặc biệt là việc mô tả các thuật toán để biểu diễn vào máy tính Cũng là từ việc thăm lớp dự giờ của các đồng nghiệp, với tình hình kết quả học tập của học sinh, cộng với tinh thần say mê nghề nghiệp, tôi muốn chia sẻ một kinh nghiệm nhỏ để giúp chúng ta cùng tham khảo trong quá trình dạy học Thực ra bài toán tôi muốn lấy
ví dụ để làm rõ và sinh động hơn từ nổi bọt qua từng lần duyệt của thuật toán Qua đó tạo sự hứng thú cho học sinh trong tiết dạy của mình để giúp các em học tốt hơn về “Bài toán và thuật toán” trong sách Tin học 10 cũng như bài học này
có vị trí quan trọng vì thuật toán này sẽ được cài đặt thành chương trình khi học lập trình ở sách giáo khoa Tin học lớp 11 Chính vì vậy trong quá trình giảng dạy tôi đã thử nghiệm cách là sử dụng đồ dùng trực quan sinh động sẽ ghi nhớ sâu thuật toán này Để đến khi vào chương trình lớp 11 giáo viên sẽ không mất nhiều thời gian nhắc lại thuật toán này nữa Vì vậy tôi chọn đề tài để viết thành sáng kiến kinh nghiệm với nhan đề “Mô phỏng ví dụ bài toán sắp xếp nổi bọt”
- Mục đích nghiên cứu
Đề tài được thực hiện nhằm mục đích đưa ra một số kinh nghiệm trong việc mô phỏng các bước nổi bọt của thuật toán trong giờ dạy học để giúp học sinh có cái nhìn trực quan, hiểu và nắm bắt sâu hơn để học tốt hơn về “Bài toán
và thuật toán” trong chương trình Tin học lớp 10 Từ đó, qua mỗi phần học, tiết học học sinh thích thú với kiến thức mới, qua đó hiểu được các kiến thức đã học trên lớp, đồng thời giúp các em thấy được tầm quan trọng của vấn đề và việc ứng dụng của kiến thức trước hết là đáp ứng những yêu cầu của môn học, và sau
đó là ứng dụng thực tiễn vào đời sống xã hội
- Đối tượng nghiên cứu
Trang 2+ Học sinh vận dụng tốt các kiến thức đã học nhằm rèn cho học sinh kỹ năng tư duy, chủ động và sáng tạo
+ Đối tượng nghiên cứu là học sinh khối 10 của trường PT Nguyễn Mộng Tuân năm học 2019-2020
- Phương pháp nghiên cứu
+ Tìm, đọc, nghiên cứu các tài liệu đến vấn đề đặt ra để tìm cơ sở khoa
học cho đề tài và tìm ra các giải pháp phù hợp với tình hình thực tế khi dạy bài:
“Bài toán và thuật toán”, từ đó rút ra kinh nghiệm áp dụng
+ Điều tra, đối thoại để tìm hiểu thực trạng của học sinh và tìm ra biện pháp thiết thực để giải quyết thực trạng đó qua trao đổi với đồng nghiệp
+ Dự giờ, rút kinh nghiệm, học hỏi đồng nghiệp
+ Kiểm tra, đối chiếu, so sánh qua việc thực hiện phương pháp mới ở một
số lớp và không áp dụng ở một số lớp
+ Phân tích, tổng hợp kết quả thu được trong thực tế để thấy được hiệu quả của đề tài
+ Giúp học sinh nắm vững hai khái niệm then chốt về Bài toán và thuật toán, nắm được các tính chất của thuật toán và cách diễn tả thuật toán bằng hai cách là liệt kê và sơ đồ khối
+ Cần rèn luyện cho học sinh kỹ năng liên hệ thực tế, liên hệ với bộ môn toán học và vận dụng kiến thức đó để rút ra kết luận bài học
+ Soạn trước bài giảng: “Tìm hiểu về bài toán và thuật toán” trên máy tính bằng phần mềm Powerpoint
2 NỘI DUNG SÁNG KIẾN KINH NGHIỆM
2.1 Cơ sở lí luận của sáng kiến kinh nghiệm
Trước đây phương pháp dạy học của chúng ta đơn thuần chỉ là thuyết trình, vấn đáp trên lớp Nhưng trong vài năm gần đây các trường phổ thông đó được trang bị phòng học máy tính (Computer) và máy chiếu (Projector) tại các lớp học, vì vậy chúng ta có điều kiện xây dựng “giáo án điện tử” để trình chiếu bài, kết hợp với việc dựng một số mô hình hỗ trợ cho nội dung bài học
“Bài toán và thuật toán” là một bài học khó trong chương trình SGK_Tin học 10 và có liên quan đến kiến thức lớp 11 Để viết được một thuật toán trên một loại ngôn ngữ nào đó thì trước hết yêu cầu học sinh phải nắm được thuật toán của bài toán đó Như vậy, các em vừa phải biết suy luận giỏi như toán, lại còn phải biết cách trình bày từng bước một cách lôgic Các em quen với cách áp dụng một quy luật, một công thức mà chưa quen với việc phải thực hiện từng bước lôgic, khoa học sao cho máy tính hiểu Vì thế, giáo viên cần tích cực tìm tòi, sáng tạo trong bài dạy nhằm tăng thêm phần sinh động, gây hứng thú cho học sinh thì bài học mới đem lại kết quả cao
Từ kinh nghiệm của bản thân, qua trao đổi với tổ, nhóm chuyên môn tôi xin trình bày phương pháp giảng dạy của mình thông qua một ví dụ về một bài
Trang 3giảng cụ thể trong chương trình Tin học 10, đó là bài “Tìm hiểu về bài toán và thuật toán”
2.2 Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm
Bài toán và thuật toán là một bài lý thuyết nhưng lại liên quan đến bài tập trong chương trình Tin học 10 Do đó, nếu học sinh hiểu được khái niệm bài toán, thuật toán và phân biệt giữa chúng thì cũng chưa thể hình dung được cách thức làm việc của máy tính Do đó vẫn đặt ra cho học sinh một câu hỏi: Vậy với một bài toán như thế, chỉ cần đưa ra một thuật toán cho nó thì bằng cách nào mà máy tính có thể cho ta kết quả một cách nhanh chóng và hiệu quả Đó mới là câu hỏi lớn trong suốt quá trình học của học sinh, nếu giáo viên chưa áp dụng được phương pháp dạy học mới_bằng “giáo án điện tử”, minh họa và mô phỏng qua các hình ảnh Chính vì thế, học sinh luôn phản ánh với giáo viên rằng bộ môn này khó và trừu tượng Khi kiểm tra với mức độ đề tương đương trong SGK, các
em vẫn cảm thấy mơ hồ và đạt kết quả không cao
Chất lượng kiểm tra sau khi học xong bài “Bài toán và thuật toán” môn Tin 10 ở trường PT Nguyễn Mộng Tuân tương đối thấp Và nhiều học sinh còn chưa chủ động, chưa có thái độ tích cực xây dựng bài trong “Bài toán và thuật toán” Bên cạnh đó, cũng có nhiều học sinh cho rằng đây là nội dung khó hiểu
và thường gặp khó khăn khi vận dụng các bài đã học để giải quyết các bài toán
2.3 Giải pháp và tổ chức thực hiện
2.3.1 Đối tượng nghiên cứu
Các lớp 10A1 và 10A2 trường PT Nguyễn Mộng Tuân huyện Đông Sơn tỉnh Thanh Hóa
2.3.2 Chuẩn bị
- Về phương pháp:
+ Giáo viên soạn trước bài giảng “Bài toán và thuật toán” trên máy tính được biểu diễn bằng phần mềm trình chiếu Powerpoint
+ Sưu tầm được một số mô hình bằng flash hỗ trợ cho việc dạy học
+ Kết hợp thêm với phương pháp thuyết trình và vấn đáp, cho một số em lên bảng làm mẫu khi cần biểu diễn thuật toán sắp xếp
+ Giáo viên nên chuẩn bị thêm một số bài tập để rèn luyện thêm kỹ năng biểu diễn thuật toán cho học sinh
- Về phương tiện dạy học
+ Giáo viên nên chuẩn bị một máy tính để bàn hoặc máy tính xách tay, một máy chiếu Nếu có điều kiện thì máy chủ của giáo viên nối với tất cả các máy con của học sinh để tiện quan sát
+ Học sinh chuẩn bị sách, vở, bút, thước…
Trang 42.3.3 Nội dung tiết dạy
Bài 4: Bài toán và thuật toán
Tiết 13: thuật toán sắp xếp bằng tráo đổi (nổi bọt)
Bài toán:
Cho dãy số gồm N số nguyên a1, a2, a3…aN Cần sắp xếp các số hạng không giảm (tức số hạng trước không lớn hơn số hạng sau)
- Nêu ý tưởng để sắp xếp dãy A
- Viết thuật toán sắp xếp bằng tráo đổi (nổi bọt)
- Hiểu được thuật toán để vận dụng vào tiết tiếp theo
Hoạt động 1: kiểm tra bài cũ
- Giáo viên gọi học sinh lên bảng trả lời các câu hỏi liên quan kiến thức tiết học sắp tới
- Sau khi học sinh đã trả lời xong Giáo viên gọi học sinh khác nhận xét và
bổ sung
- Giáo viên đánh giá cho điểm và chốt lại kết quả đúng
Hoạt động 2: Giới thiệu nội dung bài toán cụ thể xác định yêu cầu bài toán
Bài toán:
Cho dãy số gồm N số nguyên a1, a2, a3…aN Cần sắp xếp các số hạng không giảm (tức số hạng trước không lớn hơn số hạng sau)
* Xác định bài toán
+ input: Dãy A gồm N số nguyên a1, a2, …aN
+ Output: Dãy A được sắp xếp lại thành dãy không giảm
* Ý tưởng:
Duyệt từ đầu dãy đến cuối dãy, nếu gặp một số ai > ai+1 thì đổi chỗ 2 số cho nhau, tức là số đứng trước phải luôn bé hơn hay bằng số đứng sau
Như vậy ta phải duyệt dãy số nhiều lần, mỗi lần sẽ đưa được ít nhất một
số về đúng vị trí của nó Giáo viên nên giải thích lý do vì sao i được khởi tạo giá trị là 0 trong khi chỉ số của số hạng lại bắt đầu từ 1?
(Vì để thuật toán dễ hiểu, ở bước 5 giá trị của i tăng lên 1 nên trên thực tế đúng
là số hạng đầu tiên của dãy là a1)
Giáo viên lại tiếp tục trình chiếu và hướng dẫn học sinh 2 cách biểu diễn thuật toán
Cách 1: Liệt kê các bước
Bước 1: Nhập N, các số hạng a1, a2, aN;
Bước 2: MN
Bước 3: Nếu M< 2 đưa ra dãy số đã sắp xếp rồi kết thúc;
Bước 4: MM-1, i0
Bước 5: ii+1
Bước 6: Nếu i>M quay lại bước 3;
Bước 7: Nếu ai > ai+1 thì tráo đổi ai và ai+1 cho nhau
Bước 8: Quay lại bước 5
Trang 5Cách 2: Biểu diễn bằng sơ đồ khối
Hoạt động 3: lấy ví dụ cụ thể để kiểm chứng thuật toán:
tạo hình ảnh sắp xếp với bộ 5 số: N=5; dãy A={ 9 7 3 5 1} ( chúng ta chọn bộ ít số để kiểm chứng để tiết kiệm thời gian)
Dựa vào thuật toán giải bằng sơ đồ khối chúng ta mô phỏng dãy trên như sau:
Nhập N và dãy
a1,a2,……aN
MN
M< 2
MM-1, i0
ii+1
i>M
Đưa ra A rồi kết thúc
Tráo đổi ai và ai+1
Đúng
Sai
ai >
ai+1
Sai Đúng Đúng
Trang 6Lần duyệt thứ nhất (tính từ trái qua phải)
M=N=5
M=M-1=4
Với i=1 chúng ta kiểm tra a1 =9 và a2 =7, a1>a2 chúng ta đổi chỗ chúng cho nhau
Với i=2 chúng ta kiểm tra a2 =9 và a3 =3, a2>a3 chúng ta đổi chỗ chúng cho nhau
Với i=3 chúng ta kiểm tra a3 =9 và a4 =5, a3>a4 chúng ta đổi chỗ chúng cho nhau
Với i=4 chúng ta kiểm tra a4 =9 và a5 =1, a4>a5 chúng ta đổi chỗ chúng cho nhau
Với i=5 >M kết thúc lần duyệt thứ nhất và số lớn nhất là số 9 sẽ nổi lên trên cùng
Trang 7Lần duyệt thứ hai (tính từ trái qua phải)
M=M-1=3
Với i=1 chúng ta kiểm tra a1 =7 và a2 =3, a1>a2 chúng ta đổi chỗ chúng cho nhau
Với i=2 chúng ta kiểm tra a2 =7 và a2 =5, a2>a3 chúng ta đổi chỗ chúng cho nhau
Với i=3 chúng ta kiểm tra a3 =7 và a4 =1, a3>a4 chúng ta đổi chỗ chúng cho nhau
Với i=4>M kết thúc lần duyệt thứ hai và số lớn thứ hai là số 7 sẽ nổi lên đứng trước số 9
Trang 8Lần duyệt thứ ba (tính từ trái qua phải)
M=M-1=2
Với i=1 chúng ta kiểm tra a1 =3 và a2 =5, a1<a2 ta giữ nguyên không đổi Với i=2 chúng ta kiểm tra a2 =5 và a3 =1, a2>a3 chúng ta đổi chỗ chúng cho nhau
Với i=3>M kết thúc lần duyệt thứ ba và số lớn tiếp theo là số 5 sẽ nổi lên đứng trước số 7
Trang 9Lần duyệt thứ tư (tính từ trái qua phải)
M=M-1=1
Với i=1 chúng ta kiểm tra a1 =3 và a2 =1, a1>a2 chúng ta đổi chỗ chúng cho nhau
Với i=2>M lúc này thuật toán kết thúc vì M=1<2 và dãy trên đã được sắp xếp theo thứ tự tăng dần từ bé đến lớn Qua mỗi lần duyệt số nào lớn nhất sẽ nổi lên trên cùng, tiếp theo là số lớn tiếp theo sẽ nổi lên cứ như vậy cho đến hết Ta gọi đây là thuật toán sắp xếp nổi bọt (hay thuật toán sắp xếp bằng tráo đổi)
Trang 10Sau đó giáo viên lấy một dãy số khác: cho dãy A gồm có 5 số nguyên 15, 12, 8,
13, 6 để cho học sinh trình bày lại
Trang 112.4 Hiệu quả của sáng kiến kinh nghiệm đối với hoạt động giáo dục, với bản thân, đồng nghiệp và nhà trường
Sau một năm vận dụng cách mô phỏng như trên giúp học sinh học tốt
“Bài toán và thuật toán” tôi nhận thấy rằng phần đông học sinh thấy hứng thú, tích cực tham gia ý kiến xây dựng bài, thoải mái, vui vẻ hơn mỗi khi đến tiết, ý thức học tập của các em cũng tốt hơn rất nhiều
Cùng một đối tượng nhưng khi được giáo viên quan tâm, đưa ra nhiều phương pháp và hiệu quả trong giảng dạy thì chất lượng bộ môn được nâng lên
rõ rệt Phần đông học sinh thấy hứng thú trong học tập, thoải mái mỗi lúc đến tiết học Khi tôi tìm hiểu tâm lí học sinh, đã có đến hơn 85% học sinh không ngần ngại thổ lộ rằng: Hiện nay các em đã biết được tin học có nhiều lợi ích như thế nào: Học tin học không chỉ là học cách sử dụng máy tính, học cách trình bày văn bản mà các em còn say sưa với các đề tài khó hơn là thuật toán và học lập trình
Trong quá trình giảng dạy tôi nhận thấy rằng: để hiểu hết được ý định của người viết sách giáo khoa thật là không dễ, nhưng để truyền đạt được những kiến thức cơ bản đó đến học sinh với vai trò là người tổ chức hướng dẫn học sinh tự tìm tòi, phát hiện kiến thức càng khó khăn hơn Để bài học hấp dẫn, gây hứng thú đối với học sinh, ngoài việc hiểu kỹ sách giáo khoa, người dạy cần có lòng say mê nhiệt tình và ý thức tích lũy, tìm hiểu kiến thức ngoài sách giáo khoa Những bài học được chuẩn bị chu đáo giáo viên tự tin hơn khi lên lớp, học sinh nắm chắc và hiểu bài sâu hơn
So sánh, đối chứng tỉ lệ % kết quả của học sinh trước và sau khi thực hiện
đề tài ta thấy rõ ràng kết quả của học sinh sau khi được học bằng giáo án điện tử trên máy chiếu kết hợp mô phỏng trực quan, lấy dẫn chứng thực tế cao hơn hẳn
so với khi chưa thực hiện đề tài
Cụ thể kết quả thực tế đối với lớp 10A1 có 45 học sinh (với đề kiểm tra sau khi thực hiện đề tài cho kết quả như sau:
Điểm Số học sinh Tỉ lệ
Trang 123 KẾT LUẬN, KIẾN NGHỊ
- Kết luận
Ở bài này học sinh đã nắm vững ngay được các khái niệm: Bài toán và thuật toán và phân biệt được giữa chúng Học sinh nắm chắc các cách diễn tả thuật toán và áp dụng vào làm các bài tập một cách nhanh chóng và có hiệu quả
rõ rệt Qua bài học này giáo dục cho học sinh lòng ham mê học hỏi, phát huy tính tích cực chủ động, sáng tạo của mình
Bài toán và thuật toán là một nội dung giáo viên không dễ truyền đạt cho học sinh Vì đây là một nội dung khó, đòi hỏi tính trừu tượng và tư duy của người học Thiết nghĩ yếu tố con người là rất quan trọng, trong đó người giáo viên đóng vai trò là trung tâm tạo nên kết quả cao hay thấp Đối với bộ môn Tin học sự sáng tạo cũng vô cùng cần thiết Do vậy, người giáo viên cần có phương pháp dạy hợp lý nhằm tạo ra không khí học tập một cách sinh động Phối hợp nhiều phương pháp trong dạy học là phương pháp tạo nên sự sáng tạo đó Các hoạt ảnh khi thiết kế bài giảng điện tử giúp mô phỏng và giải thích bài học có hiệu quả hơn, giải thích bằng lời và sử dụng ảnh tĩnh, giúp khảo sát tĩ mĩ hơn các
mô phỏng mà bình thường không thực hiện được
Trong điều kiện hiện nay, nhà trường đã có đủ điều kiện để bộ môn tin học nói riêng và các bộ môn khác nói riêng đều có thể ứng dụng công nghệ thông tin vào trong dạy học nên có thể áp dụng đề tài này vào việc dạy học trong phạm vi rộng rãi Qua thực tế giảng dạy tôi thấy đề tài này rất thiết thực, tôi chân thành mong được sự đóng góp của lãnh đạo cấp trên, của tất cả các đồng nghiệp để đề tài được hoàn thiện hơn
- Kiến nghị
Qua thực tế giảng dạy khối lớp 10 trong năm học 2019-2020 tôi nhận thấy rằng việc mô phỏng bằng các ví dụ bằng hình ảnh trực quan trong hoạt động dạy học đã đem lại hiệu quả cao trong từng giờ dạy, tiết dạy, đa số học sinh hiểu bài, đều có hứng thú trong học tập Tuy nhiên, để việc ứng dụng đề tài này vào việc dạy học được tốt hơn, tôi xin có một số kiến nghị, đề xuất như sau:
- Tôi mong rằng nhà trường cần tạo điều kiện hơn nữa về mặt tài liệu để trang bị thêm cho giáo viên và học sinh, để có thể tự bồi dưỡng thêm kiến thức của mình Đặc biệt đối với bộ môn đặc thù này, thì việc trang bị cơ sở vật chất
và cần có phòng học chức năng riêng biệt, phòng máy thực hành, máy chiếu là hết sức quan trọng
- Nên tổ chức được các buổi thảo luận, giới thiệu được các sáng kiến kinh nghiệm có chất lượng cao, ứng dụng lớn trong thực tiễn để đồng nghiệp cùng học hỏi
- Các đồng nghiệp có ứng dụng sáng kiến này trong các năm học tới hãy mạnh dạn góp ý kiến bổ sung để tôi có thể hoàn thiện đề tài này được tốt hơn