1. Trang chủ
  2. » Trung học cơ sở - phổ thông

SKKN Nâng cao hiệu quả trong giờ thực hành tin học lớp 11

22 449 20

Đ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

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 192,5 KB
File đính kèm SKKN-1516-HIENTIN.rar (44 KB)

Nội dung

Nâng cao hiệu quả trong giờ thực hành tin học 11. Sáng kiến kinh nghiệm “Một số biện pháp phát huy năng lực của học sinh nâng cao hiệu quả trong giờ thực hành tin học 11” với mong muốn đóng góp một phần rất nhỏ về phương pháp dạy thực hành môn tin học, cùng chia sẻ kinh nghiệm với các bạn đồng nghiệp.

Trang 1

CẤU TRÚC SÁNG KIẾN

PHẦN MỞ ĐẦU 2

1 Lý do chọn đề tài 2

2 Mục đích nghiên cứu 2

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

4 Phạm vi nghiên cứu 3

PHẦN NỘI DUNG 4

I Tình hình thực tế trước khi thực hiện đề tài 4

II Một số biện pháp phát huy năng lực của học sinh nhằm nâng cao hiệu quả giờ thực hành 4

1 Chuẩn bị của giáo viên và học sinh 4

2 Một số biện pháp 5

a) Phát huy năng lực tự học 5

b) Phát triển năng lực đặt và giải quyết vấn đề 8

c) Nhận xét, đánh giá giờ thực hành 14

d) Phân loại học sinh 15

III Kết quả 16

PHẦN KẾT LUẬN VÀ KIẾN NGHỊ 17

1 Bài học kinh nghiệm 17

2 Hạn chế và phạm vi áp dụng 17

3 Hướng phát triển 17

4 Kiến nghị đề xuất 18

TÀI LIỆU THAM KHẢO 19

Trang 2

PHẦN MỞ ĐẦU

1 Lý do chọn đề tài

Hiện nay môn Tin học đã trở thành môn học bắt buộc trong nhà trườngphổ thông Đây là một thuận lợi rất lớn cho việc tiến hành giảng dạy Họcsinh sẽ nghiêm túc hứng thú và có trách nhiệm hơn khi học môn Tin học.Một trong những đặc thù của môn Tin học đó là lí thuyết gắn liền vớithực hành Rất nhiều bài học được diễn đạt hoàn toàn thông qua các thao tácthực hành trên máy tính Đồng thời, sau mỗi tiết lí thuyết, lại có bài thực hành

để học sinh củng cố và nâng cao kĩ năng thực hành Do vậy dạy thực hành tinhọc là yếu tố không thể thiếu khi giảng dạy môn tin học

Tuy nhiên, qua quá trình giảng dạy, tôi nhận thấy việc tổ chức cho họcsinh thực hành còn chưa đạt hiệu quả cao do nhiều yếu tố tác động Một trongcác yếu tố đó là sự tổ chức giờ thực hành còn thiếu khoa học, chưa phát huyhết được tính tích cực, chủ động của học sinh

Là một giáo viên được giảng dạy môn tin học tại trường, tôi cũng nhiềulần băn khoăn, suy nghĩ làm sao để nâng cao được hiệu quả thực hành mônTin học, đặc biệt giúp các em nâng cao kĩ năng, năng lực thực hành lập trình

Pascal trong chương trình tin học lớp 11 Do vậy tôi viết kinh nghiệm “Một

số biện pháp phát huy năng lực của học sinh nâng cao hiệu quả trong giờ thực hành tin học 11” với mong muốn đóng góp một phần rất nhỏ về

phương pháp dạy thực hành môn tin học, cùng chia sẻ kinh nghiệm với cácbạn đồng nghiệp

2 Mục đích nghiên cứu

Nghiên cứu tổ chức dạy học thực hành tin học nhằm phát huy năng lực

và nâng cao chất lượng của học sinh trong giờ thực hành tin học lớp 11

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

Khảo sát thực trạng, tiến hành thực nghiệm qua tiết dạy thực tế, có đốichứng kết quả trước và sau khi thực hiện

Trang 3

4 Phạm vi nghiên cứu

- Thời gian nghiên cứu: Tháng 9/2013 đến tháng 2/2016

- Đối tượng nghiên cứu: Học sinh khối 11

- Địa điểm nghiên cứu: Trường THPT Nguyễn Siêu

Trang 4

PHẦN NỘI DUNG

I Tình hình thực tế trước khi thực hiện đề tài

Một thực trạng phổ biến hiện nay là giờ thực hành, giáo viên sau khikhởi động máy tính lại phải đợi học sinh gõ văn bản chương trình mất rấtnhiều thời gian, sau đó hướng dẫn sửa lỗi được 1, 2 nhóm là hết giờ Trongkhi đó các nhóm khác, học sinh không biết phải làm gì, không biết khắc phụclỗi như thế nào, thậm chí còn không biết là mình có sai hay không? Đa số họcsinh không tự sửa được lỗi, nếu học sinh có hỏi, giáo viên cũng không đủ thờigian sửa lỗi cho tất cả các máy Đặc biệt học sinh gặp khó khăn trong cáctrường hợp mà bài tập thực hành chưa có chương trình cụ thể mà mới đượcgiáo viên mô tả giải thuật và lúng túng không biết viết các lệnh nhằm giaotiếp giữa người và máy được dễ dàng

Một số học sinh không thể thực hành được nhiệm vụ của giờ thực hànhnên chán nản, gây mất trật tự hoặc quay sang thực hiện các thao tác ngoài nộidung bài học Do đó, các giờ thực hành thường không đạt được mục đích, yêucầu đã đề ra

II Một số biện pháp phát huy năng lực của học sinh nhằm nâng cao hiệu quả giờ thực hành.

Để nâng cao chất lượng dạy học thì một trong các biện pháp là phải thựchiện hiệu quả các giờ thực hành trên phòng máy Trải qua quá trình giảng dạy,tôi xin đề xuất một số biện pháp sau nhằm nâng cao hiệu quả các giờ thựchành:

1 Chuẩn bị của giáo viên và học sinh

Giáo viên:

Tổ chức vào lớp: Do vị trí phòng thực hành trên tầng 3, nên việc chohọc sinh di chuyển lên phòng thực hành mất khá nhiều thời gian Do vậy, cầncho các em lên phòng thực hành trước khoảng 3 đến 5 phút

Chuẩn bị tốt phương tiện dạy học như phòng máy, máy tính hoạt độngtốt, đầy đủ chuột, bàn phím, các phần mềm học tập, máy chiếu, phông chiếu(nếu cần)

Trang 5

Phổ biến và thực hiện nghiêm túc nội quy thực hành trong phòng máy

Sáng tạo là một vấn đề quan trọng của đổi mới phương pháp giảng dạy

và giáo dục Từ đó, người ta đặt ra vấn đề giải phóng tiềm năng sáng tạo chomỗi người ở bất kỳ xã hội nào, thế hệ nào Đây là một tư tưởng đầy nhân văn

và dân chủ Trong mối tương quan như vậy, đổi mới phương pháp giáo dụcnói chung và đổi mới phương pháp dạy học nói riêng thực sự có một ý nghĩa

vô cùng to lớn Dạy học không chỉ đơn thuần là thông báo kiến thức đến họcsinh mà cái quan trọng nhất là dạy cách tự học để học sinh không chỉ học tốt

mà còn chuẩn bị một tâm thế để "học suốt đời" sau này

Đối với môn Tin học, hình thành cho học sinh thói quen tự học là mộtviệc rất cần thiết, bởi nếu học sinh chỉ học trên lớp, chỉ tiếp thu kiến thứcthầy cô giáo giảng trên lớp thì khó có thể nắm bắt hết nội dung một cách kĩcàng bởi lượng kiến thức yêu cầu trong một tiết học trên lớp rất nhiều Chính

vì vậy, với mỗi bài học, tôi thường yêu cầu học sinh tự đọc bài, tự tìm hiểubài ở nhà Đặc biệt, đối với các bài thực hành, các em tự đọc yêu cầu, đọcchương trình, hiểu từng câu lệnh trong chương trình Khi đến lớp, học sinh sẽhỏi các bạn hoặc thầy cô nội dung mà mình chưa hiểu, hoặc chạy chươngtrình trên máy để kiểm nghiệm rút ra kết luận, từ đó học sinh hiểu sâu hơn,chắc hơn kiến thức

Ví dụ trong bài thực hành 3, yêu cầu học sinh đọc trước bài ở nhà, tìmhiểu yêu cầu bài thực hành, đọc trước đề bài, chương trình thực hành trongsách giáo khoa

Bài 1 Tạo mảng A gồm n (n<=100) số nguyên, mỗi số có giá trị tuyệt đối không quá 300 Tính tổng các phần tử của mảng là bội số của một số nguyên dương k cho trước.

Khi đọc yêu cầu của bài, học sinh cần hiểu được yêu cầu của bài

Trang 6

Input Cho dãy số nguyên gồm N số A1, A2…AN, số nguyên k

