Tải bản đầy đủ (.docx) (22 trang)

(Skkn 2023) một số biện pháp giúp học sinh học tốt lập trình python – tin học 10

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (749.64 KB, 22 trang )

MỤC LỤC
1. Mở đầu...............................................................................................................1
1.1. Lí do chọn đề tài.........................................................................................1
1.2. Mục đích nghiên cứu..................................................................................1
1.3. Đối tượng nghiên cứu.................................................................................2
1.4. Phương pháp nghiên cứu............................................................................2
1.5. Những điểm mới của SKKN......................................................................2
2. Nội dung sáng kiến kinh nghiệm.......................................................................2
2.1. Cơ sở lí luận của sáng kiến kinh nghiệm....................................................2
2.2. Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm....................2
2.3. Các sáng kiến kinh nghiệm hoặc các giải pháp đã sử dụng để giải quyết
vấn đề................................................................................................................4
2.3.1. Biện pháp 1: Gợi động cơ học lập trình Python cho học sinh.............4
2.3.2. Biện pháp 2: Đưa ra hệ thống các bài tập dạng nhận biết, thông hiểu
và vận dụng...................................................................................................9
2.3.3. Biện pháp 3: Hướng dẫn học sinh cách tạo các bộ Test để kiểm tra
kết quả chương trình....................................................................................13
2.3.4. Biện pháp 4: Tận dụng tối đa các giờ học tại phòng máy.................13
2.3.5. Biện pháp 5: Tạo hứng thú trong giờ học lập trình...........................15
2.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.....................................................................19
3. Kết luận, kiến nghị..........................................................................................20
3.1. Kết luận....................................................................................................20
3.2. Kiến nghị..................................................................................................20
Tài liệu tham khảo...............................................................................................21


MỘT SỐ BIỆN PHÁP GIÚP HỌC SINH HỌC TỐT LẬP TRÌNH
PYTHON – TIN HỌC 10
1. Mở đầu
1.1. Lí do chọn đề tài


Sự phát triển mạnh mẽ như vũ bão của Tin học đã làm cho xã hội có
nhiều nhận thức về cách tổ chức các hoạt động. Nhiều quốc gia trên thế giới đã ý
thức được tầm quan trọng của Tin học và có những đầu tư lớn cho việc này, đặc
biệt trong giáo dục nâng cao dân trí về tin học và đào tạo nguồn nhân lực có chất
lượng cao. Người Việt Nam có nhiều tố chất thích hợp với ngành khoa học này,
vì thế chúng ta hi vọng sớm có thể hịa nhập với khu vực trên thế giới.
Hiện nay, Bộ giáo dục và đào tạo đã thiết kế lại Chương trình đổi mới
giáo dục phổ thơng (bắt đầu áp dụng trong năm học 2019 – 2020). Trong đó:
Giáo dục phổ thơng nước ta đang thực hiện bước chuyển từ chương trình giáo
dục tiếp cận nội dung sang chương trình giáo dục “định hướng năng lực”. Trong
chương trình giáo dục phổ thơng mới, bộ mơn Tin học có rất nhiều điểm mới,
trong đó Bộ GD – ĐT đã ban hành hướng điều chỉnh nội dung dạy học cho phép
và khuyến khích các cơ sở giáo dục dần loại bỏ ngơn ngữ lập trình Pascal, lựa
chọn giảng dạy các ngơn ngữ lập trình có tính cập nhật, hiện đại, thơng dụng
như C++, Python…
Python là ngơn ngữ lập trình mới được đưa vào chương trình phổ thơng.
Là ngơn ngữ lập trình hướng đối tượng, đơn giản, dễ học. Python là ngơn ngữ
lập trình đang được sử dụng rộng rãi để tạo ra các ứng dụng Trí tuệ nhân tạo
(AI), phân tích dữ liệu lớn (Big data), học máy (machine leaning)…Tuy nhiên,
muốn học tốt lập trình thì người học cần phải có tư duy, có khả năng phân tích
và tổng hợp, mà ở lứa tuổi học sinh lớp 10 khả năng đó của các em cịn hạn chế
nên gây khơng ít khó khăn cho học sinh khi học lập trình Python. Đặc biệt với
những học sinh yếu kém thì việc học lập trình càng khó khăn hơn nhiều.
Vậy làm thế nào để học sinh học tốt lập trình Python? Là một giáo viên,
tơi ln trăn trở tìm cách truyền đạt kiến thức và các biện pháp giúp các em học
sinh học tốt ngơn ngữ lập trình Python. Chính vì lí do trên, tôi đã chọn đề tài
“Một số biện pháp giúp học sinh học tốt lập trình Python – Tin học 10” để góp
phần nâng cao chất lượng dạy mơn Tin học nói chung và giảng dạy ngơn ngữ
lập trình Python nói riêng.
1.2. Mục đích nghiên cứu.

- Đưa ra một số biện pháp để học sinh học tốt lập trình Python, giúp học
sinh hiểu bài nhanh chóng, nắm vững kiến thức và vận dụng vào làm bài tập.
- Bước đầu hình thành cho các em các kiến thức về ngôn ngữ lập trình.
- Hình thành cho học sinh một số phẩm chất và năng lực cần thiết cho
người lao động hiện đại như có ý thức và thói quen sử dụng máy tính trong hoạt
động học tập, lao động.
- Nâng cao chất lượng dạy và đổi mới phương pháp dạy học.
1


1.3. Đối tượng nghiên cứu.
- Nghiên cứu cơ sở lí luận và thực tiễn của đề tài.
- Các biện pháp giúp học sinh học tốt lập trình Python 10
- Đối tượng thực nghiệm: Học sinh lớp 10 trường THPT Thường Xuân 2
1.4. Phương pháp nghiên cứu.
- Phương pháp nghiên cứu lý luận:
+ Phương pháp phân tích, tổng hợp dữ liêu.
- Phương pháp nghiên cứu thực tiễn.
+ Phương pháp điều tra.
+ Phương pháp tổng kết kinh nghiệm giáo dục.
+ Phương pháp khảo nghiệm, thực nghiệm.
1.5. Những điểm mới của SKKN
- Giúp học sinh học lập trình Python chủ động, tích cực và huy động được
tất cả học sinh tham gia xây dựng bài một cách hào hứng.
- Sáng kiến góp phần đổi mới hình thức dạy học, kiểm tra đánh giá chất
lượng của HS theo hướng phát huy năng lực tự học, tự khám phá tri thức cho
học sinh, chuyển từ chương trình giáo dục tiếp cận nội dung sang tiếp cận năng
lực của người học. Xuất phát từ việc “Xây dựng trường học thân thiện, học sinh
tích cực”.
- Sáng kiến giúp học sinh biết vận dụng sáng tạo kiến thức để giải quyết

các bài toán trong thực tế.
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.
Đảng và Nhà nước ta đã nhận thấy được tầm quan trọng của công nghệ
thông tin và đưa vào giảng dạy trong nhà trường ở các cấp từ tiểu học đến trung
học phổ thông.
Muốn học tập đạt kết quả tốt ngoài sự nỗ lực, tự giác của học sinh, vai trị
dẫn dắt của giáo viên bộ mơn là vô cùng quan trọng và cần thiết.
Để giúp học sinh lập trình với Python được dễ dàng hơn, đồng thời thực
hiện tinh thần của toàn ngành hiện nay là phát huy tính tích cực, tự giác, sáng
tạo, độc lập của học sinh, nâng cao năng lực phát hiện và giải quyết vấn đề để
đem lại hứng thú học tập cho học sinh. Vì vậy với nội dung trong đề tài này, học
sinh có thể học tốt lập trình Python.
2.2. Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm.
*Thực trạng dạy học ngôn ngữ Python ở các trường THPT.
Ngơn ngữ lập trình Python là ngơn ngữ định hướng dạy học trong chương
trình GDPT 2018 và được khuyến khích dạy học trong giai đoạn chuyển tiếp
hiện nay nhưng việc thực hiện cịn một số khó khăn nhất định:

2


+ Tài liệu tham khảo về lập trình Python chưa phổ biến như ngơn ngữ
Pascal ít nên việc tìm kiếm tài liệu dạy học phù hợp với trình độ học sinh rất vất
vả.
+ Đối với giáo viên việc trao đổi, chia sẻ, học hỏi kinh nghiệm gặp nhiều
khó khăn do hầu hết đều quen với ngơn ngữ lập trình Pascal.
+ Kiến thức về lập trình khơng nằm trong nội dung thi THPT quốc gia
nên hầu hết học sinh không coi trọng, ít học bài và làm bài tập chỉ những học
sinh yêu thích, đam mê mới đầu tư thời gian học lập trình. Vì thế lượng giáo

viên đam mê chuyên môn, đầu tư thời gian nghiên cứu tài liệu, cải tiến cách dạy,
cách học không nhiều.
Đầu năm học, tôi đã tiến hành khảo sát 100 học sinh lớp 10 về mức độ
u thích học lập trình cùng kết quả học tập của học sinh khi chưa áp dụng sáng
kiến và kết quả thu được như sau:
- Mức độ yêu thích mơn học lập trình.
Rất thích
Thích
Học được



SL
SL
SL
20
20
25
25
35
35
- Kết quả học tập của học sinh.

Học cho vui

SL
20
20

Giỏi

Khá
Trung bình
Yếu, kém




SL
SL
SL
SL
20
20
30
30
40
40
10
15
Qua kết quả trên cho thấy đa số học sinh chưa u thích mơn học, dẫn đến
kết quả học tập chưa cao, tỉ lệ học sinh Khá, Giỏi cịn ít.
Ngun nhân dẫn đến kết quả là do kết quả học tập không như mong đợi
rồi đến lý do cảm thấy mơn học q khó và hoàn cảnh tác động tuy nhiên tỷ lệ
chênh lệch khơng nhiều. Điều đó chứng tỏ các em chưa có hứng thú, đam mê
với môn học, dễ bị lôi kéo, dụ dỗ, chưa quyết tâm, kiên trì và chưa quan tâm
thực sự đến học tập.
Ngồi ra, do mơn Tin khơng nằm trong chương trình thi tốt nghiệp THPT,
một số giáo viên giảng bài cịn sơ sài chưa có sự đầu tư chun mơn. Giáo viên
khơng tạo khơng khí học tập gần gũi, thoải mái cho học sinh.
Để khắc phục tình trạng trên, tơi đã tìm tịi nghiên cứu và đưa ra một số

biện pháp giúp các em yêu thích và học tốt lập trình Python.
*Thuận lợi và khó khăn khi dạy học lập trình Python cho học sinh.
Thuận lợi:
Tuy mơn Tin học là một môn học tự chọn nhưng nhà trường đã trang bị
khá đầy đủ cơ sở vật chất như phịng máy tính, máy chiều để phục vụ cho việc
dạy và học.
Giáo viên được đào tạo những kiến thức cơ bản về Tin học để đáp ứng
nhu cầu dạy và học môn Tin học trong nhà trường phổ thông.
3


Nội dung sách nhẹ nhàng, phù hợp với học sinh phổ thông.
Môn Tin học là môn học tự chọn nên học sinh tiếp thu kiến thức một cách
thoải mái, không bị gị ép.
Đa số học sinh có máy tính nên kĩ năng thực hành của học sinh tương đối
tốt.
Khó khăn:
Qua thực tế giảng dạy, tôi nhận thấy khi học đến phần lập trình, đa số học
sinh đều cho rằng mơn học này rất khó.
Python là ngơn ngữ cịn khá mới lạ đối với học sinh nên việc sử dụng các
câu lệnh cịn sai cú pháp và mục đích.
Học lập trình có liên quan đến tốn học, nhưng một số học sinh chưa nắm
vững kiến thức Tốn học gây khó khăn cho việc giải quyết các bài tập.
Một số học sinh cịn xem nhẹ mơn học, coi đó là mơn phụ, khơng có thái
độ học tập tích cực, khơng chịu suy nghĩ và động não khi làm bài tập.
2.3. Các sáng kiến kinh nghiệm hoặc các giải pháp đã sử dụng để giải quyết
vấn đề.
Trong đề tài này, tôi sẽ chia sẻ những kinh nghiệm và giải pháp giúp học
sinh học tốt lập trình Python, biết vận dụng kiến thức của mình vào cuộc sống,
hồn thiện và thành thạo các thao tác khi tương tác với phần mềm Python, linh

hoạt khi sử dụng các câu lệnh để giải quyết bài toán một cách chính xác và khoa
học.
2.3.1. Biện pháp 1: Gợi động cơ học lập trình Python cho học sinh
Việc học tập tự giác, tích cực, chủ động và sáng tạo trong ngơn ngữ lập
trình Python địi hỏi học sinh phải có ý thức về những mục tiêu đặt ra và tạo
được động lực bên trong để học sinh đạt được mục tiêu. Điều này được thực
hiện trong dạy học không chỉ đơn giản bằng việc nêu mục tiêu mà quan trọng
hơn còn là gợi động cơ.
Gợi động cơ là làm cho học sinh có ý thức về ý nghĩa của những hoạt
động và của đối tượng hoạt động. Sau đây là một trong những cách gợi động cơ
xuất phát từ nội dung môn Tin học theo từng giai đoạn như sau:
a. Gợi động cơ mở đầu:
Có thể gợi động cơ mở đầu xuất phát từ thực tế hoặc nội bộ môn Tin học.
Việc xuất phát từ thực tế không những có tác dụng gợi động cơ mà góp
phần hình thành thế giới quan duy vật biện chứng. Nhờ đó, giúp học sinh nhận
thức rõ nội dung bài học.
Mặc dù Tin học phản ánh thực tế một cách toàn bộ và nhiều tầng. Tuy
nhiên không phải bất cứ nội dung nào, hoạt động nào cũng có thể gợi động cơ
xuất phát từ thực tế. Gợi động cơ từ nội bộ Tin học là nêu vấn đề Tin học xuất
phát từ nhu cầu Tin học, từ những phương thức tư duy và hoạt động Tin học.
Gợi động cơ theo cách này là cần thiết vì: Việc xuất phát từ thực tế khơng phải
bao giờ cũng thực hiện được.
4


Thông thường khi bắt đầu nội dung lớn, chẳng hạn như một phân môn
hay một chương chúng ta nên cố gắng xuất phát từ thực tế. Còn đối với từng bài
hay từng phần của thì tính tới khả năng gợi động cơ từ nội bộ Tin học. Sau đây
là một số ví dụ:
VD1: Khi dạy về Câu lệnh rẽ nhánh [1].

Để mô tả cấu trúc rẽ nhánh, Python dùng câu lệnh if có 2 dạng:
- Dạng thiếu: if <điều kiện>:
<Khối lệnh>
- Dạng đủ:
if <điều kiện>:
<Khối lệnh 1>
else:
<Khối lệnh 2>
Trước khi đưa đến cấu trúc hai câu lệnh thì ta có thể gợi động cơ mở đầu
bằng cả 2 cách: Xuất phát từ thực tế và từ nội bộ Tin học.
Với cách xuất phát từ thực tế, có thể lấy ví dụ: Một lần Nam nói: “Nếu
trời khơng mưa vào ngày chủ nhật thì Nam đi đá bóng”. Đây là một hoạt động
phụ thuộc vào điều kiện. Câu nói của Nam cho biết nếu điều kiện được thỏa mãn
(điều kiện đúng) thì có một việc làm cụ thể được thực hiện. Nhưng không đề cập
đến nếu điều kiện không thỏa mãn hay điều kiện sai (trời mưa vào ngày chủ
nhật) thì sẽ thực hiện việc gì? Cách diễn đạt như vậy gọi là dạng thiếu Nếu….;
Và cấu trúc dùng để mô tả mệnh đề trên là cấu trúc dạng thiếu. Python dùng câu
lệnh If dạng thiếu để mô tả, câu lệnh như sau:
if <điều kiện>:
<Khối lệnh>
Ngồi ra, có thể gợi động cơ xuất phát từ nội bộ môn Tin học, chẳng hạn
nêu ra tình huống sau: Nhập vào máy từ bàn phím số ngun a bất kì. Thơng báo
ra màn hình a là số chẵn. Ta giải thích cho học sinh một số là số chẵn nếu nó
chia hết cho 2: a % 2 == 0 đó chính là điều kiện. Vậy nếu điều kiện a % 2 == 0
đúng thì thơng báo ra màn hình a là số chẵn bằng lệnh print (“a la so chan”).
Còn nếu điều kiện a % 2 = = 0 sai thì khơng thực hiện câu lệnh nào? Cách diễn
đạt như trên gọi là dạng thiếu
VD2: Khi dạy về Câu lệnh lặp. [1]
Sau khi trình bày xong câu lệnh lặp với số lần biết trước, tơi đưa ra ví dụ
u cầu học sinh viết chương trình in ra màn hình các số chẵn trong phạm vi từ

1 đến 10.
Tôi đưa ra cách gợi động cơ xuất phát từ nội bộ môn Tin học: Để thực
hiện được yêu cầu trên, ta phải kiểm tra các số từ 1 đến 10. Nếu số nào chia hết
cho 2 thì viết ra màn hình số đó. Vậy ta cần bao nhiêu câu lệnh để kiểm tra?
Như vậy, ta phải viết lặp đi lặp lại 10 câu lệnh. Giả sử bài toán trên yêu cầu viết
ra các số chẵn trong phạm vi từ 1 đến 100 thì cần bao nhiêu câu lệnh? 100 câu
5


lệnh. Vậy để xóa bỏ sự hạn chế này, ta chỉ cần sử dụng câu lệnh lặp với số lần
biết trước for
- Lặp 10 lần
for i in range (1, 10):
if i % 2 == 0: print (i)
- Lặp 100 lần:
for i in range (1, 100):
if i % 2 == 0: print (i)
b. Gợi động cơ trung gian. [2].
Gợi động cơ trung gian là gợi động cơ cho những bước trung gian hoặc
cho những hoạt động tiến hành trong những bước đó để đạt được mục tiêu. Gợi
động cơ trung gian có ý nghĩa to lớn đối với sự phát triển năng lực độc lập giải
quyết vấn đề. Sau đây là những cách để gợi động cơ trung gian:
- Hướng đích cho học sinh.
- Quy lạ về quen.
- Xét tính tương tự.
- Khái qt hóa.
*Hướng đích cho học sinh:
Hướng đích cho học sinh là hướng vào những mục tiêu đề ra, vào hiệu
quả dự kiến của những hoạt động của họ nhằm đạt được mục tiêu đó.
Hướng đích là làm sao cho đối với tất cả những gì học sinh nói và làm,

các em đều biết rằng những cái đó nhằm mục tiêu gì trong q trình tìm hiểu và
mơ tả con đường đi đến đích, ln biết hướng tới những quyết định và hoạt động
của mình vào mục đích đã đặt ra.
VD: Khi hướng dẫn học sinh viết thuật toán giải phương trình bậc nhất dạng
tổng quát:
bx + c = 0
Tôi hướng cho học sinh các bước thực hiện như sau:
Bước 1: Xác định bài toán:
- Input: các số b, c
- Output: Nghiệm của pt bậc nhất.
Bước 2: Nêu ý tưởng giải bài toán (các trường hợp của b và c)
- b = 0 và c =0  phương trình có vơ số nghiệm.
+ c ≠ 0  phương trình vơ nghiệm
- B ≠ 0  phương trình có một nghiệm x  -c/b
Bước 3: Viết thuật toán
B1: Nếu b =0 thì chuyển tới B3.
B2: Tính nghiệm pt x -c/b rồi chuyển tới B4.
6


B3: Nếu c≠0 thì thơng báo phương trình vơ nghiệm, ngược lại thì thơng
báo phương trình có vơ số nghiệm.
B4: Kết thúc.
*Quy lạ về quen:
Gợi động cơ trung gian với các quy lạ về quen là một yếu tố quan trọng vì
khi đưa ra vấn đề nào đó dựa trên cơ sở của kiến thức đã học để học sinh có suy
nghĩ logic và cuối cùng là đưa ra được vấn đề mới này về dạng quen thuộc để
học sinh nhận dạng. Khi đó kiến thức mới này sẽ được học sinh tiếp thu một
cách dễ dàng.
VD: Xét bài toán: Viết chương trình tính Cnk.

n!

k

- Học sinh đã biết cơng thức: C n= k !( n−k )
- Bài toán này ta quy về bài toán quen thuộc là viết chương trình tính n!.
* Xét tính tương tự:
Giáo viên cần cho học sinh hiểu được: Kiến thức bài trước là cơ sở cho
bài sau, kiến thức chương trước là cơ sở, bàn đạp để học sinh tìm tịi kiến thức
chương sau.
VD1: Khi học sinh viết được chương trình tính n! thì tương tự ta u cầu học
sinh viết chương trình tính an.
- Đoạn chương trình tính n!:
gt=1
for i in range (1, n):
gt = gt*i
- Đoạn chương trình tính an :
lt =1
For i in range (1,n):
lt = lt*a
VD2: Sau khi học sinh đã biết cách viết chương trình tìm giá trị lớn nhất của
dãy số nguyên A cho trước thì học sinh có thể giải được các bài tập tương tự
như tìm giá trị nhỏ nhất của dãy số nguyên A cho trước.
* Khái qt hóa:
VD1: Xuất phát từ bài tốn: Viết chương trình nhập 2 số nguyên a, b khác nhau
từ bàn phím và in ra màn hình số lớn nhất trong 2 số đó.
- Học sinh đã biết cách viết chương trình như sau:
a = int(input(“nhap a:”))
b = int(input(“nhap b:”))
if a > b:

print (“so lon nhat la:”, a)
else:
7


print (“so lon nhat la:”, b)
Tiếp theo yêu cầu học sinh viết chương trình in ra màn hình số lớn nhất
trong 3 số a, b, c khác nhau nhập từ bàn phím.
Để giải bài tốn trên tơi hướng dẫn học sinh như sau:
+ Ta sử dụng thêm biến Max để lưu số lớn nhất.
+ Ban đầu Max gán bằng a.
+ Sử dụng lệnh If dạng đủ để kiểm tra 2 số cịn lại. Nếu số nào lớn hơn
thì biến Max nhận giá trị mới.
+ Đoạn chương trình:
max = a
if b > c:
max = b
else:
max:= c
print (“so lon nhat la: “, max)
Sau khi thực hiện được chương trình tìm số lớn nhất trong 3 số thành
công. Khái quát: yêu cầu học sinh giải bài tốn: Viết chương trình nhập dãy gồm
N số nguyên: A1, A2,..An. In ra màn hình số lớn nhất trong dãy đó.
Để thực hiện bài tốn trên, tơi hướng dẫn học sinh cách làm:
+ Sử dụng biến mảng để lưu dãy gồm N số nguyên: A1, A2,….An.
+ Áp dụng cách làm tương tự như đối với 3 số: Ban đầu Max = A[1];
Dùng vòng lặp For để duyệt các phần tử còn lại từ A2 đến An. Thực hiện phép
so sánh: Max với A[i]. Nếu A[i] > Max thì Max nhận giá trị mới. Cuối cùng, ta
tìm được số lớn nhất.
+ Đoạn chương trình như sau:

max= A[1]
for i in range(2, n):
if A[i] > max:
max:=A[i]
print (“so lon nhat la:”, max)
VD2: Bài tốn: Viết chương trình đếm xem có bao nhiêu số lẻ trong phạm vi từ
10 đến 100. [5].
- Học sinh đã biết cách viết chương trình như sau:
dem = 0
for i in range(10,100):
if i % 2 != 0: dem = dem+1
Print (“co” ,dem, ”so le trong pham vi tu 10 den 100”)
Sau đó, yêu cầu học sinh viết chương trình đếm có bao nhiêu số lẻ trong
phạm vi từ n đến m (n < m), với n, m là 2 số nguyên nhập từ bàn phím.
8


Để làm bài này, ta phải nhập n và m, sau đó dùng vịng lặp tiến với chỉ số
đầu là n và chỉ số cuối là m:
n = int(input(“nhập n=”))
m = int(input(“nhập m=”))
dem = 0
for i in range( n, m):
if i % 2 != 0:
dem:=dem+1
print (“co”,dem, “so le trong pham vi tu” ,n, “den” ,m)
c. Gợi động cơ kết thúc.
Nhiều khi ngay từ đầu hay trong khi giải quyết vấn đề, ta chưa thể làm rõ
tại sao lại học nội dung này, tại sao thực hiện hoạt động kia? Những câu hỏi này
phải đợi mãi về sau mới được giải đáp trọn vẹn. Như vậy, ta đã gợi động cơ kết

thúc, nhấn mạnh hiệu quả của nội dung hoặc hoạt động đó với việc giải quyết
vấn đề đặt ra.
Cũng như gợi động cơ mở đầu và gợi động cơ trung gian, gợi động cơ kết
thúc cũng có tác dụng phát huy tính tích cực, chủ động, sáng tạo, tự giác trong
hoạt động học tập.
VD: Sau khi học xong bài Câu lệnh lặp, tôi cho học sinh quan sát 2 chương trình
sau:
- Chương trình in ra màn hình 5 dịng chữ “Xin chào”.
+ Ta sử dụng 5 câu lệnh: print (“Xin chao”)
print (“Xin chao”)
print (“Xin chao”)
print (“Xin chao”)
print (“Xin chao”)
Chương trình có sử dụng câu lệnh lặp For
For i in range(1, 5): print (“Xin chao”)
Sau đó, tơi nhấn mạnh cho học sinh thấy được sự tiện lợi của việc sử dụng
câu lệnh lặp For có thể hợp lý hóa, tiết kiệm cơng sức lập trình. Đồng thời giúp
cho người lập trình dễ kiểm tra, dễ sửa chữa.
2.3.2. Biện pháp 2: Đưa ra hệ thống các bài tập dạng nhận biết, thông hiểu
và vận dụng. [4].
Để học tốt lập trình, học sinh phải bắt đầu từ dễ đến khó, từ những bài tập
đơn giản, những điều cơ bản dễ hiểu nhất rồi mới đến những bài toán phức tạp
hơn, lớn hơn.
Sau đây là một số dạng bài tập từ nhận biết đến vận dụng mà tôi đã áp
dụng để rèn kĩ năng viết chương trình trên Python cho học sinh:
9


 Bài tập dạng nhận biết.
Đây là dạng bài tập cơ bản để học sinh hình dung ra cách viết câu lệnh và

thực hiện lệnh trong chương trình Python.
Ví dụ 1: Sắp xếp các câu lệnh cho sẵn để được một chương trình hồn chỉnh.
Cho các câu lệnh sau. u cầu học sinh sắp xếp lại các câu lệnh để được
chương trình tính chu vi và diện tích hình chữ nhật (với a, b nguyên là 2 cạnh
hình chữ nhật).
s=a*b
a=int(input(“Nhap canh a:”))
print(s)
b= int(input(“Nhap canh
b:”))
cv= (a+b)*2
print(cv)

a=int(input(“Nhap canh a:”))
b= int(input(“Nhap canh
b:”))
s=a*b
cv= (a+b)*2
print(s)
print(cv)


dụ
2: Bài tập điền vào chỗ chấm đề được chương trình hồn chỉnh.
Điền vào chỗ chấm để được chương trình đưa ra màn hình tổng các số
chẵn trong phạm vi từ 1 đến 10

 Bài tập dạng thơng hiểu.
Ví dụ 1: Bài tập về đọc hiểu chương trình:
Dạng bài tập này sẽ giúp phát triển tư duy, giúp học sinh hiểu bài, nhất là

khi dạy các cấu trúc lệnh. Đối với dạng bài này, học sinh phải hiểu ý nghĩa từng
câu lệnh trong chương trình, thực hiện từng câu lệnh trong chương trình (khơng
chạy trên máy, thực hiện bằng tay trên giấy).
Cách thực hiện:
Giáo viên chia lớp làm 4 nhóm cùng tham gia trò chơi “Ai nhanh nhất”.
Yêu cầu: Học các nhóm làm bài vào phiếu học tập. Nhóm nào có kết quả nhanh
nhất sẽ giành chiến thắng.
10


Ví dụ 2: Bài tập về sửa lỗi chương trình:
Đây là dạng bài tập đưa ra một chương trình có sẵn và yêu cầu học sinh
kiểm tra tính đúng, sai của chương trình, nếu chương trình cho kết quả khơng
đúng với yêu cầu của bài thì yêu cầu học sinh sửa lại cho chính xác, phù hợp với
yêu cầu của bài. Dạng bài này so với viết hẳn một chương trình Python thì mức
độ dễ hơn.
11


Ví dụ: Để tìm số lớn nhất trong 3 số a, b, c được nhập từ bàn phím.
Chương trình trên cho kết quả lúc đúng, lúc sai tùy thuộc vào a, b, c. Hãy
giải thích tại sao và sửa lại cho đúng.

Thực hiện chương trình với 2 bộ input sau đây:
+ a = 3, b = 4, c = 5. Kết quả số lớn nhất là 4.
+ a = 5, b = 4, c = 7. Kết quả là 7.
Chương trình trên cho kết quả sai vì mới chỉ so sánh 2 số a, b thôi đã đưa
ra kết luận. Ta có thể sửa lại chương trình như sau:

 Bài tập vận dụng.

Đối với dạng bài tập này, học sinh cần phải đọc kĩ đề bài, phân tích, xác
định được yêu cầu của bài. Khi nắm được yêu cầu đề bài, học sinh có thể hình
dung ra các cơng việc cần thực hiện trong chương trình.
Ví dụ: Viết chương trình tính và đưa ra nghiệm của phương trình bậc 2:
ax2 + bx + c = 0 (a!=0).
- Xác định bài toán:
+ Input: a, b, c (a!=0)
+ Output: Nghiệm x1, x2 thõa mãn phương trình.
- Phân tích bài tốn: Để giải bài tốn trên, trước tiên phải tính Delta = b*b4*a*c.
- Sau đó, đưa ra các trường hợp của Delta:
+ Nếu Delta < 0 thì thơng báo phương trình vơ nghiệm.
+ Nếu Delta > 0 thì thơng báo phương trình có 2 nghiệm phân biệt.
+ Nếu Delta = 0 thì thơng báo phương trình có nghiệm kép x = -b/a.
- Viết chương trình: Từ cách làm trên, học sinh sẽ biết được các bước cần thực
hiện trong bài toán:
Bước 1: Nhập 3 số a, b, c.
Bước 2: Tính Delta.
Bước 3: Sử dụng câu lệnh if – else để kiểm tra các trường hợp của
Delta.
12


- Chương trình:

