PHƯƠNG PHÁP DẠY HỌC TIN HỌ CỞ TRƯỜNG PHỔ THÔNG
3.4.1. Hoạt động và hoạt động thành phần.
Nội dung của tư tưởng chủ đạo này là: Cho học sinh thực hiện và tập luyện những hoạt động và hoạt động thành phần tương thích với nội dung và mục đích dạy học. Tư tưởng này có thể được cụ thể hoá như sau:
a- Phát hiện những hoạt động tương thích với nội dung
Xuất phát từ một nội dung dạy học, trước hết cần phát hiện những hoạt động tương thích với nội dung này.
Một hoạt động là tương thích với một nội dung nếu nó góp phần đem lại kết quả giúp chủ thể chiếm lĩnh hoặc vận dụng nội dung đó. Từ “kết quả” ở đây được hiểu là sự biến đổi, phát triển bên trong chủ thể, phân biệt với kết quả tạo ra ở môi trường bên ngoài. Khi một người xây nhà thì kết quả bên ngoài là ngôi nhà xây được, còn kết quả bên trong là những kiến thức chiếm lĩnh được, những kỹ năng rèn luyện được, là sự trưởng thành của chủ thể trong quá trình xây dựng này.
Đối với một khái niệm cần hình thành theo con đường quy nạp như khái niệm hàm thì những hoạt động phân tích, so sánh những đối tượng riêng lẻ thích hợp, trừu tượng hoá tách ra các đặc điểm đặc trưng của chúng là tương thích với khái niệm đó vì chúng đem lại kết quả là dẫn chủ thể tới sự hiểu biết khái niệm này. Tương thích với khái niệm này còn có những hoạt động khác nữa như nhận dạng, thể hiện, xét mối liên hệ giữa nó với những khái niệm khác như thủ tục, chương trình chính, các chương trình con khai báo sau nó... bởi vì những hoạt động đó góp phần giúp người học lĩnh hội và vận dụng khái niệm hàm.
Ví dụ 2: Khi củng cố câu lệnh gán và lệnh ghép ta có thể ra bài tập như sau:
Cho máy nhận vào 3 số nguyên từ bàn phím. Sắp xếp 3 số đó theo thứ tự tăng dần, in 3 số đã sắp lên màn hình.
Mặc dù bản thân việc sắp xếp 3 số không phải là mục tiêu truyền thụ, nhưng hoạt động sắp xếp 3 số này bằng thuật giải đổi chỗ vẫn là tương thích với câu lệnh gán và câu lệnh phức hợp bởi vì sự hiểu biết hai kiến thức này là điều kiện để tiến hành hoạt động sắp xếp nói trên. Ta có thuật giải và chương trình như sau (xnếu xin đọc là xong nếu).
Thuật giải vd;
Biến a, b, c: nguyên; Bắt đầu
Vào a,b,c;
Nếu b<a thì tráo đổi giá trị giữa hai biến a và b xnếu; Nếu c<b thì tráo đổi giá trị giữa hai biến c và b xnếu; Nếu b<a thì tráo đổi giá trị giữa hai biến a và b xnếu; In 3 số a,b,c;
Kết thúc. Chương trình:
Program vd;
Var a,b,c,tg: Integer; Begin
Clrscr;
Write(‘Vào a, b, c:’); Readln(a,b,c);
If b<a then Begin tg:=a; a:=b; b:=tg; End; If c<b then Begin tg:=b; b:=c; c:=tg; End; If b<a then Begin tg:=a; a:=b; b:=tg; End; Writeln(a:9, b:9, c:9); readln;
End.
Nhìn vào chương trình ta thấy ở đoạn so sánh tráo đổi giá trị hai biến ở dòng đầu và dòng thứ ba hoàn toàn giống nhau về hình thức (đó là các tên biến biểu thức địa chỉ của biến) nhưng nội dung ô nhớ a, b, c (giá trị của các biến a, b, c) thì khác nhau vì đã thông qua những câu lệnh gán làm thay đổi giá trị của nó. Cũng do đặc điểm của câu lệnh gán nên ta phải dùng biến trung gian tg để giữ lại giá trị của biến trước khi nó bị mất. Sau THEN, pascal chỉ cho phép viết một câu lệnh do đó ta phải để ba câu lệnh gán của mỗi lần tráo đổi vào một câu lệnh phức hợp vì vậy mà chúng phải được đặt trong cặp từ khoá begin .... end;
Việc phát hiện những hoạt động tương thích với nội dung căn cứ một phần quan trọng vào sự hiểu biết về những hoạt động nhằm lĩnh hội những dạng nội dung khác nhau: khái niệm, câu lệnh hay phương pháp, về những con đường khác nhau để lĩnh hội từng dạng nội dung, chẳng hạn con đường quy nạp hay suy diễn để xây dựng khái niệm, con đường thuần tuý suy diễn hay có pha suy đoán để học tập câu lệnh.
Trong việc phát hiện những hoạt động tương thích với nội dung, ta cần chú ý xem xét những hoạt động khác nhau trên những bình diện khác nhau. Những dạng hoạt động sau đây cần được chú ý:
- Nhận dạng và thể hiện.
- Những hoạt động Tin học phức hợp.
- Những hoạt động trí tuệ phổ biến trong Tin học. - Những hoạt động trí tuệ chung.
- Những hoạt động ngôn ngữ.
b- Phân tích hoạt động thành những hoạt động thành phần
Trong quá trình hoạt động, những dạng hoạt động khác nhau thường liên quan mật thiết với nhau, có khi xuất hiện xen kẽ nhau, lồng vào nhau, nhiều khi một hoạt động này có thể xuất hiện như một thành phần của một hoạt động khác. Phân tích được một hoạt động thành những hoạt động thành phần là biết được cách tiến hành hoạt động toàn bộ, nhờ đó có thể vừa quan tâm rèn luyện cho học sinh hoạt động toàn bộ vừa chú ý cho họ tập luyện tách riêng những hoạt động thành phần khó hoặc quan trọng khi cần thiết. Ngay cả khi dạy một câu lệnh cũng cần cho học sinh tiến hành tách hoạt động toàn bộ của câu lệnh thành những hoạt động thành phần.
Ví dụ 1: Dạy câu lệnh lặp với điều kiện cho trước, ta cho học sinh phân ra thành những hoạt động:
Hoạt động kiểm tra điều kiện.
Hoạt động thực hiện câu lệnh sau DO khi điều kiện đúng. Hoạt động quay lại kiểm tra điều kiện.
Hoạt động ra khỏi vòng lặp khi điều kiện sai.
Ví dụ 2: Dạy câu lệnh
FOR biến:=biểu thức 1 TO biểu thức 2 DO câu lệnh;
Giáo viên yêu cầu học sinh phân tách hoạt động của câu lệnh này thành những hoạt động thành phần diễn ra theo trình tự như sau:
Đầu tiên máy kiểm tra điều kiện biểu thức 1 không lớn hơn biểu thức 2. Nếu điều kiện này đúng thì máy ghi nhớ giá trị của biểu thức 2. Tiếp đến máy thực hiện liên tiếp ba hoạt động sau đây:
- Gán giá trị biểu thức 1 cho biến điều khiển. - Thực hiện câu lệnh sau DO.
- Kiểm tra điều kiện ra khỏi vòng lặp, đó là giá trị của biến điều khiển chu trình bằng giá trị của biểu thức 2 đã ghi nhớ. Nếu điều kiện ra khỏi vòng lặp sai thì máy lại thực hiện liên tiếp ba hoạt động sau đây:
+ Biến điều khiển chu trình nhận giá trị tiếp theo giá trị hiện tại (tức là giá trị của nó sau khi thực hiện câu lệnh sau DO).
+ Thực hiện câu lệnh sau DO.
+ Quay lại kiểm tra điều kiện ra khỏi vòng lặp.
Vòng lặp chỉ kết thúc khi máy quay lại kiểm tra điều kiện ra khỏi vòng lặp mà điều kiện này đúng. Giáo viên có thể cho học sinh thực hiện hoạt động nhận dạng để đoán trước chương trình sau đây in lên màn hình những số như thế nào? và giải thích tại sao nó không dừng. Nếu muốn cho chương trình dừng thì giá trị ban đầu gán cho k phải là số như thế nào? Program Forkhongdung; Uses Crt; Var n:word; Begin Clrscr; n:=10; For k:=1 To k Do Begin write(k:4); k:=k+2;
End; End.
Nếu học sinh gặp khó khăn khi xây dựng thuật giải để giải một bài toán nào đó, giáo viên có thể tách riêng một hoạt động nào đó để rồi hướng dẫn học sinh thực hiện một hoạt động nhận dạng và tương tự xét xem tình huống nào trước đây đã gặp gần giống hoặc tương thích với hoạt động này? và cho học sinh tập luyện nhưng hoạt động ăn khớp với hoạt động này.
c- Lựa chọn hoạt động dựa vào mục đích
Mỗi nội dung thường tiềm tàng nhiều hoạt động. Tuy nhiên nếu khuyến khích tất cả các hoạt động như thế thì có thể sa vào tình trạng rải mành mành, làm cho học sinh thêm rối. Để khắc phục tình trạng này, cần sàng lọc những hoạt động đã phát hiện được để tập trung vào một số mục đích nhất định. Việc tập trung vào những mục đích nào đó căn cứ vào tầm quan trọng của các mục đích này đối với việc thực hiện những mục đích còn lại, đối với việc học các tiết sau, chương sau hoặc xa hơn là các lớp sau, đối với khoa học, kỹ thuật và đời sống, căn cứ vào tiềm năng và vai trò của nội dung tương ứng đối với việc thực hiện những mục đích đó (có thể cân nhắc đối với nội dung khác).
Ví dụ khái niệm chương trình con, những hoạt động tiềm tàng ở nội dung này cần được khám phá, đồng thời cũng cần được cân nhắc, sàng lọc, tập trung vào những mục đích sau đây ở những tiết đầu tiên học về thủ tục và hàm:
Hiểu khái niệm tham biến hình thức và tham biến thực thụ. Có kỹ năng truyền tham biến thực thụ cho tham biến hình thức khi gọi chương trình con. Ở những tiết đầu tiên làm việc với chương trình con, tập trung vào hai mục đích này là dựa vào những căn cứ sau đây: Khái niệm tham biến hình thức, tham biến thực thụ và truyền tham biến thực thụ cho tham biến hình thức là điều kiện cần thiết để học tập khái niệm chương trình con, một khái niệm rất quan trọng để xây dựng chương trình có cấu trúc. Kỹ năng truyền tham biến thực thụ đòi hỏi sự hiểu biết cặn kẽ khái niệm
chương trình con. Ở đây tuy cũng đã có thể truyền thụ những kiến thức như chương trình con này gọi chương trình con khác đã khai báo trước nó trong tầm hoạt động của chúng. Tầm hoạt động của biến, của chương trình con ... nhưng chúng tôi cho rằng còn nhiều cơ hội sau này để rèn luyện những kỹ năng đó.
Sự thực hiện mục đích toàn diện cũng đòi hỏi chú ý cả những mục đích về mặt giáo dục. Chẳng hạn khi mã hoá chương trình giải phương trình bậc hai ở biểu thức tính nghiệm, học sinh thường có thói quen viết mẫu số 2*a mà quên không đặt chúng vào trong ngoặc bởi vì trong toán học họ viết là:
- b + √∆ - b - √∆
2a 2a
Sang tin học họ có xu hướng viết là: (- b + sqrt(d))/2*a và (- b - sqrt(d))/2*a
Nếu cho chạy thử với a = 1; b = -3; c = 2 để nhẩm nghiệm theo định lý Viet thì họ sẽ thấy nghiệm đúng là 1 và 2. Nếu ai đó không có tính cẩn thận và thói quen tự kiểm tra thì họ sẽ mắc sai lầm khi dùng chương trình đó để giải những phương trình bậc hai có a khác 1. Ví dụ này cũng góp phần giáo dục cho học sinh tính cẩn thận khi mã hoá từ thuật giải sang chương trình. Khi dạy cho học sinh giải phương trình bậc hai, tận dụng cơ hội nhắc lại bản chất của câu lệnh gán, ta giáo dục cho học sinh tính tiết kiệm biến để tiết kiệm bộ nhớ, tiết kiệm công gõ trên bàn phím, tiết kiệm thời gian chạy máy qua chương trình như sau:
Program gptb2; Uses Crt;
Var a,b,c: real; Begin
Clrscr;
Repeat Readln(a);
If a=0 then writeln(‘Xin vào lại hệ số a khác không !’); Until a<>0;
Write(‘Vào hệ số b, c:’); Readln(b,c); c:=b*b-4*a*c;
If c<0 then writeln(‘Phương trình đã cho vô nghiệm !’)
Else if c=0 then write(‘Phương trình có nghiệm kép:’,-b/(2*a):5:1) Else Begin
a:=2*a; c:=sqrt(c);
writeln(‘Phương trình có hai nghiệm phân biệt:’); writeln(‘X1=’,(-b+c)/a:5:1);
writeln(‘X2=’,(-b-c)/a:5:1); End;
readln; End.
d- Tập trung vào những hoạt động Tin học
Trong khi lựa chọn hoạt động, để đảm bảo sự tương thích của hoạt động đối với mục đích dạy học, ta cần nắm được chức năng phương tiện và chức năng mục đích của hoạt động và mối liên hệ giữa hai chức năng này. Trong môn Tin, nhiều hoạt động xuất hiện trước hết như phương tiện để đạt những yêu cầu Tin học: chiếm lĩnh tri thức, rèn luyện kỹ năng Tin học. Một số trong những hoạt động như thế nổi bật lên do tầm quan trọng của chúng trong Tin học, trong đó các môn học khác cũng như trong thực tế và việc thực hiện thành thạo những hoạt động đó trở thành một trong những mục đích dạy học. Đối với những hoạt động này ta cần phối hợp chức năng mục đích và chức năng phương pháp theo công thức:
“Thực hiện chức năng mục đích của hoạt động trong quá trình thực hiện chức năng phương tiện”. (Faust 1978, tr.7 và tr.16). Chẳng hạn, ta cần tập luyện cho học sinh các hoạt động trừu tượng hoá, khái quát hoá không phải để trừu tượng hoá và khái quát hoá như những mục đích tự thân, mà là nhằm để họ lĩnh hội một khái niệm, một câu lệnh, một phương pháp, phát triển một kỹ năng Tin học nào đó... Hiệu quả của việc tập luyện các hoạt động nêu ở trên phải thể hiện ở chỗ nâng cao chất lượng thực hiện các yêu cầu Tin học này.
Theo quan điểm này thì năm dạng hoạt động đã nêu ở 5.1.1 có vai trò không ngang nhau. Ta cần hướng tập trung vào những hoạt động Tin học, tức là những hoạt động nhận dạng và thể hiện những khái niệm, câu lệnh và phương pháp, những hoạt động Tin học phức hợp như hoạt động xây dựng thuật giải, mã hoá, kiểm thử... Các dạng hoạt động còn lại không hề bị xem nhẹ, nhưng được tập luyện trong khi và nhằm vào việc thực hiện các hoạt động Tin học nói trên.