Để thực hiện tốt được mục tiêu đó trước hết chúng ta phải xác định được mục đích trọng tâm là học sinh sẽ vận dụng được cái gì thông qua việc học và phải thực hiện thành công việc chuyển
Trang 1
1 MỞ ĐẦU
1 1 Lí do chọn đề tài
Chương trình giáo dục phổ thông nước ta đang trong giai đoạn 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
Để thực hiện tốt được mục tiêu đó trước hết chúng ta phải xác định được mục đích trọng tâm là học sinh sẽ vận dụng được cái gì thông qua việc học và phải thực hiện thành công việc chuyển từ phương pháp dạy học theo lối “truyền thụ một chiều” sang dạy cách học, cách vận dụng kiến thức, rèn luyện kỹ năng, hình thành năng lực và phẩm chất Đồng thời phải chuyển cách đánh giá kết quả giáo dục từ nặng về kiểm tra trí nhớ sang kiểm tra, đánh giá năng lực vận dụng kiến thức giải quyết vấn đề, coi trọng cả kiểm tra đánh giá kết quả học tập với kiểm tra đánh giá trong quá trình học tập để có thể tác động kịp thời nhằm nâng cao chất lượng của các hoạt động dạy học và giáo dục
Trước bối cảnh đó và để chuẩn bị cho quá trình đổi mới chương trình, sách giáo khoa giáo dục phổ thông, chúng ta cần thiết phải đổi mới đồng bộ phương pháp dạy học và kiểm tra đánh giá kết quả giáo dục theo định hướng phát triển năng lực người học
Trên thực tế môn Tin học là một môn học mới so với các môn khác trong
hệ thống chương trình giáo dục phổ thông, nhưng đã khẳng định được vai trò và
vị trí quan trọng của mình Cùng với tất cả các bộ môn khác, bộ môn Tin học cũng đã và đang được quan tâm, điều chỉnh thông qua việc đổi mới phương pháp giảng dạy để đạt được mục tiêu chung của ngành giáo dục
Như chúng ta biết, chương trình sách giáo khoa Tin học 11 trang bị cho học sinh một số kiến thức cơ bản về cấu trúc dữ liệu và ngôn ngữ lập trình bậc cao Bên cạnh đó rèn luyện cho các em kĩ năng giải được một số bài toán đơn giản trên máy tính bằng cách vận dụng được các kiến thức về cấu trúc dữ liệu, thuật toán, trên một ngôn ngữ lập trình cụ thể Thực tế cho thấy học sinh gặp rất nhiều khó khăn trong việc học Tin học, đặc biệt là phần tin học khối lớp 11 Một trong những nội dung cơ bản mà học sinh hay gặp vướng mắc đó là việc lựa chọn và sử dụng các cấu trúc lệnh khi xây dựng chương trình giải một bài toán trên máy tính điện tử
1.2 Mục đích nghiên cứu
Với những khó khăn như vậy việc nghiên cứu, áp dụng phương pháp dạy học tích cực định hướng hình thành năng lực học sinh vào dạy - học để nâng cao chất lượng là hết sức quan trọng và cần thiết đối với các cấp quản lý giáo dục nói chung và đối với bản thân mỗi giáo viên nói riêng Vì vậy tôi đã lựa chọn đề
tài nghiên cứu " Dạy học và kiểm tra, đánh giá theo định hướng phát triển năng lực của học sinh Chủ đề: Cấu trúc lặp - Tin học 11" với mong muốn giúp học sinh phát huy tính tích cực, chủ động khai thác những kiến thức cơ bản một cách chắc chắn và sâu sắc Từ đó áp dụng được linh hoạt vào giải quyết các dạng bài tập thường gặp
Trang 2
1.3 Đối tượng nghiên cứu
Để việc dạy – học hiệu quả hơn, trong chuyên đề này tôi xin trình bày từng bước quá trình xây dựng chủ đề “Cấu trúc lặp” - Tiết 13 phân phối chương trình theo định hướng hình thành năng lực cho học sinh Trong giới hạn chuyên đề tôi từng bước vận dụng việc xác định chủ đề nghiên cứu, chuẩn kiến thức kĩ năng
và các loại câu hỏi/bài tập theo hướng đánh giá năng lực học sinh Đồng thời tôi cũng hệ thống các câu hỏi/bài tập minh họa cho các mức độ đã mô tả Đặc biệt tôi cũng đã xây dựng chi tiết tiến trình tổ chức dạy học nhằm hướng tới những năng lực đã xác định Trong tổ chức bài giảng tôi cũng đã áp dụng tối đa phương pháp dạy học tích cực định hướng hình thành năng lực, lấy người học làm trung tâm giúp học sinh thực sự được đặt vào các tình huống, vấn đề và có nhu cầu giải quyết từ đó tư duy tìm cách giải quyết Trong quá trình thực hiện tôi cố gắng trình bày khá chi tiết việc nêu tình huống có vấn đề để gợi động cơ hoạt động cho học sinh, kích thích hứng thú học tập và định hướng một cách hữu hiệu hoạt động học tập của học sinh Với cách thức như vậy, tôi tin rằng học sinh có thể dễ dàng nắm được các kiến thức từ đó phân tích, tổng hợp, trừu tượng hoá, khái quát hoá để hình thành và phát triển phương pháp cũng như kỹ năng lập trình
1.4 Phương pháp nghiên cứu
Nhóm các phương pháp lý luận:
Nghiên cứu văn bản, chỉ thị của Bộ Giáo dục và Đào tạo về “Dạy học và kiểm tra, đánh giá kết quả học tập của học sinh theo định hướng năng lực” Các tài liệu sư phạm liên quan đến công tác giảng dạy môn Tin học cho học sinh trong các trường THPT hiện nay
Nhóm phương pháp thực tiễn:
Quan sát, phân tích thực tiễn "Dạy học và kiểm tra, đánh giá theo định hướng
phát triển năng lực của học sinh Chủ đề: Cấu trúc lặp - Tin học 11"
Tham khảo, trao đổi ý kiến của các giáo viên, học sinh về một số biện pháp nhằm nâng cao chất lượng môn Tin học cho học sinh trường THPT Vĩnh Lộc
Nhóm phương pháp bổ trợ:
Bản thân sử dụng một số phương pháp cơ bản:
Phương pháp thống kê số liệu
Phương pháp đối chứng
Phương pháp so sánh
Trang 3
2 NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lí luận
Việc sử dụng một phương pháp dạy học tích cực trong quá trình dạy học không phải là vấn đề mới, nó đã được nghiên cứu ở nhiều bộ môn khác nhau, tuy nhiên do mỗi môn học đều có những đặc thù riêng nên cũng cần những phương pháp áp dụng riêng
Dạy học và kiểm tra đánh giá theo định hướng phát triển năng lực của học sinh là một trong các phương pháp dạy học tích cực mới và khó Vì thế đòi hỏi chúng ta phải luôn tìm tòi, bồi dưỡng để nâng cao năng lực chuyên môn, nghiệp
vụ sư phạm và từng bước áp dụng vào thực tiễn dạy – học ở trường phổ thông
2.2 Thực trạng
Chương trình sách giáo khoa tin học lớp 11 bao gồm 52 tiết, trong đó phần Cấu trúc lặp được phân phối 3 tiết lý thuyết Tuy thời lượng chương trình dành cho cấu trúc lặp không nhiều nhưng đây là một trong những cấu trúc lệnh cơ bản quan trọng, thường gặp mà học sinh cần phải tiếp cận và hiểu bản chất thì mới
có thể lựa chọn và vận dụng thành thạo trong mô tả các bước của thuật toán khi lập trình giải một bài toán trên máy tính
Trong những năm gần đây, Bộ GD&ĐT đã, đang đẩy mạnh phong trào đổi mới phương pháp giảng dạy, nâng cao chất lượng dạy và học Phong trào này đã mang lại nhiều thành tựu đáng kể vào quá trình dạy - học ở nước ta Song bên cạnh đó vẫn tồn tại nhiều vấn đề cần quan tâm Đó là: việc thực hiện phong trào đôi khi là hình thức; một bộ phận giáo viên lại quá lạm dụng việc đổi mới phương pháp giảng dạy, dạy học bằng các phần mềm trình chiếu hay nói cách khác là áp dụng phương pháp dạy học chưa phù hợp với thực tế nên chất lượng giảng dạy chưa thực sự tốt Bên cạnh đó nhiều giáo viên trên thực tế vẫn còn nặng về truyền thụ kiến thức lí thuyết một chiều Việc rèn luyện kỹ năng sống,
kỹ năng giải quyết các tình huống thực tiễn cho học sinh thông qua khả năng vận dụng tri thức tổng hợp chưa thực sự được quan tâm chú trọng
2.3 Các giải pháp đã sử dụng để giải quyết vấn đề
Trên cơ sở nghiên cứu tài liệu định hướng dạy học và kiểm tra, đánh giá theo định hướng phát triển năng lực của học sinh tôi tiến hành xây dựng chủ đề dạy học đã lựa chọn như sau:
2.3.1 XÂY DỰNG CHỦ ĐỀ
Do giới hạn của chuyên đề tôi chỉ xin phép được xây dựng chủ đề cho đơn
vị kiến thức: Cấu trúc lặp – Tiết 13 PPCT môn Tin học 11
2.3.2 CHUẨN KIẾN THỨC, KỸ NĂNG, THÁI ĐỘ VÀ NĂNG LỰC HƯỚNG TỚI
a Chuẩn kiến thức, kĩ năng, thái độ theo chương trình hiện hành
Kiến thức:
- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán
- Hiểu cấu trúc lặp với số lần biết trước và câu lệnh For - Do
Kỹ năng:
Trang 4
Biết vận dụng được cấu trúc lặp và câu lệnh For - Do vào từng trường hợp
cụ thể
b Năng lực hướng tới
- Mô hình hóa các thao tác của thuật toán bằng cấu trúc lặp một số trường hợp trên thực tế
- Sử dụng cấu trúc lặp trong giải bài toán đơn giản bằng ngôn ngữ lập trình Pascal
2.3.3 CÁC LOẠI CÂU HỎI/BÀI TẬP THEO HƯỚNG ĐÁNH GIÁ NĂNG LỰC CỦA HỌC SINH.
Bảng mô tả mức độ câu hỏi, bài tập đánh giá năng lực học sinh qua chuyên đề.
Nội dung
Mức độ nhận thức
Năng lực hướng tới
Nhận biết Thông hiểu Vận dụng thấp Vận dụng cao ND1: Cấu
trúc lặp
Lấy một số
ví dụ về sử dụng cấu trúc lặp trong giải quyết bài tập
Câu hỏi ND1.NB
Chỉ ra và giải thích được cấu trúc lặp trong 1 mô
tả bài toán
cụ thể
Câu hỏi ND1.TH
Mô hình hóa các tình
huống thực tế xảy ra phụ thuộc vào điều kiện theo cấu trúc lặp trong môn tin học
ND2: Câu
lệnh lặp
for to do
(Dạng tiến)
Học sinh
mô tả cấu
nghĩa lệnh for to do
Câu hỏi ND2.NB1
HS biết sự hoạt động của câu lệnh
for to do
để chỉ ra được hoạt động một
- Học sinh chỉ ra được các thành phần có trong câu lệnh for
to do
Câu hỏi ND2.TH1
HS hiểu được sự hoạt động câu lệnh for to do
để giải thích được hoạt động một
HS viết được câu lệnh for to do
thực hiện một tình huống quen thuộc
HS viết được câu lệnh
for to do
thực hiện một tình huống mới
Diễn tả thuật toán cấu trúc lặp trên ngôn ngữ lập trình
Trang 5
lệnh for to do
cụ thể
Câu hỏi ND2.NB2
tập lệnh cụ thể chứa câu lệnh
for to do
Câu hỏi ND2.TH2
Câu hỏi ND2.VDT2
Câu hỏi ND2.VDC2
ND3: Câu
lệnh lặp
for downto
do
(Dạng lùi)
Học sinh
mô tả cấu
nghĩa lệnh for downto do
Câu hỏi ND3.NB1
HS biết sự hoạt động của câu lệnh
for downto do để chỉ
ra được hoạt động một lệnh for dạng tiến cụ thể
Câu hỏi ND3.NB2
- Học sinh chỉ ra được các thành phần có trong câu lệnh
for downto
…do
Câu hỏi ND3.TH1
HS hiểu được sự hoạt động câu lệnh for downto
.do để giải thích được hoạt động một tập lệnh
cụ thể chứa câu lệnh for dạng tiến
Câu hỏi ND3.TH2
HS viết được câu lệnh for downto
do thực hiện một tình huống quen thuộc
Câu hỏi ND3.VDT2
HS viết được câu lệnh
for downto
.do thực hiện một tình huống mới
Câu hỏi ND3.VDC2
Diễn tả thuật toán cấu trúc lặp trên ngôn ngữ lập trình
2.3.4 HỆ THỐNG CÂU HỎI/BÀI TẬP ĐÁNH GIÁ THEO CÁC MỨC ĐÃ MÔ TẢ.
Câu ND1.NB Em hãy lấy ví dụ về việc sử dụng cấu trúc lặp trong giải quyết
bài toán?
Câu ND1.TH Cho biết sơ đồ khối sau thực hiện công việc gì?
Biến đếm:=gtđầu
Lệnh lặp
Bđếm<=Gtcu ối
S
Đ
Trang 6
Câu ND2.NB1 Trình bày cấu trúc, ý nghĩa lệnh for … to … do ?
Câu ND2.TH1 Câu lệnh For to do nào dưới đây viết đúng cú pháp?
A s:=0;
For 1 → 20 do s:=s+i;
B s:=0;
For i:=1 to 20 do s:=s+i;
C s:=0;
For i:=1 do s=s+i;
D s:=0;
For (i:=1 to 20) do s:=s+i;
Câu ND2.NB2 Với lệnh:
For i:=1 to 5 do write(i,’ ’);
Sẽ đưa ra trên màn hình:
Câu ND2.TH2 Xét lệnh:
S:=0;
For i:=1 to 5 do s:=s+i;
Sẽ đưa ra trên màn hình:
Câu ND2 VDT2 Viết câu lệnh tính s=1+2+3+…+10
Câu ND2 VDC2 Viết câu lệnh tính tổng các số chẵn trong phạm vi từ 1-100?
Câu ND3.NB1 Trình bày cấu trúc, ý nghĩa câu lệnh For downto do ?
Câu ND3.TH1
Câu lệnh For downto do nào dưới đây viết đúng cú pháp?
A s:=0;
For downto (20 → 1) do s:=s+i;
B s:=0;
For i:=20 downto 1 do s:=s+i;
C s:=0;
For i:=1 downto s=s+i;
D s:=0;
For (i:=1 downto 20) do s:=s+i;
Câu ND3.NB2 Với lệnh
For i:=5 downto 1 do write(i,’ ’);
Sẽ đưa ra trên màn hình:
Câu ND3.TH2 Với lệnh:
For i:=5 downto 1 do
If i mod 2 <>0 then write(i,’ ’);
Sẽ đưa ra trên màn hình:
Câu ND3 VDT2 Viết câu lệnh đưa các số trong phạm vi từ 1 đến 5 ra màn
hình theo thứ tự ngược lại?
(VD: 5 4 3 2 1)
Câu ND3 VDC2 Viết câu lệnh đưa các tháng trong năm ra màn hình theo thứ
tự ngược lại?
(VD: Thang 12 Thang 11 Thang 10 ….)
Trang 7
2.3.5 TIẾN TRÌNH TỔ CHỨC DẠY HỌC THEO CHỦ ĐỀ
A CHUẨN BỊ:
1 Giáo viên:
- Giáo viên chuẩn bị nội dung kiến thức liên quan đến bài học, môn học (giáo án)
- Giấy trắng khổ lớn, bút dạ để học sinh viết nội dung thảo luận
- Giáo viên chuẩn bị phiếu có ghi các tình huống, ví dụ giúp học sinh phát hiện vấn đề để cung cấp đến từng học sinh; chuẩn bị máy tính có cài sẵn các chương trình, ví dụ cần thiết cho bài học, máy chiếu đa năng
2 Học sinh:
- Học sinh chuẩn bị các kiến thức cũ đã học liên quan, cần sử dụng để hỗ trợ cho việc lĩnh hội kiến thức mới
- Giáo viên chia số HS của lớp thành 4 nhóm, yêu cầu học sinh chuẩn bị bài toán ví dụ như là bài tập về nhà
Bài toán ví dụ: Xét 2 bài toán với a>2, a nguyên cho trước
Bài toán 1: Tính tổng:
100
1
2
1 1
1 1
a a
a a S
Bài toán 2: Tính tổng
N a a
a a
S
2
1 1
1 1
với điều kiện 1 0 , 0001
N a
- Học sinh chuẩn bị giấy bút, sách vở
B TỔ CHỨC CÁC HOẠT ĐỘNG DẠY HỌC:
1 Ổn định lớp và kiểm tra bài cũ:
Câu hỏi: Cho biết một số kiểu dữ liệu chuẩn đã học?
Học sinh trả lời; Giáo viên nhận xét, đánh giá
2 Tiến trình:
Hoạt động 1: Xét ví dụ để gợi động cơ tìm hiểu ý nghĩa của cấu trúc lặp
a Mục tiêu: Học sinh thấy được sự cần thiết của cấu trúc lặp trong lập trình
b Phương pháp: Vấn đáp, tìm tòi, phát hiện, giải quyết vấn đề
Giáo viên đưa ra một bài toán ví dụ tình huống đặt học sinh vào tình huống có vấn đề buộc các em phải tư duy
Nội dung Hoạt động của Thầy Hoạt động của Trò
Xét 2 bài toán với a>2, a
nguyên cho trước
Bài toán 1: Tính tổng:
100
1
2
1 1
1
1
a a
a
a
S
Bài toán 2: Tính tổng
N a a
a
a
S
2
1 1
1
1
với điều kiện 1 0 , 0001
N a
GV chiếu hai bài toán ví
dụ lên bảng:
? Nghiên cứu để tìm ra
cách tính tổng ở cả 2 bài toán?
Với Bài toán 1:
GV có thể gợi ý phương pháp: Ta xem như S là một cái thùng, số hạng
Trang 8
Cách tính tổng Bài toán 1:
- Gán S bằng giá trị 1/a
- Tiếp theo mỗi lần cộng thêm
vào S là 1
a N với N=1, 2,
3,
- Việc cộng thêm dừng lại khi
N=100
Thao tác lặp với số lần biết
trước
Cách tính tổng Bài toán 2:
- Gán S bằng giá trị 1/a
- Tiếp theo mỗi lần cũng cộng
như một cái ca có dung tích khác nhau, khi đó việc tính tổng trên tương
tự việc đổ các ca nước vào thùng S
? Có bao nhiêu lần đổ
nước vào thùng?
? Mỗi lần một lượng là
bao nhiêu? lần thứ i đổ bao nhiêu?
? Mô tả trong chương
trình cần phải viết bao nhiêu lệnh?
Qua ví dụ gợi ý nêu trên
em hãy cho biết cách giải bài toán 1?
GV: Nhấn mạnh thêm
rằng việc cộng thêm mỗi lần vào tổng S một giá trị
là 1
a N được lặp đi lặp lại 100 lần Nói cách
khác đây chính là Thao
tác lặp với số lần biết trước (Cụ thể trong
trường hợp này là lặp 100 lần)
Với Bài toán 2:
? Điểm khác biệt của bài
toán này so với bài toán 1?
? Việc lặp được thực hiện
bao nhiêu lần?
? Giới hạn lặp là gì?
Trả lời:
Có 100 lần đổ nước
Trả lời:
- Lần 1 đổ
1
1
lần 2 đổ 12
a ;
- Lần thứ i đổ 1
a i
Trả lời:
Phải viết 100 lệnh
Thảo luận:
- Ban đầu gán S bằng giá trị 1/a
- Tiếp theo mỗi lần cộng thêm vào S là
1
a N với N=1, 2,
3,
- Việc cộng thêm dừng lại khi N=100
Trả lời:
Bài toán 1 cho giới hạn N
- Với bài toán này việc lặp chưa xác định được số lần
Trang 9
thêm vào S một giá trị là
1
a N với N=1, 2, 3
- Việc cộng thêm dừng lại khi
1
a N < 0,0001
Thao tác lặp với số lần
chưa biết trước.
- Trong lập trình, có những
thao tác phải lặp đi lặp lại
một số lần, khi đó ta gọi là
cấu trúc lặp
- Lặp thường có 2 loại:
+ Lặp với số lần biết trước
+ Lặp với số lần không biết
trước
? Nêu cách tính cụ thể
cho bài toán 2?
Tóm lại:
Trong trường hợp này việc cộng thêm mỗi lần vào tổng S giá trị là
1
a N được lặp đi lặp lại chưa biết bao nhiêu lần
mà chỉ biết việc cộng lặp dừng lại khi 1
a N <
0,0001 Nói cách khác đây chính
là Thao tác lặp với số lần
chưa biết trước.
? Qua hai ví dụ trên em
hãy cho biết trong lập trình lặp là gì và các dạng lặp?
GV Chuẩn hoá nội dung câu trả lời rồi trình chiếu lên màn hình
- Trong lập trình, có những thao tác phải lặp
đi lặp lại một số lần, khi
đó ta gọi là cấu trúc lặp
- Lặp thường có 2 loại:
+ Lặp với số lần biết trước
+ Lặp với số lần không biết trước
? Để thực hiện tính tổng
S ta phải sử dụng câu lệnh nào?
GV: Nêu vấn đề: Ta mới
chỉ học câu lệnh IF – THEN Và đưa ra tình huống giải 2 bài toán như
- Giới hạn lặp cho đến khi điều kiện
1
a N < 0,0001 được thoã mãn
Thảo luận:
- Gán S bằng giá trị 1/a
- Tiếp theo mỗi lần cũng cộng thêm vào
S một giá trị là
1
a N với N=1, 2, 3
- Việc cộng thêm dừng lại khi 1
a N
< 0,0001
Thảo luận Phát biểu
Trang 10
sau: (Trình chiếu trên màn hình)
Cách giải bài toán 1 bằng các lệnh IF – THEN sau:
S:=1/a;
S:=S+1/(a+1);
S:=S+1/(a+2);
S:=S+1/(a+3);
Cách giải bài toán 2 bằng các lệnh IF – THEN sau:
S:=1/a;
If (1/(a+1)>0,0001) Then S:=S+1/(a+1);
If (1/(a+2)>0,0001) Then S:=S+1/(a+2);
If (1/(a+3)>0,0001) Then S:=S+1/(a+3);
….
? Nhận xét cách giải
trên?
? Vậy giải pháp sử dụng câu lệnh If – Then vào
để thực hiện tính tổng trong trường hợp này có hợp lí không?
GV: Đúng thế Để giải 2 bài toán trên thì không thể dùng cấu trúc IF – THEN mà phải sử dụng
Nhận xét:
- Theo như cách giải trên, thì việc cộng thêm ở bài toán 2 chỉ dừng khi
N
a
1
< 0,0001
- Với bài toán 1, N=100 thì việc thực hiện câu lệnh lặp lên đến 100 lần nhưng điều kiện để kiểm tra không biết phải thực hiện như thế nào?
- Cả 2 cách giải trên đều quá dài
Trả lời
Không thể được