2.3.3. Biện pháp 3: Hướng dẫn học sinh cách tạo các bộ Test để kiểm tra kết
quả chương trình. [3].
Chương trình sau khi viết xong có thể có rất nhiều lỗi chưa được phát
hiện như lỗi sai cú pháp ngơn ngữ lập trình, lỗi mơ tả thuật tốn … nên kết quả
khơng đúng. Vì vậy cần phải thử chương trình bằng cách thực hiện nó với một
số bộ Input tiêu biểu phụ thuộc vào đặc thù của bài tốn và bằng cách nào đó ta

biết được Output. Các bộ Input và Output tương ứng này ta gọi là các bộ Test.
Khi chạy thử chương trình với các bộ Test, nếu chương trình sai, sửa lại
chương trình rồi lại chạy thử lại, quá trình tiếp tục cho đến khi khơng cịn lỗi nào
nữa và bài tốn cho kết quả đúng mới hồn thành.
Ví dụ: Để kiểm tra kết quả bài tốn giải phương trình bậc 2:
2
ax + bx + c = 0 (a<>0), tôi hướng dẫn học sinh đưa ra các bộ Test sau:
 Test 1:
+ Input: a = 1, b = 2, c = 6
+ Output: Phương trình vô nghiệm
 Test 2:
+ Input: a = 1, b = 4, c = 4.
+ Output: Phương trình có nghiệm kép x1=x2 = -2
 Test 3:
+ Input: a = 1, b = 5, c = 6
+ Output: phương trình có 2 nghiệm phân biệt x1 = -3, x2 = -2
2.3.4. Biện pháp 4: Tận dụng tối đa các giờ học tại phịng máy.
Qua thực tế giảng dạy tơi thấy hầu hết các em đều rất thích được lên
phịng máy để thực hành. Phịng máy ngồi máy tính bàn cho các em thực hành
thì vẫn có máy chiếu nên những tiết thực hành trên phòng máy thực sự hiệu quả.
Giáo viên sẽ hướng dẫn chi tiết bài lập trình trên phần mềm và trình chiếu, học
13


sinh quan sát và làm theo. Các em sẽ rất hứng thú khi tận tay gõ được một
chương trình và chạy ra kết quả.
Tuy nhiên khơng nhất chương trình giáo viên gõ mẫu phải chính xác,
thậm chí cố tình làm sai vài chỗ, để khi hiệu chỉnh chương trình các em chủ
động tìm ra lỗi để sửa và để tìm ra lỗi địi hỏi các em phải nắm vững lí thuyết.
Một vài lần như thế các em sẽ nắm được cốt lõi của vấn đề, sẽ tạo thành một kỹ

năng làm bài trên máy của các em. Sau đó, giáo viên mới giao bài tập tương tự
để các em tự làm, giáo viên quan sát và hỗ trợ quá trình các em thực hành.
Trong quá trình thực hành, giáo viên có thể chia nhóm để nhiều học sinh
làm chung một máy, lưu ý mỗi nhóm cần có học sinh khá để giúp đỡ các em học
yếu hơn.
Ví dụ: Khi dạy tiết thực hành câu lệnh rẽ nhánh.
Các bước thực hiện:
Giáo viên chia nhóm: 3 học sinh/ 1 nhóm/ 1 máy tính. Sau đó đưa ra các
dạng bài tập trong tiết thực hành.
Bài 1: GV chiếu sẵn chương trình trên máy chiếu (có thể chương trình cịn
lỗi)
u cầu: Học sinh gõ chương trình, sửa lỗi và chạy chương trình quan sát kết
quả.

Bài 2: Giáo viên giao bài tập tương tự:
Viết chương trình nhập từ bàn phím 3 số ngun dương a, b, c và kiểm tra
xem chúng có là bộ số Pi – ta – go hay không. Biết rằng bộ ba số nguyên a, b, c
được gọi là bộ số Pi – ta – go nếu tổng bình phương của 2 số bằng tổng bình
phương số cịn lại.
Ý tưởng: Kiểm tra xem có đẳng thức nào trong 3 đẳng thức sau đây xảy ra
hay không:
a2 = b2 + c2
b2 = a2 + c2
c2 = a2 + b2
Bài 3: Viết chương trình nhập từ bàn phím 2 số ngun a, b. Đưa ra màn
hình dịng thơng báo “Positive” nếu a + b>0, “Negative” nếu a = b < 0 và “Zero”
nếu a + b = 0.
Giáo viên hướng dẫn học sinh sử dụng câu lệnh if – else.
Học sinh viết chương trình, chạy chương trình và kiểm tra kết quả.


14


2.3.5. Biện pháp 5: Tạo hứng thú trong giờ học lập trình [4].
Trong quá trình học tập, nhất là học lập trình địi hỏi phải tư duy, động
não. Đặc biệt khi gặp những bài tốn khó sẽ khiến học sinh cảm thấy mệt mỏi,
chán nản, mất đi hứng thú học tập. Vì vậy, đối với giáo viên nên biết các
phương pháp tạo hứng thú trong học tập để cơ thể và trí não có thời gian phục
hồi, thư giãn và tạo kết quả học tập tối ưu nhất.
Trong quá trình giảng dạy, tôi đã áp dụng các phương pháp sau để tạo
hứng thú cho học sinh:
 Thu hút sự chú ý bằng cách đặt câu hỏi hoặc tổ chức trò chơi nhỏ.
