PHƯƠNG PHÁP DẠY HỌC TIN HỌ CỞ TRƯỜNG PHỔ THÔNG
3.2.3. Tri thức hoạt động
Nội dung của tư tưởng chủ đạo này là: Dẫn dắt học sinh chiếm lĩnh tri thức, đặc biệt là tri thức phương pháp, như phương tiện và kết quả của hoạt động.
Tri thức vừa là điều kiện vừa là kết quả của hoạt động. Chẳng hạn việc sắp xếp một mảng đòi hòi kiến thức về cách tổ chức mảng trong Pascal, cách truy nhập đến mỗi phần tử của mảng, thuật giải sắp xếp. Vì
vậy trong dạy học ta cần quan tâm cả những tri thức cần thiết lẫn những tri thức đạt được trong quá trình hoạt động. Cần chú ý những dạng khác nhau của tri thức:
Tri thức sự vật.
Tri thức phương pháp. Tri thức chuẩn.
Tri thức giá trị.
Tri thức sự vật trong môn Tin học thường là khái niệm (ví dụ khái niệm biến), một câu lệnh (chẳng hạn câu lệnh gán), cũng có khi là một yếu tố lịch sử.
Tri thức phương pháp liên hệ với hai loại phương pháp khác nhau về bản chất và điều có ý nghĩa to lớn trong giáo dục Tin học, đó là phương pháp có tính chất thuật giải (ví dụ như phương pháp sắp xếp mảng) và những phương pháp có tính chất tìm đoán (chẳng hạn phương pháp tương tự, khái quát để giải bài tập Tin học).
Tri thức chuẩn thường liên quan tới những chuẩn mực nhất định, thường là có tính chất quy ước, chẳng hạn trình bày một chương trình có cấu trúc như thế nào, sắp xếp các dòng lệnh ra sao....
Tri thức giá trị có nội dung là những mệnh đề đánh giá, chẳng hạn “Tin học có vai trò quan trọng trong khoa học kỹ thuật cũng như trong đời sống”, “Thực tiễn là nền tảng của nhận thức, là tiêu chuẩn của chân lý”, “ Khái quát hoá là một thao tác trí tuệ cần thiết cho mọi khoa học”.
Trong dạy học Tin học, người thầy giáo coi trọng đúng mức các dạng tri thức khác nhau, tạo cơ sở cho việc thực hiện giáo dục toàn diện. Đặc biệt, tri thức giá trị liên hệ mật thiết với việc giáo dục tư tưởng chính trị và thế giới quan, tri thức phương pháp ảnh hưởng trực tiếp tới việc rèn luyện kỹ năng, là cơ sở định hướng trực tiếp cho hoạt động.
- Những tri thức về phương pháp thực hiện những hoạt động Tin học phức hợp như xây dựng thuật giải kiểm thử chương trình ...
- Những tri thức về phương pháp thực hiện những hoạt động trí tuệ phổ biến trong môn Tin như hoạt động tư duy hàm, phân chia trường hợp....
- Những tri thức về phương pháp thực hiện những hoạt động trí tuệ chung như so sánh, khái quát hoá, trừu tượng hoá...
- Những tri thức về phương pháp thực hiện những hoạt động ngôn ngữ logic như phát biểu bằng lời sự giống nhau và khác nhau của các câu lệnh lặp, thiết lập các biểu thức logic, liên kết các biểu thức logic dưới dạng hội hay tuyển của chúng...
Những tri thức phương pháp có thể thể hiện những phương pháp có tính chất thuật giải cũng như những phương pháp có tính chất tìm đoán.
Ở một số nơi đã từng có khuynh hướng muốn dạy một cách tường minh cả những tri thức phương pháp hoạt động trí tuệ chung như quan sát, mô tả, so sánh... ngay từ những lớp dưới, thậm chí lớp 1. Bên cạnh đó lại có những ý kiến không tán thành cách làm ồ ạt như trên và cho rằng chỉ nên dạy cho học sinh những tri thức phương pháp thực sự cần thiết và số lượng tri thức như vậy cần thu gọn tới mức tối thiểu. Tác giả cuốn sách này chia sẻ sự đồng tình với những ý kiến loại sau. Nhìn chung, liên quan đến những tri thức phương pháp có nhiều vấn đề cần cân nhắc giải quyết, chẳng hạn:
- Xác định tập hợp tối thiểu những tri thức phương pháp cần dạy. - Xác định yêu cầu về mức độ hoàn chỉnh của những tri thức phương pháp cần dạy, đặc biệt là đối với những phương pháp có tính chất tìm đoán. Những tri thức phương pháp quá chung sẽ ít tác dụng chỉ dẫn điều khiển hoạt động. Mặt khác, những tri thức phương pháp rậm rạp lại có thể làm cho học sinh lâm vào tình trạng rối ren.
- Xác định yêu cầu về mức độ tường minh cả những tri thức phương pháp cần dạy: dạy một cách tường minh hay là thông báo nhân quá trình
tiến hành hoạt động, hay chỉ thực hành ăn khớp với một tri thức nào đó, hay là một hình thức trung gian giữa những hình thức kể trên.
- Xác định yêu cầu về độ chặt chẽ của quá trình hình thành tri thức phương pháp: dựa vào trực giác hay lập luận logic.
Những vấn đề nêu trên hiện nay còn chưa được nghiên cứu đầy đủ. Tuy nhiên người có trách nhiệm giải quyết trước hết không phải là giáo viên mà là những người làm chương trình và viết sách giáo khoa.
Đứng trước một nội dung dạy học, người thầy giáo cần nắm được tất cả các tri thức phương pháp có thể có trong nội dung đó. Nắm được như vậy không phải là để dạy tất cả cho học sinh một cách tường minh mà còn phải căn cứ vào mục đích và tình hình cụ thể để lựa chọn cách thức, mức độ làm việc thích hợp, từ mức độ dạy học tường minh tới mức độ thực hành ăn khớp với tri thức phương pháp. Sau đây là sự giải thích về các mức độ như vậy.
a. Dạy học tường minh những tri thức phương pháp quy định trong chương trình
Đối với những tri thức phương pháp quy định trong chương trình, người thầy giáo cần xuất phát từ chương trình và sách giáo khoa để lĩnh hội được mức độ hoàn chỉnh, mức độ tường minh của những tri thức phương pháp cần dạy và mức độ chặt chẽ của quá trình hình thành những tri thức phương pháp đó.
Một điều quan trọng là việc truyền thụ và củng cố những kiến thức phương pháp, cần tìm nhiều cách hiệu quả để thể hiện những phương pháp đó, làm cho học sinh nhận rõ và luôn luôn tuân theo các bước của những phương pháp này. Ví dụ phương pháp viết hàm truyền theo trị có thể được trình bày một cách tổng quát như sau:
Function Tên_hàm(các biến hình thức): Kiểu kết quả của hàm; Khai báo địa phương;
Các câu lệnh của hàm; End;
Vận dụng cách viết tổng quát này vào những bài toán cụ thể sẽ cụ thể hoá các khái niệm trong cách viết tổng quát trên. Đầu tiên có thể cho học sinh làm việc với hàm không có tham số hình thức, không có khai báo địa phương, nhưng ban đầu chỉ có biến, sau đó có cả hằng, kiểu, rồi có cả chương trình con địa phương. Với những hàm cụ thể, kiểu kết quả của hàm cũng được xác định trong kiểu vô hướng hay xâu ký tự.
Các bước vận dụng cách viết tổng quát trên vào những trường hợp cụ thể có thể được trình bày một cách nhất quán trong một thời gian nhất định để học sinh lưu ý các bước vận dụng. Chẳng hạn viết hàm truyền theo trị để tính diện tích tam giác theo độ dài ba cạnh của nó. Ta cho học sinh điền vào các chỉ dẫn như sau:
Phần tiêu đề: - Tên hàm:dt;
- Các tham số hình thức: x, y, x : Real; - Kiểu kết quả của hàm: Real;
Phần khai báo địa phương: - Hằng: - Kiểu: - Biến: p: Real; - Các chương trình con: Phần thân hàm: P:=(a+b+c)/2; dt:=sqrt(p*(p-a)*(p-b)*(p-c));
Từ các chỉ dẫn trên, học sinh dễ dàng viết được hàm như sau: Function dt(x, y, z: Real): Real;
Bgin
P:=(a+b+c)/2; dt:=sqrt(p*(p-a)*(p-b)*(p-c)); End;
Để giúp học sinh nhớ những kiến thức về hàm, ta có thể đưa ra những hàm mà ở phần đầu hàm thiếu tên hoặc thiếu phần khai báo kết quả của hàm, hoặc ở thân hàm thiếu câu lệnh gán kết quả cho tên hàm, để cho học sinh nhận xét sai ở đâu, hãy bổ sung cho đúng.
b. Thông báo tri thức phương pháp trong quá trình hoạt động
Đối với một số tri thức phương pháp chưa được quy định trong chương trình, ta có thể suy nghĩ khả năng thông báo chúng trong quá trình học sinh hoạt động nếu những tiêu chuẩn sau đây được thoả mãn: Những tri thức phương pháp này giúp học sinh dễ dàng thực hiện một
số hoạt động quan trọng nào đó được quy định trong chương trình. Việc thông báo những tri thức này dễ hiểu và tốn ít thời gian.
Chẳng hạn nhân quá trình xây dựng xong chương trình con, căn cứ vào chương trình cụ thể đó ta có thể đưa vào những lời bình, thông báo những kiến thức phương pháp như chương trình con nào thì phải khai báo là thủ tục, chương trình con nào thì nên khai báo là hàm.
“Quy lạ về quen” là một tri thức phương pháp tuy không được quy định trong chương trình nhưng thoả mãn ở cả hai điều kiện trên. Tri thức này có thể được thông báo cho học sinh trong quá trình họ hoạt động ở rất nhiều cơ hội khác nhau.
c. Tập luyện những hoạt động ăn khớp với những tri thức phương pháp
Đối với những tri thức phương pháp không quy định trong chương trình mà chỉ thoả mãn tiêu chuẩn thứ nhất chứ không thoả mãn tiêu chuẩn thứ hai đã nêu ở mục 3.2, ta có thể đề cập ở mức độ thấp nhất: chỉ tập luyện những hoạt động ăn khớp với những tri thức phương pháp đó. Những tri thức như thế cần được thầy giáo vận dụng một cách có ý thức
trong việc ra bài tập, trong việc hướng dẫn và bình luận hoạt động của học sinh. Nhờ đó học sinh được làm quen với những phương pháp này.
Đối với những tri thức phương pháp không quy định trong chương trình, chỉ thoả mãn tiêu chuẩn: những tri thức phương pháp này giúp học sinh dễ dàng thực hiện một số hoạt động quan trọng nào đó được quy định trong chương trình, ta có thể chỉ cần luyện tập học sinh những hoạt động ăn khớp với những kiến thức phương pháp đó. Những kiến thức như thế cần được giáo viên vận dụng một cách có ý thức trong việc ra bài tập, trong việc hướng dẫn và bình luận hoạt động của học sinh. Nhờ đó học sinh được làm quen với những phương pháp tương ứng và nhận ra sự cần thiết của những phương pháp này.
Ví dụ rèn luyện khả năng sử dụng chương trình con. Một con đường có hiệu quả để phát triển ở học sinh năng lực xây dựng chương trình là tạo điều kiện cho họ tập luyện dần dần những hoạt động ăn khớp với một chiến lược lập trình có cấu trúc. Chiến lược này kết tinh lại ở học sinh như một bộ phận kinh nghiệm mà họ thu lượm được trong quá trình xây dựng những chương trình loại này. Đương nhiên sự kết tinh này không nên diễn ra một cách tự phát mà cần có những biện pháp được thực hiện một cách có mục đích, với những ý nghĩa thực tiễn khác nhau, với những tập câu lệnh không hoàn toàn giống nhau mà đòi hỏi học sinh khi xây dựng thuật giải cần tổ chức những chương trình con hợp lý để tiết kiệm công sức, thời gian, nâng cao hiệu quả khi mã hoá, khi kiểm thử và khi chạy chương trình.
Giáo viên có thể lặp đi lặp lại một cách có dụng ý những chỉ dẫn hoặc câu hỏi như sau:
- Bài toán đã cho có thể chia thành những bài toán nhỏ hơn như thế nào?
- Những biến nào cần dùng cho toàn bộ chương trình? - Những biến nào chỉ cần cho một chương trình con cụ thể?
- Mỗi chương trình con được móc nối với chương trình chính hoặc những chương trình con khác bằng những biến thuộc kiểu gì?
- Chương trình con nào cần gọi đến chương trình con khác? - Chương trình con nào cần viết dưới dạng hàm?
- Những chương trình con nào giống hoặc gần giống một chương trình mà ta đã biết?
- Có thể cấu trúc chương trình như thế nào?
Với thời gian, họ sẽ ý thức được rằng những câu hỏi hoặc chỉ dẫn này được giáo viên sử dụng lặp đi lặp lại nhiều lần, sẽ dần dần lĩnh hội và vận dụng chúng như một chiến lược xây dựng và sử dụng chương trình con, một yếu tố quan trọng của việc lập trình có cấu trúc.
Ví dụ: Cho máy nhận vào ba số thực dương, kiểm tra xem ba số đó có là số đo ba cạnh của một tam giác hay không? Nếu ba số đó là số đo ba cạnh của tam giác thì tam giác đó là tam giác gì?
Theo những câu gợi ý ở trên, ta chờ đợi ở học sinh những câu trả lời như sau:
+ Bài toán trên có thể chia nhỏ thành những bài toán như sau: - Nhập vào ba số thực, kiểm tra tất cả ba số đều dượng. - Sắp xếp ba số theo thứ tự tăng dần.
- Nhận dạng tam giác theo ba cạnh.
+ Biến a, b, c: thực là biến dùng chung cho cả chương trình. Trong chương trình sắp xếp cần thêm biến tg: thực là biến cục bộ.
+ Chương trình nhận vào ba số, kiểm tra chúng là ba số dương đã quá quen thuộc. Chương trình sắp xếp ba số theo thứ tự tăng dần đã biết.