Output Tổng các số nguyên là bội số của k

Giả sử ta có dãy gồm 7 số nguyên là 7,6,5,9,11,23,30 và k=5 Khi đó ta

Readln(n); { Tạo ngẫu nhiên mảng A gồm N số nguyên}

For i:=1 to n do a[i]:=random(300) – random(300):

For i:=1 to n do write(a[i]:5); { In ra mảng vừa tạo}

Writeln(‘nhap k=’);

Readln(k);

S:=0;

For i:= 1 to n do

If a[i] mod k =0 then s:=s+a[i];

Writeln(‘ Tong can tinh la ‘, s);

Readln

End.

Học sinh sẽ tự đọc chương trình, tìm hiểu ý nghĩa từng câu lệnh Với cácthủ tục và hàm mới, sách giáo khoa đã chú thích rõ ràng, đa số các em họcsinh khá giỏi có thể tự hiểu Tuy nhiên với các em học sinh trung bình, yếu,

có thể chưa hiểu các em sẽ đặt ra cho mình các câu hỏi như

Thủ tục Randomize có ý nghĩa gì?

Trang 7

Câu lệnh For i:=1 to n do a[i]:=random(300) – random(300); dùng để

làm gì?

Tại sao lại phải kiểm tra a[i] mod k=0 ?

Từ việc đặt ra các câu hỏi như vậy sẽ kích thích học sinh tìm hiểu câutrả lời, từ đó các em sẽ hiểu hơn, nhớ lâu hơn kiến thức

Đối với các em khá giỏi, đã hiểu chương trình ở câu a, các em sẽ đi đếntìm hiểu yêu cầu câu b)

Hãy đưa các câu lệnh sau đây vào những vị trí cần thiết nhằm sửa đổi chương trình trong câu a) để có được chương trình đưa ra số các số dương và số các số âm trong mảng

posi, neg : Integer;

posi:=0; neg:=0;

If a[i] >0 then posi:= posi+1

Else if a[i]<0 then neg:=neg +1;

writeln( posi: 4, neg:4) ;

Để thực hiện được yêu cầu ở câu b, học sinh cần hiểu được ý nghĩa từngcâu lệnh để tìm được vị trí thích hợp

Câu lệnh posi, neg : Integer; nghĩa là gì? Đa phần các em sẽ hiểu được

đây là câu lệnh khai báo hai biến posi và neg và biết đặt câu lệnh này sau từkhóa var

Câu lệnh posi:=0; neg:=0; dùng để làm gì? Đây là câu lệnh khởi tạo giá

trị cho biến posi và neg, ta có thể đặt câu lệnh này ở bất kì vị trí nào trước

vòng lặp tính giá trị posi và neg.

Câu lệnh

If a[i] >0 then posi:= posi+1

Else if a[i]<0 then neg:=neg +1;

Đây là câu lệnh đếm số posi và số neg, nhận xét rằng để kiểm tra được

hết các phần tử trong mảng A có là số dương hay âm không thì ta phải đặt câu

lệnh này trong vòng lặp for i:=1 to n do

Trang 8

Câu lệnh write( posi: 4, neg:4) ; là câu lệnh hiển thị posi và neg lên màn hình nên ta sẽ đặt câu lệnh này ở cuối chương trình trước câu lệnh readln.

Để kích thích các em tự học ở nhà, tôi thường kiểm tra vào đầu tiết học,khen ngợi, cho điểm các em có tinh thần tự học, chuẩn bị bài tốt Khích lệ,nhắc nhở các em chưa tích cực tự tìm hiểu ở nhà, để các em tích cực hơn vàocác tiết học sau

Tôi nhận thấy việc yêu cầu các em tự học ở nhà giúp các em có tinh thần

tự giác trong việc học, chuẩn bị bài trước khi đến lớp, hiểu bài hơn Khi đếngiờ học, giáo viên sẽ giải đáp các thắc mắc, câu hỏi của học sinh, giảng giảicho các em nội dung còn chưa hiểu, phân tích giảng giải các nội dung khóhơn, giáo viên đi hết nội dung của bài mà vẫn đạt hiệu quả

b) Phát triển năng lực đặt và giải quyết vấn đề

Dạy học phát hiện và giải quyết vấn đề là phương pháp dạy học trong

đó giáo viên tạo ra những tình huống có vấn đề, điều khiển học sinh phát hiệnvấn đề, hoạt động tự giác, tích cực, chủ động sáng tạo để giải quyết vấn đề vàthông qua đó chiếm lĩnh tri thức, rèn luyện kĩ năng và đạt được những mụcđích học tập khác

