LÝ DO CHỌN ĐỀ TÀI Xuất phát từ yêu cầu đổi mới phương pháp dạy học theo hướng tích cực trong đó kiến thức được truyền thụ do sự khám phá của học sinh thông qua quá trình hoạt động giải q
Trang 1VẬN DỤNG PHƯƠNG PHÁP DIỄN GIẢNG – NÊU VẤN ĐỀ
VÀO VIỆC DẠY HỌC BỘ MÔN TIN HỌC
I LÝ DO CHỌN ĐỀ TÀI
Xuất phát từ yêu cầu đổi mới phương pháp dạy học theo hướng tích cực trong đó kiến thức được truyền thụ do sự khám phá của học sinh thông qua quá trình hoạt động giải quyết vấn đề do giáo viên đề nghị, tôi xin phép được áp dụng một trong những
phương pháp đó vào quá trình dạy học của bộ môn mình đó là: dạy học diễn giảng – giải quyết vấn đề
II THỰC TRẠNG
1 Thuận lợi
-Việc đổi mới phương pháp dạy học theo hướng tích cực từ lâu
đã nhận được sự quan tâm, giúp đỡ từ nhà trường, tổ chuyên môn
-Phương pháp dạy học này phát huy được sự sáng tạo trong suy nghĩ và tăng khả năng làm việc nhóm của học sinh, từ đó tạo hứng thú học tập cho các em
2 Khó khăn
-Phần lớn học sinh còn quen với cách học cũ: đọc – chép
-Sách giáo khoa chưa được cải tiến để hỗ trợ cho phương pháp dạy học này
-Giáo viên ngoài việc phải nắm vững kiến thức chương trình còn phải là một đạo diễn có kinh nghiệm, tạo tình huống gợi vấn đề, chỉ huy để học sinh tự giải quyết vấn đề và rút ra kiến thức cần nắm được
III NỘI DUNG
1 Cơ sở lý luận
Dạy học diễn giảng – giải quyết vấn đề là cấp độ thấp nhất của dạy học phát hiện – giải quyết vấn đề Hình thức này có các đặc trưng như:
Trang 2-Giáo viên: thực hiện tất cả các khâu của hình thức dạy học này như: tạo tình huống gợi vấn đề, trình bày vần đề, trình bày quá trình suy nghĩ tìm kiếm, dự đoán cách thức giải quyết vấn đề,
…
-Học sinh: theo dõi quá trình nghiên cứu, phát hiện và giải quyết vấn đề được trình bày bởi giáo viên
-Tri thức: mặc dù không được khám phá bởi chính học sinh, nhưng cũng không được truyền thụ dưới dạng có sẵn và trực tiếp, mà được truyền thụ trong quá trình phát hiện và giải quyết vấn đề của giáo viên
Các bước tiến hành:
-Tạo tình huống gợi vấn đề, đặt vấn đề
-Phát biểu vấn đề và đặt mục đích giải quyết vấn đề
-Giải quyết vấn đề bao gồm khám phá các cách giải, chọn cách giải thích hợp và trình bày lời giải
-Kiểm tra, đánh giá lời giải, và thông báo kết quả
-Thể thức hóa
2 Ví dụ minh họa
a Ví dụ 1 : Sử dụng phương pháp diễn giảng – giải quyết vấn đề xây dựng các hoạt động để dạy nội dung “Biểu diễn thông tin trong máy tính” (SGK – Tin học 10)
Học sinh đã biết:
-Khái niệm thông tin và dữ liệu
-Các dạng thông tin
-Đơn vị đo lượng thông tin trong máy tính là bit
-Cách mã hóa thông tin trong máy tính
Học sinh sẽ học:
-Cách biểu diễn thông tin trong máy tính
Đặt vấn đề
Giáo viên xây dựng tình huống có vấn đề
-Xem một chương trình ca nhạc tại sân khấu và xem lại chương trình đó qua một đĩa DVD trên máy tính có thấy gì khác biệt không? (Lưu ý: chỉ quan tâm đến chất lượng âm thanh và hình ảnh)
Trang 3-Hình ảnh và âm thanh chỉ là hai trong số các dạng thông tin Với nhiều dạng thông tin khác nhau (văn bản, tài liệu, bảng tính, thông tin về nhiệt độ, độ ẩm không khí,….) thì máy tính sẽ biểu diễn chúng khác nhau hay giống nhau? Có tuân theo một quy luật nào không?
Phát biểu vấn đề
Giáo viên phát biểu vấn đề, máy tính biểu diễn thông tin như thế nào?
Giải quyết vấn đề
Giáo viên hình thành giả thiết
-Dựa trên các dạng thông tin vừa nêu, hãy nhận xét xem có mấy loại chính? Máy tính là một thiết bị điện tử, không có những hiểu biết như con người và có ngôn ngữ của máy tính?
Đó là gì? Như vậy thông tin đưa vào máy tính sẽ phải như thế nào?
Có nhiều dạng thông tin khác nhau nhưng chung quy chỉ có 2 loại chính: loại số và phi số cách biểu diễn mỗi loại
sẽ khác nhau theo quy ước
Muốn máy tính xử lí được, thông tin phải được biến đổi thành dãy bit gọi là mã hóa thông tin khi đưa vào máy tính các loại thông tin đều
phải được biến đổi thành dãy bit nguyên lí mã hóa nhị phân
Kiến thức cần truyền đạt:
-Thông tin loại số và cách biểu diễn
-Thông tin loại phi số và cách biểu diễn
-Các hệ đếm dùng trong tin học và cách chuyển đổi giữa các hệ đếm
Giáo viên chứng minh giả thiết
-Khi giao tiếp trong cuộc sống, để trao đổi thông tin với nhau thì mọi người phải dùng chung ngôn ngữ nào đó như nói, viết, hình thể, ….Đối với máy tính, các linh kiện điện tử và vật liệu điện, điện tử dùng để chế tạo máy tính, chế tạo bộ nhớ,… đều
Trang 4chỉ có hai trạng thái: đóng (ON) tương ứng với 1, hở (OFF) tương ứng với 0 Sử dụng hai trạng thái của một công tắc là bật (1) – tắt (0), hoặc trạng thái thông (1) – hở (0) của đèn điện tử, đèn bán dẫn để mô phỏng cho các thiết này Hay nói đơn giản hơn, ngôn ngữ máy là 0 và 1
-Mặt khác, hệ nhị phân là hệ thống số chỉ có hai kí hiệu là 0 và
1 Do đó, muốn đưa các thông tin như văn bản, các loại số, âm thanh, hình ảnh,….vào máy tính người ta phải dùng hệ nhị phân
để biểu diễn chúng để máy tính có thể giao tiếp được (thực chất mọi sự mã hóa đều là phép quy ước trước với nhau)
Đánh giá và thể thức hóa
Giáo viên tóm tắt các nội dung đã nghiên cứu và hình thành khái niệm cho học sinh:
-Với nhiều dạng thông tin khác nhau: thông tin loại số, phi số
ta biến đổi về cùng dạng bit – mã nhị phân cũng chính là ngôn ngữ máy để máy có thể làm việc được trên mọi thông tin một cách dễ dàng
-Việc biểu diễn thông tin loại phi số như âm thanh, hình ảnh,
… rất được quan tâm và chất lượng ngày càng hoàn thiện
Vận dụng
Giáo viên ra bài tập và câu hỏi củng cố:
-Trả lời các câu hỏi b, c trang 16, 17 SGK Tin 10
-Bài tập mở rộng
Với chuỗi n bit, chúng ta có thể mã hóa bao nhiêu kí tự? Lưu ý: mỗi kí tự tương ứng với một và chỉ một chuỗi n bit khác nhau
Cần bao nhiêu chuỗi bit để mã hóa các chữ cái từ A đến Z?
Giáo viên tạo tình huống có vấn đề mới
Giả sử ngôn ngữ máy không phải là 0, 1 mà là -1, 1 chẳng
hạn thì việc mã hóa thông tin sẽ như thế nào? (Cần lưu ý rằng thực
chất mọi sự mã hóa đều là phép quy ước trước với nhau)
Trang 5b Ví dụ 2 : Sử dụng phương pháp diễn giảng – giải quyết vấn đề xây dựng các hoạt động để dạy nội dung “Giải bài toán trên máy tính”( SGK – Tin học 10)
Học sinh đã biết:
-Khái niệm bài toán và thuật toán
-Một số thuật toán căn bản
Học sinh sẽ học:
-Cách bước giải bài toán trên máy tính
Đặt vấn đề
Giáo viên xây dựng tình huống có vấn đề
-Khi giải một bài toán thông thường (toán học), chẳng hạn như bài toán giải phương trình bậc hai thì học sinh sẽ làm như thế nào? Nêu trình tự các bước giải?
Giáo viên nhận xét và đưa ra đáp án phù hợp
-Yêu cầu học sinh nhắc lại khái niệm “bài toán trong tin học” (ở nội dung đã học bài 4: Bài toán và thuật toán)
Giáo viên nhận xét và nhắc lại khái niệm “bài toán” trong tin học Hoạt động học sinh: thảo luận hay trả lời
-Bài toán trong toán học cũng là một dạng bài toán trong tin học và việc học sử dụng máy tính chính là học cách giao cho máy tính công việc mà ta muốn thực hiện Vậy cũng với bài toán này khi giải trên máy tính thì khác gì so với việc giải thông thường trên giấy không? Tự máy tính có thể giải được không?
Và máy tính sẽ làm như thế nào
Phát biểu vấn đề
Giáo viên phát biểu vấn đề, giải bài toán trên máy tính như thế nào? (Các bước giải quyết bài toán trên máy tính)
Giải quyết vấn đề
Giáo viên hình thành giả thiết
-Để giải một bài toán cần phải xác định được đầu vào (input)
và đầu ra (output) của bài toán đó, giống như việc đặc tả bài
Trang 6toán thông thường bằng giả thiết và kết luận Xác định yêu cầu của bài toán
-Để tìm được output cần phải xây dựng các bước giải cho máy tính, đó là thuật toán có thể sử dụng những thuật toán đã có (sao cho phù hợp) hoặc thiết kế thuật toán theo yêu cầu của bài
Lựa chọn hoặc thiết kế thuật toán
-Muốn máy tính thực hiện được thuật toán Diễn tả thuật toán bằng ngôn ngữ lập trình Viết chương trình
-Chương trình viết xong, máy chạy được nhưng chưa chắc đã đúng Vì thuật toán ta viết khi diễn tả theo ngôn ngữ tự nhiên thì không vấn đề gì nhưng khi chuyển sang ngôn ngữ lập trình yêu cầu phải đúng cú pháp của ngôn ngữ đó… Kiểm tra tính đúng đắn của thuật toán: chạy thử vài giá trị cơ bản nếu kết quả
có vấn đề ta phải chỉnh sửa lại Hiệu chỉnh
-Thực tế có những bài toán tương tự nhau sử dụng những thuật toán có lối tư duy như nhau, có những bài toán là tập hợp
những bài toán nhỏ hơn…. Cần lưu trữ các tài liệu của những bài toán này làm cơ sở cho những bài toán khác, người khác có thể sử dụng, hiểu được Viết tài liệu
Kiến thức cần truyền đạt
Việc giải bài toán trên máy tính thường được tiến hành qua các bước:
-B1: Xác định thuật toán;
-B2: Lựa chọn hoặc thiết kế thuật toán;
-B3: Viết chương trình;
-B4: Hiệu chỉnh;
-B5: Viết tài liệu
Giáo viên chứng minh giả thiết
-Giáo viên lấy một vài bài toán như: tìm USCLN của 2 số
nguyên dương a, b để minh họa các bước, chứng minh việc khi làm theo tuần tự các bước trên sẽ giúp giải quyết bài toán một cách tường minh, đúng quy trình xây dựng phần mềm, dễ dàng chỉnh sửa và phát triển sau này; trường hợp khiếm khuyết một
số bước có thể gây trở ngại, bế tắc hoặc khó khăn
Trang 7-Giáo viên giải thích cho học sinh hiểu vì sao phải có các bước này
Đánh giá và thể thức hóa
Giáo viên tóm tắt các nội dung đã nghiên cứu và hình thành quy trình thực hiện giải bài toán trên máy tính:
-Có 5 bước để giải một bài toán trên máy tính Nhấn mạnh bước 1 và 2 là quan trọng
-Giải một bài toán trên máy tính cần phải tuân thủ các bước trên
-Đối với những bài toán nhỏ, đơn giản khi thực hiện có thể bỏ qua bước 1 mà vào thẳng bước 2 hoặc 3 luôn, bỏ đi bước 5
Vận dụng
Giáo viên ra bài tập và câu hỏi củng cố:
-Trả lời câu hỏi và làm bài tập ở SGK Tin 10 trang 51
-Bài tập mở rộng: Trình bày các bước giải phương trình: ax + b
= 0 trên máy tính
Giáo viên tạo tình huống có vấn đề mới
Ta đang xét những “bài toán đơn giản” là các bài toán quen thuộc trong toán học Vậy đối với những “bài toán phức tạp” có thể không thuộc lĩnh vực toán học như: sắp thời khóa biểu, quản lí nhân viên,… thì có làm theo các bước trên không?
Trang 8c Ví dụ 3 : Sử dụng phương pháp diễn giảng – giải quyết vấn đề xây dựng các hoạt động để dạy nội dung “Chương trình con” (SGK – Tin học 11)
Học sinh đã biết:
-Cách sử dụng vòng lặp với số lần lặp biết trước for – do -Cách viết một chương trình Pascal đơn giản
Học sinh sẽ học:
-Khái niệm chương trình con
-Lợi ích của việc sử dụng chương trình con
Đặt vấn đề
Giáo viên xây dựng tình huống có vấn đề:
- Xét bài toán tính: T = an + bm + cp (a, b, c là các số thực; n, m, p là các số nguyên)
- Chương trình có thể viết bằng Pascal như sau:
Program tong;
Var t, luythua1, luythua2, luythua3: real;
a, b, c: real;
i, n, m, p: integer;
Begin
write (‘Nhap du lieu theo thu tu a, b, c, n, m, p:’);
readln (a, b, c, n, m, p);
luythua1:= 1.0;
for i:=1 to n do
luythua1:= luythua1*a;
luythua2:= 1.0;
for i:=1 to m do
luythua2:= luythua2*b;
luythua3:= 1.0;
for i:=1 to p do
luythua3:= luythua3*c;
t:= luythua1 + luythua2 + luythua3;
write (‘Tong luy thua = ‘, t:8:3);
readln;
Trang 9- Nhận xét: chương trình trên có ba đoạn lệnh tương tự nhau, việc lặp lại những đoạn lệnh tương tự nhau làm cho chương trình vừa dài, vừa khó theo dõi → Có cách nào để chương trình ngắn hơn?
Phát biểu vấn đề:
Giáo viên phát biểu vấn đề, chương trình con là gì?
Giải quyết vấn đề:
Giáo viên hình thành giả thiết
- Để nâng cao hiệu quả lập trình, các ngôn ngữ lập trình bậc cao đều cung cấp khả năng xây dựng chương trình con dạng tổng quát
“đại diện” cho nhiều đoạn lệnh tương tự nhau
Kiến thức cần truyền đạt:
-Khái niệm chương trình con
- Lợi ích của việc sử dụng chương trình con
Giáo viên chứng minh giả thiết
- Với bài toán tính tổng T ở trên ta có thể viết chương trình tính lũy
thừa Luythua=x k , trong đó Luythua và x là giá trị kiểu thực còn k
thuộc kiểu nguyên
Var i:integer;
tich:= 1.0;
for j:=1 to k do
tich:= tich*x;
- Ta đặt tên chương trình con này là Luythua và tên các biến chứa
dữ liệu vào của nó là x và k Khi cần tính lũy thừa của những giá trị cụ thể ta chỉ cần viết tên gọi chương trình con và thay thế (x, k) bằng giá trị cụ thể tương ứng Chẳng hạn để tính a n , b m , c p ta viết
Luythua(a, n), Luythua(b, m), Luythua(c, p)
Đánh giá và thể thức hóa:
Giáo viên tóm tắt các nội dung đã nghiên cứu và hình thành khái niệm cho học sinh:
Trang 10- Chương trình con là một dãy lệnh mô tả một số thao tác nhất định
và có thể được thực hiện (được gọi) từ nhiều vị trí trong chương trình
- Lợi ích của việc sử dụng chương trình con:
+ Tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh; + Hỗ trợ việc thực hiện các chương trình lớn;
+ Phục vụ cho quá trình trừu tượng hóa;
+ Mở rộng khả năng ngôn ngữ;
+ Thuận tiện cho phát triển, nâng cấp chương trình
Vận dụng
Giáo viên đặt câu hỏi củng cố:
- Chương trình con là gì? Có mấy loại chương trình con?
- Lợi ích của việc sử dụng chương trình con?
Giáo viên tạo tình huống có vấn đề mới
- Cách viết và sử dụng chương trình con như thế nào?
Trang 11d Ví dụ 4 : Sử dụng phương pháp diễn giảng – giải quyết vấn đề xây dựng các hoạt động để dạy nội dung “Mảng một chiều” (SGK – Tin học 11)
Học sinh đã biết:
-Cách sử dụng cấu trúc rẽ nhánh (câu lệnh if – then); -Cách viết một chương trình Pascal đơn giản
Học sinh sẽ học:
- Khái niệm mảng một chiều;
- Cách khai báo mảng một chiều
Đặt vấn đề
Giáo viên xây dựng tình huống có vấn đề:
- Xét bài toán: Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần, tính và đưa ra màn hình nhiệt độ trung bình của tuần và số lượng ngày trong tuần có nhiệt độ cao hơn nhiệt độ trung bình tuần
- Chương trình có thể viết bằng Pascal như sau:
Program Nhietdo_Tuan;
Var t1, t2, t3, t4, t5, t6, t7, tb: real;
dem: integer;
Begin
writeln (‘Nhap vao nhiet do cua 7 ngay:’);
readln (t1, t2, t3, t4, t5, t6, t7);
tb:= (t1+ t2+ t3+ t4+ t5+t6+ t7)/7;
dem:=0;
if t1>tb then dem:=dem+1;
if t2>tb then dem:=dem+1;
if t3>tb then dem:=dem+1;
if t4>tb then dem:=dem+1;
if t5>tb then dem:=dem+1;
if t6>tb then dem:=dem+1;
if t7>tb then dem:=dem+1;
writeln (‘Nhiet do trung binh cua tuan: ‘, tb:4:2);
Trang 12writeln (‘So ngay nhiet do cao hon trung binh : ‘, dem); readln;
End.
- Nhận xét: Nếu bài toán yêu cầu ta giải với N ngày (N khá lớn) thì cách làm tương tự không những đòi hỏi một khối lượng khai báo khá lớn, mà đoạn chương trình tính toán cũng khá dài → Có cách nào giúp ta khai báo ít, chương trình ngắn hơn?
Phát biểu vấn đề:
Giáo viên phát biểu vấn đề, mảng một chiều là như thế nào?
Giải quyết vấn đề:
Giáo viên hình thành giả thiết
- Để giải quyết vấn đề này, ta sử dụng kiểu dữ liệu mảng một chiều
để mô tả dữ liệu
Kiến thức cần truyền đạt:
-Khái niệm mảng một chiều;
- Cách khai báo mảng một chiều
Giáo viên chứng minh giả thiết
- Chương trình giải bài toán tổng quát với N ngày trong Pascal có thể như sau:
Program Nhietdo_Nngay;
Const Max= 366;
Var Nhietdo: array[1 Max] of real;;
Dem, i, N: integer;
Tong, Trung_binh: real;
Begin
writeln (‘Nhap so ngay:’); readln(N);
Tong:=0;
For i:=1 to N do Begin
writeln (‘Nhap nhiet do ngay ’,i, ‘ : ‘);
readln(Nhietdo[i]);
Tong:=Tong+Nhietdo[i];
End;
Trang 13Trung_binh:= Tong/N;
For i:=1 to N do
if Nhietdo[i]>Trung_binh then dem:=dem+1; writeln (‘Nhiet do trung binh’,N, ‘ngay: ‘,
Trung_binh:8:3);
writeln (‘So ngay nhiet do cao hon trung binh : ‘, dem); readln;
End.
Đánh giá và thể thức hóa:
Giáo viên tóm tắt các nội dung đã nghiên cứu và hình thành khái niệm cho học sinh:
- Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu