Động cơ hoạt động

Một phần của tài liệu Lí luận dạy học Tin học ở trường phổ thông (Trang 53 - 69)

PHƯƠNG PHÁP DẠY HỌC TIN HỌ CỞ TRƯỜNG PHỔ THÔNG

3.2.2 Động cơ hoạt động

Sự học tập tự giác, tích cực và sáng tạo đòi hỏi học sinh phải có ý thức về những mục đích đặt ra và tạo được động lực bên trong thúc đẩy bản thân họ hoạt động để đạt các mục đích đó. Điều này được thực hiện trong dạy học trước hết bằng việc đặt mục đích và quan trọng hơn còn do

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. Gợi động cơ nhằm làm cho những mục đích sư phạm biến thành những mục đích của cá nhân học sinh, chứ không phải chỉ là sự vào bài, đặt vấn đề một cách hình thức.

Đương nhiên, gợi động cơ được hiểu cả ở tầm vĩ mô lẫn vi mô. Hiện này ở nước ta, việc gợi động cơ ở tầm vĩ mô (khêu gợi động cơ học tập nói chung) còn chưa được giải quyết tốt, hiện tượng trò chán học là phổ biến mà những nguyên nhân của nó lấn át cả những cố gắng ở tầm vi mô.

có làm cho học sinh thích kiến thức này, muốn tìm hiểu kiến thức nọ thì cũng chỉ gợi động cơ ở tầm vĩ mô, chỉ đạt được kết quả ở mức độ hạn chế. Vấn đề đặt ra là phải giải quyết cả việc gợi động cơ ở tầm vĩ mô. Điều đó đòi hỏi sự cố gắng của toàn thể xã hội, trong cũng như ngoài ngành giáo dục.

Ở những lớp dưới, thầy giáo thường dùng những cách như cho điểm, khen chê, thông báo kết quả học tập cho gia đình... để gợi động cơ. Càng lên lớp cao, cùng với sự ảnh hưởng của trưởng thành của học sinh, với trình độ nhận thức và giác ngộ chính trị ngày càng được nâng cao, những cách gợi động cơ xuất phát từ nội dung hướng vào những nhu cầu nhận thức, nhu cầu của đời sống, trách nhiệm đối với xã hội... ngày càng trở nên quan trọng.

Gợi động cơ không phải chỉ là việc làm ngắn ngủi lúc bắt đầu bài học, mà phải giải quyết xuyên suốt quá trình dạy học. Vì vậy để phân biệt

gợi động cơ mở đầu, gợi động cơ trung gian và gợi động cơ kết thúc. Sau đây sẽ trình bày những cách gợi động cơ xuất phát từ nội dung môn Tin theo từng giai đoạn như vậy.

a- Gợi động cơ mở đầu

Phần này được trình bày theo Pietzsch 1980 (tr.5-7).

Có thể gợi động cơ mở đầu xuất phát từ thực tế hoặc từ nội bộ môn Tin học.

Khi gợi động cơ xuất phát từ thực tế, có thể nêu lên:  Thực tế gần gũi xung quanh học sinh.

 Thực tế xã hội rộng lớn (kinh tế, kỹ thuật, quốc phòng....)  Thực tế ở những môn học và khoa học khác.

Trong việc gợi động cơ xuất phát từ vấn đề thực tế, ta cần chú ý những điều kiện sau:

- Vấn đề đặt ra cần đảm bảo tính chân thực, đương nhiên có thể đơn giản hoá vì lý do sư phạm trong trường hợp cần thiết.

- Việc nêu vấn đề không đòi hỏi quá nhiều kiến thức phụ.

- Con đường từ lúc nêu cho tới khi giải quyết vấn đề càng ngắn càng tốt.

Việc xuất phát từ thực tế không những có tác dụng gợi động cơ mà còn góp phần hình thành thế gới quan duy vật biện chứng. Nhờ đó học sinh nhận rõ việc nhận thức và cải tạo thế giới đã đòi hỏi phải suy nghĩ và giải quyết những vấn đề Tin học như thế nào, từ là nhận rõ Tin học bắt nguồn từ những nhu cầu của đời sống thực tế. Vì vậy, cần khai thác triệt để mọi khả năng để gợi động cơ xuất phát từ thực tế, đương nhiên phải chú ý các điều kiện đã nêu ở trên.

Tuy nhiên, Tin học phản ánh thực tế một cách toàn bộ và nhiều tầng, do đó không phải bất cứ nội dung nào, hoạt động nào cũng có thể được gợi động cơ xuất phát từ thực tế. Vì vậy, ta còn càn tận dụng cả những khả năng gợi động cơ xuất phát từ nội bộ Tin học.

Gợi động cơ từ nội bộ Tin học là nêu lên vấn đề Tin học xuất phát từ nhu cầu Tin học, từ việc xây dựng khoa học 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ì hai lẽ:

Thứ nhất, như đã nêu ở trên, việc gợi động cơ từ thực tế không phải bao giờ cũng thực hiện được.

Thứ hai, nhờ gợi động cơ từ nội bộ Tin học, học sinh hình dung được đúng sự hình thành và phát triển của Tin học cùng với đặc điểm của nó và có thể dần dần tiến tới hoạt động Tin học một cách độc lập.

Thông thường khi bắt đầu một nội dung lớn, chẳng hạn một phân môn hay một chương, ta nên cố gắng gợi động cơ xuất phát từ thực tế. Còn đối với từng bài hay từng phần của bài thì cần tính tới những khả năng gợi động cơ từ nội bộ Tin học mà những cách thông thường là:

Chẳng hạn ta không thể kéo dài quá nhiều tên các biến cùng kiểu sau đó vào thủ tục read, để chứa nhiều biến cùng kiểu và xử lý chúng đồng thời theo một thuật giải nào đó ta phải đưa vào dạng dữ liệu có cấu trúc mảng. Chương trình con có tham biến để khắc phục những khả năng mà chương trình con không tham biến giải quyết sẽ rất khó khăn hoặc quá phức tạp. Các dữ liệu để ở bộ nhớ trong của máy (trong RAM) khi mất điện thì mất, hơn nữa nhiều khi dữ liệu cần được dùng đi, dùng lại nhiều lần, cần sao chép, cập nhật thường xuyên. Để xoá bỏ sự hạn chế này, ta dạy cho học sinh khái niệm tệp. Khi gặp bài toán, có nhiều khả năng lựa chọn để rẽ nhánh, nếu dùng lệnh rẽ hai nhánh dạng đầy đủ IF ... THEN ... ELSE thì chương trình sẽ cồng kềnh, sau câu lệnh CASE ... OF ... END; làm cho chương trình gọn, sáng sủa, gần gũi với tư duy của chúng ta.

· Hướng tới sự tiện lợi, hợp lý hoá công việc

Mỗi chương trình là để giải quyết một lớp các bài toán. Sau khi nạp chương trình vào cho máy, mỗi khi giải một bài toán cụ thể nào trong lớp các bài toán đó ta chỉ cần nạp vào dữ liệu ứng với trường hợp cụ thể đó là sẽ có ngay kết quả. Giáo viên cần làm rõ sự khó khăn, phức tạp của những bài toán mà ta phải giải nếu không có máy tính điện tử. Cần nhấn mạnh ý nghĩa và tầm quan trọng của những chương trình nhằm thực hiện được trên thực tế. Những chương trình như thế có thể có thể tìm được nhiều sau khi học sinh được học các câu lệnh lặp. Việc tổ chức chương trình con là để hợp lý hoá, tiết kiệm công sức lập trình khi giải bài toán mà một đoạn chương trình được dùng nhiều lần ở nhiều chỗ trong chương trình. Hơn nữa chương trình con giúp cho người lập trình dễ sửa chữa, dễ kiểm tra, có thể dùng để móc nối với những chương trình khác, hoặc chỉ cần sửa chữa một đôi chỗ nhỏ là có thể tham gia vào giải những bài toán khác. Việc dựa vào câu lệnh CASE OF còn là để tiện lợi khi gặp bài toán rẽ theo nhiều nhánh. Đưa vào các câu lệnh lặp là để tiện lợi cho việc giải nhiều bài toán trong đó cần phải lặp đi lặp lại một số thao tác phụ thuộc vào một biến hoặc một điều kiện nào đó.

· Hướng tới sự hoàn chỉnh và hệ thống

Việc gợi động cơ mở đầu hướng tới sự hoàn chỉnh hệ thống thường được dùng ở những tiết học ôn tập, hệ thống hoá một số khái niệm, một số dạng dữ liệu hoặc những nhóm câu lệnh. Việc làm này giúp học sinh có ý thức tìm những mối liên hệ giữa những đối tượng mà chúng ta nêu ra, thấy vị trí của chúng trong nhóm kiến thức đã học. Đôi khi ở tiết học đầu tiên, ta cũng có thể thông báo trước cho học sinh sơ đồ kiến thức mà học sinh sẽ bắt đầu và tiếp tục nghiên cứu. Ví dụ dạy chương trình con có thể cho học sinh biết trước sơ đồ sau. Như vậy mỗi khi ta dạy một kiến thức nào đó thì học sinh hình dung được mình đang làm việc ở đoạn nào trong sơ đồ.

Thủ tục Không có tham biến

Chương trình con Tham

biến trị

Hàm Có tham biến

Tham biến biến

· Lật ngược vấn đề

Sau khi đã dạy một thủ tục hoặc hàm chuẩn, một câu hỏi rất tự nhiên thường được đặt ra đó là: có hay không một thủ tục, hàm làm công việc ngược lại? Nếu có thì nó được dùng như thế nào? Nếu không thì tìm cách giải quyết bài toán ngược lại bằng tự xây dựng chương trình với vốn kiến thức mà họ đang có.

· Xét tương tự

Ví dụ: Sau khi học khai báo mảng một chiều, cách truy cập đến một phần tử của mảng một chiều thông qua tên mảng và chỉ số đặt trong móc vuông, cánh nhận vào từng phần từ của mảng thông qua vòng lặp FOR ... TO ... DO, khi dạy mảng hai chiều ta có thể cho học sinh biết những kiến thức trên tương tự được vận dụng để làm việc với mảng hai chiều.

· Khái quát hoá

Ví dụ: Ta đã dạy cho học sinh giải bài toán: Có hai tam giác mà mỗi tam giác được cho bởi ba cạnh của nó. Lập chương trình cho máy tính tính diện tích của từng tam giác. Giả sử ở bài toán này ta đã cho học sinh tổ chức hai chương trình con không có tham biến hình thức. Một thủ tục nhận vào và kiểm tra ba số đo ba cạnh một tam giác và một hàm tính diện tích tam giác theo ba cạnh của nó như sau:

Program Tamgiac; Uses Crt;

Var a, b, c: Real; Procedure Kiemtra; Begin

Write(‘Cho ba canh cua tam giac:’ : 55); Repeat

Readln(a,b,c);

IF (a>=b+c) or (b>=a+c) or (c>=b+a) Then Writeln(‘Moi nhap lai ba so khac.’);

Until (a<b+c) and (b<a+c) and (c<b+a); End; Function dt: Real; Var p: Real; Begin p:=(a+b+c)/2; dt:=sqrt(p*(p-a)*(p-b)*(p-c));

Write(‘Dien tich tam giac co ba canh: ‘, a:5:1, b:5:1, c:5:1,’ la:’); End;

B a b C A e d c D BEGIN Clrscr; Kiemtra; Writeln(dt:8:2); Kiemtra; Writeln(dt:8:2); Readln; END.

Bây giờ học sinh gặp lại bài toàn viết chương trình cho máy tính tính diện tích của tứ giác ABCD biết bốn cạnh và một đường chéo AC.

Ta có nhận xét diện tích tứ giác ABCD là tổng diện tích hai tam giác ABC và tam giác ADC. Vấn đề là ở chỗ cần ba tham biến hình thức x, y, z đại diện cho ba cạnh của một tam giác, lúc đó thì nó thay cho ba cạnh a, b, e của tam giác ABC, lúc khác thì nó thay cho ba cạnh c, d, e của tam giác ADC. Như vậy chương trình trên được viết theo ba tham biến hình thức x, y, z được khái quát từ a, b, e và c, d, e như sau (tạm thời chưa kiểm tra mối ràng buộc giữa các số a, b, c, d, e).

Program Tugiac; Var a, b, c, d, e: Real;

Function dt(x, y, z: real): real; Var p: Real;

Begin

dt:=sqrt(p*(p-x)*(p-y)*(p-z)); End;

BEGIN

Clrscr; Write(‘Cho bon canh va duong cheo:’,45); Readln(a,b,c,d,e);

Writeln(‘Dien tich tu giac la: ’, dt(a,b,e)+dt(c,d,e):8:2); Readln;

END.

Ta đã biết việc nhận vào các số a, b, c, d, e không phải bao giờ cũng ho hai tam giác ABC và ADC, vậy cần phải kiểm tra tính hợp lí của các số này qua việc xét a, b, e và c, d, e có là các tam giác không? hàm này sẽ có ba tham biến hình thức x, y, z là kiểu thực, còn hàm có biến kiểu logic. Ta có thể viết chương trình như sau:

Procedure Tugiac; Uses Crt;

Var a, b, c, d, e: Real;

Function Kiemtra(x, y, z: Real): Boolean; Begin

IF (x>=y+z) or (y>=x+z) or (z>=y+x) Then Kiemtra:=false Else Kiemtra:=true;

End;

Function dt(x, y, z: real): real; Var p: Real;

Begin

p:=(x+y+z)/2;

End; BEGIN

Clrscr; Write(‘Cho bon canh va duong cheo:’: 45); Repeat

Readln(a,b,c,d,e);

IF NOT (kiemtra(a, b, e)) OR NOT (kiemtra(c, d, e)) THEN Write(‘Moi vao lai’);

Until Kiemtra(a, b, e) and Kiemtra(c, d, e);

Writeln(‘Dien tich tu giac la:’, dt(a, b, e)+dt(c, d, e):8:2); Readln;

END.

· Tìm sự liên hệ và phụ thuộc

Có thể đặt vấn đề xem xét ảnh hưởng của các câu lệnh đến dữ liệu khi đặt lọc dữ liệu để làm việc với hệ quản trị cơ sở dữ liệu, hoặc tác động của câu lệnh đến các bản ghi khi ta chỉ ra phạm vi hay điều kiện trong câu lệnh. Ta cũng có thể cho học sinh xem xét sự liên hệ phụ thuộc của biến điều khiển chu trình ở vòng trong với biến điều khiển chu trình ở vòng ngoài khi ta sử dụng nhiều vòng FOR ... TO ... DO lồng nhau. Sự phụ thuộc của vị trí hiển thị kết quả lên màn hình khi ta chỉ định quy cách in hoặc ta cho thay đổi toạ độ xác định cửa sổ cũng là những cơ sở để chúng ta gợi động cơ cho học sinh.

Ví dụ: Lập chương trình cho máy in lên màn hình bảng nhân các chữ số từ 1 đến 9 trong hệ cơ số 10.

Program BangNhan; Uses Crt;

Var i, j: Byte; Begin

Clrscr; Window(10, 5, 60, 22); For i:=1 To 9 Do Begin For j:=1 TO 9 Do Write(i*j:5); Writeln; End; Readln; End.

Nói riêng đối với cách gợi động cơ xuất phát từ những phương thức tư duy và hoạt động phổ biến trong Tin học như xét tượng tự, khái quát hoá, xét sự liên hệ và phụ thuộc (các trường hợp e, g, h), sự quen thuộc với những phương thức này không chỉ là kết quả mà là điều kiện của việc gợi động cơ theo cách đó. Thật vậy, việc xét tương tự, việc khái quát hoá, việc xét sự liên hệ và phụ thuộc chỉ có tác dụng gợi động cơ khi người học sinh đã quen thuộc với những cách xem xét này, đã trải nghiệm thành công nhiều lần làm việc theo các cách đó.

b Gợi động cơ trung gian

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 đó để đi đến mục đích. 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 thường dùng để gợi động cơ trung gian: · Hướng đích

Hướng đích cho học sinh là hướng vào những mục đích đặt ra, vào hiệu quả dự kiến của những hoạt động của họ nhằm đạt những mục đích đó.

Điểm xuất phát của hướng đích là việc đặt mục đích. Để đặt mục đích một cách chính xác, cụ thể, người thầy giáo cần xuất phát từ chương

trình và văn bản giải thích chương trình, nghiên cứu sách giáo khoa và tham khảo sách giáo viên. Trong tiết học, người thầy giáo phát biểu những mục đích và mức độ yêu cầu một cách dễ hiểu để học sinh nắm được. Chẳng hạn trong một tiết luyện tập về mảng một chiều, thầy giáo có thể nêu rõ ràng rằng học tiết này, học sinh phải thực hiện được những thao tác xử lý từng phần tử của mảng thông qua địa chỉ của nó trong mảng, phải xét được quan hệ của nó với các thành phần đứng trước, đứng sau, còn lại của mảng.

Đặt mục đích không đồng nhất với hướng đích. Đặt mục đích thường là một pha ngắn ngủi lúc ban đầu một quá trình dạy học, còn hướng đích là một nguyên tắc chỉ đạo toàn bộ quá trình này. 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, họ đều biết rằng những cái đó nhằm mục đích gì và trong quá trình tìm hiểu và mô tả con đường đi tới đích, họ luôn biết hướng những quyết định và hoạt động của mình vào mục đích đã đặt ra. Việc hướng đích như vậy tạo ra động lực cho những quy định và hoạt động đó, cho nên nó là một cách gợi động cơ trung gian.

Ví dụ như khi tìm cách giải bài toán lập trình cho máy tính tìm từng đường cao và tổng của chúng trong tam giác khi biết ba số đo ba cạnh bằng phương pháp lập trình từ trên xuống.

Mục đích của ví dụ này là tìm cách chia bài toán ban đầu T thành những bài toán nhỏ đơn giản hơn, chẳng hạn ta chia thành bài toán T1 là tính diện tích tam giác theo ba cạnh và bài toán T2 là tính đường cao đi qua cạnh khi biết diện tích và độ dài cạnh đó. Tiếp theo ta nhận thấy rằng bài toán T1 lại chia ra bài toán T11 là nhận vào 3 số, kiểm tra xem 3 số

Một phần của tài liệu Lí luận dạy học Tin học ở trường phổ thông (Trang 53 - 69)