Tình huống có vấn đề là một tình huống gợi ra cho học sinh những khókhăn về lí luận hay thực tiễn mà họ thấy cần và có khả năng vượt qua, nhưngkhông phải ngay tức khắc bằng một thuật giải mà phải trải qua quá trình tíchcực suy nghĩ, hoạt động để biến đổi đối tượng hoạt động hoặc điều chỉnh kiếnthức có sẵn

Việc lập trình Pascal trong môn tin học lớp 11 là một chuỗi các tìnhhuống có vấn đề, việc giúp các em đặt ra được các tình huống có vấn đề vàgiải quyết chúng giúp các em hiểu bài sâu hơn

Ví dụ 1, khi cho các em thực hành bài 1 trong bài thực hành 3, giáo viênyêu cầu học sinh nhập các giá trị n và k khác nhau và nhận xét kết quả thuđược

Trang 9

Tình huống 1 Nếu cho k=2 thì bài toán có thể phát biểu lại như thế

For i:=1 to n do

If a[i] mod 2 <> 0 then s:= s+a[i];

Tình huống 3 Em hãy sửa chương trình để đếm số các phần tử là bội

của k

Giáo viên gợi ý

Vậy để đếm số phần tử là bội của k thì ta sửa chương trình thế nào?

Ta có cần giữ lại biến s không? Dùng biến nào để lưu trữ giá trị đếmđược?

Khi có một giá trị thỏa mãn thì ta lưu trữ giá trị như thế nào?

Học sinh trả lời và giải quyết vấn đề

Ta có thể bỏ đi biến s, thay vào đó ta sử dụng biến Dem để lưu trữ giá trị

đếm được

Trang 10

Mỗi lần có một phần tử thỏa mãn điều kiện là bội của k thì ta cộng vào

biến Dem 1 đơn vị bằng câu lệnh Dem:= Dem + 1;

Như vậy để kiểm tra và đếm hết các phần của mảng A có thỏa mãn điềukiện hay không ta viết đoạn lệnh sau

For i:=1 to n do

If a[i] mod k = 0 then dem:= dem +1;

Tình huống 4 Em hãy sửa lại chương trình để nhập dữ liệu từ bàn

phím

Từ việc phân tích đoạn lệnh nào là đoạn lệnh tạo ra mảng A, học sinh sẽbiết được để nhập dữ liệu từ bàn phím ta xóa đoạn lệnh tạo mảng A tự động,thay vào đoạn lệnh nhập các phần tử của mảng A từ bàn phím

Như vậy qua phần phân tích chương trình, chạy thử, và các tình huống

mà giáo viên đặt ra, học sinh có thể giải quyết, mở rộng bài thực hành

Ví dụ 2, trong bài thực hành 3,

Bài 2 Viết chương trình tìm phần tử có giá trị lớn nhất của mảng và đưa ra màn hình chỉ số và giá trị của phần tử tìm được Nếu có nhiều phần tử có cùng giá trị lớn nhất thì đưa ra phần tử có chỉ số nhỏ nhất.

Chương trình

Const Nmax=100;

Type MyArray = array[1 Nmax] of integer;

Trang 11

For i:=2 to N do if A[i] > A[j] then j:=I;

Write(‘Chi so : ‘,j , ‘Gia tri : ‘, a[j]:4);

Readln

End.

Đặt vấn đề, chương trình trên thực hiện công việc gì?

Giáo viên gợi ý

Em hãy suy nghĩ về vai trò của biến j qua câu lệnh khởi gán giá trị chobiến j trước khi duyệt từng phần tử của mảng bằng vòng lặp for – do, qua câulệnh if – then dung để kiểm tra phần tử thứ I của mảng và lưu trữ chỉ số nàytrong biến j

Em hãy chạy thử chương trình trên giấy để thấy giá trị của biến j thayđổi với bộ dữ liệu thực tế

Học sinh suy nghĩ, thực hiện

Giả sử với bộ dữ liệu mảng A bao gồm các phần tử 8, 5, 13, 50, 45 ta chạythử chương trình như sau

J=1

Trang 12

I=2 Xét ai < aj I=3 xét ai=13>aj=8 nên j=3 I=4 xét ai=50> aj=13 nên j=4 I=5 xét ai<aj

Chi so : 4, Gia tri: 50

Kết luận được sau khi thực hiện, chương trình cho kết quả là chỉ số và giá trịcủa phần tử lớn nhất trong mảng

Tình huống 1 Em hãy sửa chương trình để tìm phần tử nhỏ nhất của mảng