Cách dẫn dắt học sinh vào bài giảng có vai trò rất quan trọng quyết định
đến chất lượng cả buổi học. Vì vậy, giáo viên nên tận dụng khoảng thời gian này
để thu hút sự chú ý của học sinh.
Ví dụ 1: Tổ chức trị chơi phù hợp với thời gian và nội dung bài học.
Trước khi dạy bài “Cấu trúc rẽ nhánh”, tôi tổ chức cho học sinh chơi trị
chơi “Ơ chữ” được thiết kế trên Powerpoint.
- Luật chơi:

- Minh họa trò chơi:

- Các câu hỏi hàng ngang:
Câu 1: Đây là câu lệnh đưa dữ liệu ra màn hình trong Python?
Câu 2: Đây là 1 trong giá trị của kiểu logic?
Câu 3: Đây là câu lệnh để nhập dữ liệu vào từ bàn phím của Python?
15


Câu 4: Đây là tên của thư viện Toán học?

Câu 5: Đây là kiểu số thực trong NNLT Python?
Câu 6: Đây là một trong các kiểu số nguyên của Python?
Câu 7: Điền từ còn thiếu vào chỗ chấm: Biến là đại lượng có giá trị………..đổi
trong q trình thực hiện chương trình.
- Từ khóa hàng dọc: RẼ NHÁNH.
Ví dụ 2: Khi dạy xong bài: Câu lệnh rẽ nhánh và câu lệnh lặp, tôi cho học sinh
luyện tập kiến thức đã học thơng qua trị chơi: “Vịng quay may mắn”.
 Cách thực hiện:
GV phổ biến luật chơi như sau: Giáo viên gọi một học sinh lên bảng.
- Học sinh lên nhấn vào quay, sau đó ấn một phím bất kì để xem được bao
nhiêu điểm
- Nếu trả lời đúng thì sẽ nhận được điểm đã quay được, cịn trả lời sai thì
khơng có điểm.
- Học sinh nào có điểm cao nhất sẽ là người chiến thắng.
- Trò chơi được thiết kế trên phần mềm Powerpoint:

16


17


Với hình thức vừa học vừa chơi, khơng khí lớp học trở nên sôi nổi, hào
hứng. Học sinh vừa tiếp thu được kiến thức và giảm bớt căng thẳng khiến tiết
học hiệu quả hơn .
 Tạo khơng khí vui vẻ, thoải mái bằng những lời nói, câu chuyện hài
hước.
Trong mỗi giờ học, sau mỗi thành quả đạt được của học sinh nên kèm
theo lời khen ngợi, biểu dương của giáo viên để khuyến khích các em mạnh dạn
hơn trong việc xây dựng bài.

Việc học tập ảnh hưởng rất lớn đến tâm lí và sức khỏe của học sinh, có
những tiết học thật sự tập trung căng thẳng. Nếu như giáo viên khơng có một
chút hài hước đúng thời điểm sẽ dẫn đến tiết học không hiệu quả, học sinh cảm
thấy mệt mỏi, chán nản, tập trung mà không hiểu bài. Những lúc như thế giáo
viên nên pha trò, động viên các em bằng những câu nói hài hước như “Lúc mới
học đến phần này cơ (thầy) cũng khơng hiểu gì, nhưng sau hiểu ra lại thấy rất
đơn giản”, học sinh sẽ phấn chấn hơn và nghĩ rằng nó khơng khó như mình nghĩ.
 Tạo ra các hoạt động tập thể, nhóm.
Hoạt động nhóm là phương pháp dạy học tích cực, học sinh khi được hoạt
động nhóm, tất cả sẽ được đóng góp ý kiến và trao đổi với nhau. Việc thi đua
giữa các nhóm cũng là động lực giúp các em đoàn kết, xây dựng và phát triển
bài học, giúp tiết học trở nên sôi nổi hơn, học sinh sẽ tiếp thu bài tốt hơn.
 Sử dụng sơ đồ tư duy.
Hiện nay, sơ đồ tư duy đang được nhiều giáo viên sử dụng để tổng kết
kiến thức. Sơ đồ tư duy giúp kích thích khả năng quan sát, suy luận logic, đặt
vấn đề của học sinh, rất phù hợp với sự phát triền của thần kinh não bộ.
Khi giáo viên sử dụng sơ đồ tư duy vào dạy học, học sinh sẽ cảm thấy
hứng thú hơn, hiểu bài và ghi nhớ tốt hơn các khái niệm và nội dung chính của
bài giảng.
Ví dụ: Sơ đồ tư duy về các câu lệnh trong Python.
18


2.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 thời gian tìm hiểu, nghiên cứu và vận dụng sáng kiến vào dạy học ở các
khối lớp trường THPT Thường xuân 2 thì kết quả nhận được rất khả quan, được
các đồng nghiệp đánh giá cao về tính hiệu quả và thực tiễn của đề tài.
Học sinh rất có hứng thú với mơn học. Bước đầu khơi dạy lịng đam mê,
u thích mơn Tin học.

So với đầu năm tơi thấy kết quả có khả quan hơn thể hiện qua biểu đồ
sau:

19



×