Học sinh suy nghĩ và thấy được để tìm phần tử nhỏ nhất ta chỉ cần thay dấu >thành dấu < trong câu lệnh sau

For i:=2 to N do if A[i] < A[j] then j:=I;

Tình huống 2 Em hãy sửa chương trình để đưa ra phần tử lớn nhất với chỉ

số lớn nhất

Giáo viên cũng gợi ý học sinh tìm hiểu với bộ dữ liệu thực tế

Giả sử ta có bộ dữ liệu như 8, 50, 13, 50,45

Thì kết quả thu được sẽ là Chi so: 4, Gia tri : 50

Vậy cần chỉnh sửa câu lệnh

if A[i] > A[j] then j:=I;

thành câu lệnh

do if A[i] >= A[j] then j:=I;

Tình huống 3 Chỉnh sửa chương trình để đưa ra chỉ số của các phần tử có

cùng giá trị lớn nhất

Giáo viên gợi ý

Chương trình có cần giữ lại đoạn tìm phần tử lớn nhất không?

Để đưa ra tất cả các chỉ số của các phần tử đạt giá trị lớn nhất đó có cần duyệtlại tất cả các phần tử trong mảng không?

Trang 13

Những chương trình có được ở bài 1 cũng duyệt qua các phần tử trong mảng,mỗi phần tử duyệt đến đã được kiểm tra theo một điều kiện để quyết địnhmột xử lí liên quan đến phần tử này Điều đó có gợi cho em cách giải quyếtkhông?

Qua việc trả lời các câu hỏi gợi ý trên, học sinh giải quyết vấ đề như sau

Ta giữ nguyên đoạn lệnh tìm phần tử lớn nhất

Sau đó duyệt lại toàn bộ các phần tử của mảng, so sánh với phần tử lớn nhất

để đưa ra được chỉ số của các phần tử lớn nhất

Đoạn lệnh như sau

J:=1;

For i:=2 to N do if A[i] > A[j] then j:=I;

Writeln(‘ Chi so cua cac phan tu lon nhat la :’);

For i:=1 to N do

If A[i]= A[j] then write (i:5);

Đặc biệt, khi các em gõ và chạy thử chương trình, các em sẽ gặp phảicác lỗi cú pháp, cũng như các lỗi về ngữ nghĩa Việc các em gặp các lỗi cũng

là các tình huống có vấn đề mà các em cần phải giải quyết hoặc nhờ sự trợgiúp của các bạn và thầy cô giáo

Ví dụ: Trong bài tập 5a trang 51: Viết chương trình tính tổng y=n/(n+1)

với n lần lượt nhận giá trị từ 1 đến 50

Khi thực hành viết chương trình này, học sinh hay gặp những lỗi sau:

Lỗi 1: Giá trị biến đếm không phù hợp.

Phân tích: Chỉ cho học sinh thấy con trỏ đang chỉ ở biến n Vậy có lỗi sai liên quan đến biến n Biến n ở đây đóng vai trò là biến đếm Hỏi biến

đếm có kiểu dữ liệu là gì? Khi đó học sinh sẽ nhìn ngay thấy ở phần khai báo,

biến n được khai báo kiểu real là sai.

Trang 14

Lỗi 2: Đa số học sinh viết câu lệnh nhập giá trị n từ bàn phím Trong khibiến n được nhận giá trị từ 1 đến 50 Nếu viết thêm câu lệnh này vào thìchương trình không sai, nhưng không cần thiết.

Lỗi 3: Không khởi tạo giá trị ban đầu cho biến y Việc không khởi tạo

giá trị ban đầu đôi khi sẽ làm kết quả chương trình bị sai lệch

Lỗi 4: Khởi tạo giá trị ban đầu cho biến y không đúng

Ở đây do ban đầu biến y chưa có giá trị gì nên cần khởi tạo là 0

Lỗi 5: Viết sai cú pháp câu lệnh for-do

Khi viết dấu chấm phẩy sau câu lệnh for-do, chương trình dich khôngbáo lỗi, tuy nhiên khi học sinh chạy chương trình lại ra kết quả sai mà họcsinh không hiểu tại sao

Lỗi 6: Thay đổi giá trị của biến đếm trong vòng lặp For-do

c) Nhận xét, đánh giá giờ thực hành.

Sau mỗi giờ thực hành, giáo viên dành ra ít phút nhận xét về giờ thựchành, các lỗi mà học sinh thường gặp trong giờ thực hành đó Có khen, chê rõ

Ngày đăng: 23/02/2019, 19:59

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w