1. Mở đầu
Đồ họa máy tính vốn có sức cuốn hút với nhiều lứa tuổi, do đó nhiều giáo viên
cho rằng dạy phần đồ họa sẽ được học sinh hưởng ứng nhiệt tình. Thực tế các em
cảm thấy thất vọng vì kết quả lại không được như mong đợi do không đẹp, hoặc
quá đơn giản. Tình huống này xảy ra do thời lượng dạy phần đồ họa quá ít ỏi và số
lượng các công cụ được giới thiệu trong sách giáo khoa rất hạn chế.
Bài báo này đề xuất giải pháp gây hứng thú trong quá trình dạy nội dung đồ
họa (phương pháp dạy học phát hiện và giải quyết vấn đề) đã được thử nghiệm có
kết quả tốt, bằng cách chỉ cần dùng các công cụ ít ỏi, nhưng có thể tạo ra các hình
ảnh đẹp mắt. Phần thảo luận sẽ đề cập đến việc dạy học sinh lập trình đồ họa để
tạo ra các sản phẩm có ý nghĩa hơn ngoài giá trị về thẩm mĩ.
10 trang |
Chia sẻ: thanhle95 | Lượt xem: 239 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Phương pháp phát hiện và giải quyết vấn đề trong dạy học lập trình đồ họa Pascal, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
JOURNAL OF SCIENCE OF HNUE
Educational Sci. 2010, Vol. 55, No. 8, pp. 54-63
PHƯƠNG PHÁP PHÁT HIỆN VÀ GIẢI QUYẾT VẤN ĐỀ
TRONG DẠY HỌC LẬP TRÌNH ĐỒ HỌA PASCAL
Nguyễn Chí Trung và Nguyễn Thế Lộc
Trường Đại học Sư phạm Hà Nội
1. Mở đầu
Đồ họa máy tính vốn có sức cuốn hút với nhiều lứa tuổi, do đó nhiều giáo viên
cho rằng dạy phần đồ họa sẽ được học sinh hưởng ứng nhiệt tình. Thực tế các em
cảm thấy thất vọng vì kết quả lại không được như mong đợi do không đẹp, hoặc
quá đơn giản. Tình huống này xảy ra do thời lượng dạy phần đồ họa quá ít ỏi và số
lượng các công cụ được giới thiệu trong sách giáo khoa rất hạn chế.
Bài báo này đề xuất giải pháp gây hứng thú trong quá trình dạy nội dung đồ
họa (phương pháp dạy học phát hiện và giải quyết vấn đề) đã được thử nghiệm có
kết quả tốt, bằng cách chỉ cần dùng các công cụ ít ỏi, nhưng có thể tạo ra các hình
ảnh đẹp mắt. Phần thảo luận sẽ đề cập đến việc dạy học sinh lập trình đồ họa để
tạo ra các sản phẩm có ý nghĩa hơn ngoài giá trị về thẩm mĩ.
2. Nội dung nghiên cứu
2.1. Tình hình giảng dạy nội dung lập trình đồ họa hiện nay
Trong chương VI "Chương trình con và lập trình có cấu trúc" (Tin học 11)
(xem [4]), nội dung lập trình đồ họa được dạy trong §3 "Thư viện và chương trình
con chuẩn" (2 tiết) và "Bài thực hành số 8" (1 tiết). Với thời lượng ít ỏi như vậy,
giáo viên thường chọn các chương trình đồ họa đơn giản để giới thiệu cấu trúc chung
các công cụ có sẵn. Vì quá quan tâm đến mục đích đó mà giáo viên sẽ vô tình dẫn
dắt học sinh sa vào các tiểu tiết khi giải quyết từng chương trình cụ thể, nghĩa là
cố gắng dùng nhiều thủ tục và hàm có sẵn để minh họa, tiến hành vẽ tất cả các đối
tượng thành phần của hình tổng thể như đoạn thẳng, hình tròn, hình chữ nhật và
cứ vẽ một cách cảm tính như vậy cho đến khi hình ảnh đích được hoàn tất. Sau vài
tiết học, kết quả mà học sinh thu hoạch được là các sản phẩm đồ họa nghèo nàn:
không đẹp mắt, thậm chí vô nghĩa (không thể gắn với một ứng dụng cụ thể nào).
Hơn nữa, với vốn kiến thức ít ỏi mà thầy trang bị: cấu trúc của chương trình đồ họa
54
Phương pháp phát hiện và giải quyết vấn đề trong dạy học lập trình đồ họa Pascal
(1), các công cụ có sẵn (2), chương trình ví dụ mẫu trên lớp (3) thì khi đứng trước
một yêu cầu vẽ hình mới, học sinh sẽ phải bỏ ra nhiều công sức để viết một chương
trình dài dòng, thiếu định hướng và tạo ra một sản phẩm đồ họa mới có chất lượng
kém.
Các lí do trên là động lực thúc đẩy giáo viên phải tìm kiếm các giải pháp hiệu
quả về mặt phương pháp sư phạm, và có thể bổ sung cho học sinh những tri thức,
kĩ năng vừa đủ cần thiết, để có thể dạy cho học sinh biết cách tạo ra một sản phẩm
đồ họa tương đối có chất lượng (đẹp mắt, dễ viết, và có thể yêu cầu cao hơn khi dạy
học sinh khá: tăng độ phức tạp, sản phẩm có ý nghĩa, có ứng dụng thực tế). Theo
chúng tôi, càng có ít thời gian để dạy thì giáo viên càng phải đề cao tính tự giác,
chủ động, sáng tạo của học sinh. Nói cách khác, cần phải tính đến các phương pháp
dạy học (PPDH) tích cực và lựa chọn vận dụng sao cho phù hợp với nội dung giảng
dạy phần lập trình đồ họa. PPDH Phát hiện và giải quyết vấn đề (PH & GQVĐ)
là một PPDH tích cực, trong đó học sinh được giáo viên đặt trong một Tình huống
có vấn đề (THCVĐ), là tình huống mà học sinh có nhu cầu nhận thức, muốn giải
quyết vấn đề đã đặt ra, nhưng gặp khó khăn về mặt trí tuệ: không thể hoàn thành
nhiệm vụ bằng cách thức đã biết mà phải tìm ra một cách thức mới [2]. Dựa trên
cơ sở xem xét mỗi sản phẩm đồ họa cần được tạo ra là một tình huống có vấn đề
và được giáo viên gợi động cơ hướng đích, bài báo này đưa ra giải pháp dạy học
phần đồ họa bằng phương pháp PH & GQVĐ để gây hứng thú và phát huy tính
chủ động, sáng tạo cho học sinh, giúp các em có niềm tin kiên định về khả năng lập
trình đồ họa của mình.
2.2. Phương pháp phát hiện và giải quyết vấn đề khi dạy học
lập trình đồ họa Pascal
Có thể chia các chương trình đồ họa chạy trên nền DOS, chẳng hạn như lập
trình bởi Turbo Pascal hoặc Turbo C, thành hai nhóm: Các chương trình đồ họa
tĩnh và Các chương trình đồ họa có hình chuyển động. Mỗi nhóm có thể được phân
loại thành các nhóm nhỏ hơn, chẳng hạn các chương trình đồ họa chuyển động chia
thành hai loại: Đồ họa chuyển động tự động với dữ liệu đầu vào được nhập một lần
duy nhất và Các chương trình đồ họa cho phép tương tác người dùng, ví dụ như
hệ thống bảng chọn (menu). Đặt trong giới hạn kiến thức và mục tiêu chương trình
phổ thông, bài báo này quan tâm đến các chương trình đồ họa tĩnh. Có thể chia các
bài toán đồ họa tĩnh ở hai mức độ: Lớp các bài toán đồ họa đơn giản và Lớp các
bài toán đồ họa phức tạp.
2.2.1. Các bài toán đồ họa đơn giản
* Gợi động cơ hướng đích.
55
Nguyễn Chí Trung và Nguyễn Thế Lộc
Giáo viên chạy một trong hai phần mềm học tập (có trong chương trình tin
học của THCS) là Yenka hoặc Geometer’s Sketchpad, mở ra một hình nào đó, ví dụ
như hình bình hành hoặc khối hộp chữ nhật. Giáo viên thực hiện thao tác di chuyển
các đối tượng hình học cơ sở, làm cho toàn bộ hình tổng thể bị di chuyển theo. Giáo
viên tiếp tục di chuyển các đối tượng hình học phụ thuộc (vào hình cơ sở), kết quả
là hình tổng thể mặc dù bị biến dạng, nhưng nó không bị phá vỡ, do mối quan hệ
toán học giữa các hình cơ sở và các hình còn lại được bảo toàn. Giáo viên yêu cầu
học sinh mô tả lại hiện tượng đó để rút ra được nhận xét như sau: "Trong một hình
tổng thể, có những thành phần cố định làm cơ sở cho toàn bộ hình và những đối
tượng còn lại". Để học sinh rút ra được nhận xét này, giáo viên không nhất thiết
phải thực hiện theo cách trên, chẳng hạn có thể xuất phát từ các bài toán dựng
hình mà học sinh đã biết.
Qua "thí nghiệm" trung gian trên, giáo viên đặt câu hỏi: "Để vẽ các hình tĩnh
đơn giản, ví dụ như hình bình hành, ta nên vẽ như thế nào?", và có thể đưa các câu
hỏi trung gian làm gợi ý, ví dụ như "Ta nên vẽ những đối tượng nào trước?" (nên
vẽ các đối tượng làm cơ sở trước), "Để vẽ những đối tượng (phụ thuộc) còn lại, ta
dựa vào nguyên tắc nào?" (dựa vào mối quan hệ toán học giữa chúng với hình cơ
sở, ví dụ như quan hệ song song, quan hệ vuông góc, quan hệ "thuộc vào", và các
độ dài ấn định theo dự kiến để tạo ra kích thước tổng thể của hình).
* Đưa học sinh vào tình huống có vấn đề.
Được gợi động cơ hướng đích theo cách trên, những học sinh khá sẽ sớm hiểu
được việc lập trình để vẽ được một hình ảnh tĩnh có thể tuân theo các bước gần
giống như các bước của một bài toán dựng hình. Từ đây, giáo viên dễ dàng tạo ra
một THCVĐ mà trong đó học sinh được kích thích sự ham muốn nhận thức và giải
quyết các bài toán có dạng tương tự như bài toán sau: Hãy lập trình vẽ hình ngôi
nhà có dạng như Hình 1a dưới đây:
Hình 1. Phác họa ngôi nhà mái chảy
* Dẫn dắt học sinh kiến tạo tri thức phương pháp.
Dựa vào cơ sở của việc gợi động cơ hướng đích, giáo viên có thể tiến hành đặt
các câu hỏi để dẫn dắt học sinh hình thành một nguyên tắc chung nhất để vẽ một
56
Phương pháp phát hiện và giải quyết vấn đề trong dạy học lập trình đồ họa Pascal
hình ảnh tĩnh. Nói cách khác, giáo viên dẫn dắt học sinh kiến tạo tri thức về mặt
phương pháp [1]. Kết quả của công việc này dẫn đến thuật toán khái quát như sau:
Thuật toán chung để vẽ hình tĩnh đơn giản: Giả thiết một hình tĩnh đơn giản
là hình tạo bởi một số đoạn thẳng và không có quá nhiều đỉnh ở trên hình. Để vẽ
một hình như thế, nên vẽ phác qua trên giấy trước khi tiến hành lập trình vẽ trên
máy và tuân theo các bước sau:
Bước 1: Chọn giấy kẻ ô vuông hoặc kẻ vài đường thẳng làm đường lưới để dễ
ước lượng tọa độ.
Bước 2: Chọn một số điểm thích hợp để điền tọa độ cho chúng. Chọn một số
cạnh thích hợp để điền khoảng cách cho chúng (Các điểm và các cạnh này có vai
trò là các hình cơ sở như trong thí nghiệm đã nêu).
Bước 3: Tính toán tọa độ cho các điểm còn lại dựa trên tọa độ các điểm và độ
dài các cạnh đã biết (Các điểm và các cạnh còn lại này có vai trò như các hình hình
học phụ thuộc với các hình cơ sở tùy thuộc vào từng trường hợp - bài toán cụ thể).
Bước 4: Lựa chọn phương pháp vẽ thích hợp đối với các hình bộ phận, dựa
vào các tọa độ đã tính được ở trên, để cuối cùng thu được hình tổng thể cần vẽ.
Ví dụ, để vẽ ngôi nhà trong Hình 1a, làm như sau:
+ Đặt tên cho các đỉnh, giả sử là A,B, C,D, E,F , G,H (xem Hình 1b).
+ Căn cứ trên các đường lưới đã kẻ (để dễ ước lượng tọa độ cho các đỉnh),
tiến hành ước lượng tọa độ cho 3 đỉnh A,B,C trước. Giả sử chọn đỉnh A(100; 100).
So với đỉnh A thì đỉnh B được đẩy xuống dưới 50 hàng và lùi sang trái 50 cột; đỉnh
C cũng được đẩy xuống dưới 50 hàng và nhưng sang phải 50 cột.
+ Giả sử ngôi nhà dài 200, cao 100 (đơn vị đo là pixel). Khi đó, từ hai đỉnh
A và C dễ dàng suy ra tọa độ hai đỉnh D và E. Tương tự, từ các đỉnh B,C,E dễ
dàng suy ra tọa độ các đỉnh F,G,H .
Việc gợi động cơ và xây dựng một quy tắc chung trên đây hoàn toàn phù hợp
với các cách tạo tình huống gợi vấn đề được giới thiệu trong [3, 5]. Khi tiến hành
lập trình vẽ hình, có ba phương pháp để chọn: Phương pháp 1: Tận dụng thủ tục
Lineto(.). Ở phương pháp này, chọn một đỉnh xuất phát thích hợp bằng câu lệnh
moveto(.), rồi từ đỉnh này, lần lượt đi đến các đỉnh khác, cứ đến một đỉnh thì vẽ
một đoạn thẳng tương ứng bằng câu lệnh lineto(.). Ví dụ chọn đỉnh A là đỉnh xuất
phát rồi lần lượt vẽ các đoạn AC,CB, BA,AD bằng một dãy các câu lệnh lineto(.).
Như vậy nếu một hình mà có thể dùng bút vẽ bằng một đường liền nét (chấm bút
tại một đỉnh, vẽ qua tất cả các cạnh, mỗi cạnh đi qua đúng một lần, và không nhấc
bút lên lần nào) thì có thể vẽ được hình đó chỉ bằng một câu lệnh moveto(.) và
một dãy các lệnh lineto(.). Phương pháp 2: Tận dụng thủ tục line(.). Chọn các đoạn
57
Nguyễn Chí Trung và Nguyễn Thế Lộc
thẳng chỉ đi qua một cặp đỉnh, ví dụ các đoạn AB,AC, DE,BF , CG,EH , vẽ các
đoạn thẳng đó bằng câu lệnh line(.). Chọn các đoạn thẳng đi qua ba đỉnh trở lên,
ví dụ các đoạn BCE và FGH , vẽ các đoạn thẳng đó đi qua đỉnh đầu tiên và đỉnh
cuối cùng. Phương pháp 3: Kết hợp cả hai phương pháp 1 và 2 nói trên.
2.2.2. Các bài toán đồ họa phức tạp
Để phát huy được tính tích cực, tự giác, chủ động, sáng tạo của học sinh, nhất
là đối với các học sinh khá, giáo viên cần đặt học sinh vào các THCVĐ khó hơn mà
nguyên tắc chung để vẽ một hình ảnh tĩnh đơn giản đã nêu ở trên không còn hoàn
toàn đúng nữa. Cụ thể, trong tình huống này học sinh được đứng trước một yêu
cầu lập trình vẽ một hình tĩnh phức tạp hơn, nhưng đổi lại nó phải gây cho hứng
thú thật sự, và các em có ham muốn giải quyết vấn đề đó, cho dù nó khó khăn hơn.
Muốn như vậy, giáo viên cần tìm kiếm các hình ảnh hấp dẫn liên hệ được với thực
tế để kích thích các em tính tò mò và mong muốn tìm được cách giải quyết bài toán
đã nêu. Trong bài báo này, chúng tôi đặt vai trò người thầy lúc này là người huấn
luyện [6] cho học sinh lập trình tạo ra một số hình hoa văn, ví dụ như hình bolygon
(Hình 2), hình giác xoáy (Hình 3), và hình kính vạn hoa (Hình 4).
* Tình huống vẽ hình bolygon. Một hình bolygon bậc n, số gia góc a, kí
hiệu B(n, a) là một tập hợp các đoạn thẳng nối các cặp điểm trên đường tròn bán
kính R cho trước. Điểm thứ nhất ứng với góc 0 độ, điểm thứ i ứng với góc n× i độ,
trong đó góc i nhận giá trị tăng dần từ 0 độ đến 360 độ với bước tăng là a độ. Học
sinh được yêu cầu lập trình vẽ bolygon B(n, a) với các tham số n và a nhập từ bàn
phím. Bán kính R được ấn định trước, chẳng hạn R = 100.
B(n; a) = B(3; 4) B(n; a) = B(5; 2)
Hình 2. Bolygon
Đối với bài toán này, giáo viên sẽ huấn luyện học sinh giải quyết THCVĐ ở
cấp độ 2, nghĩa là giáo viên nêu tình huống - giáo viên huấn luyện học sinh giải
quyết tình huống. Việc huấn luyện được tiến hành thông qua 2 công việc chính:
Việc 1: Giáo viên dẫn dắt học sinh hiểu ý tưởng thuật toán. Giáo viên có thể
58
Phương pháp phát hiện và giải quyết vấn đề trong dạy học lập trình đồ họa Pascal
chọn một hình bolygon bậc n = 2 và số gia góc a = 20, rồi vẽ minh họa một vài
cạnh liên tiếp trên một đường tròn bán kính R nào đó, rồi yêu cầu học sinh diễn tả
lại thuật toán theo đúng trình tự công việc mà giáo viên vừa thực hiện:
+ Khởi tạo i = 0 độ;
+ Lặp hai công việc sau khi i còn nhỏ hơn 360 độ: Đi đến điểm i độ trên đường
tròn; Vẽ dây cung nối giữa hai điểm i độ và i× n độ.
Việc 2: giáo viên tiến hành phương pháp "đàm thoại phát hiện" để chương
trình hóa được thuật toán. Giáo viên có thể tiếp tục đưa ra các THCVĐ "con", mỗi
tình huống tương ứng với một câu hỏi (vấn đề con cần giải) để giúp học sinh suy
nghĩ, đối thoại với nhau và hỏi lại giáo viên (nếu chưa rõ) để cuối cùng viết ra được
các câu lệnh tương ứng trong chương trình:
+ Một điểm (x; y) tại góc bằng i độ trên đường tròn bán kính R có tọa độ
biểu diễn bằng công thức lượng giác nào? (x = R ∗ cos(i); y = R ∗ sin(i))
+ Màn hình mặc định đặt gốc tọa độ Đề-các tại góc trái trên của nó và quay
trục tung y xuống dưới. Do đó, muốn vẽ hình trong hệ tọa độ Đê-các thông thường,
có gốc tọa độ đặt tại tâm màn hình, ta phải dùng công thức biến đổi tọa độ như thế
nào? (Là hợp thành của một phép tịnh tiến đến tâm (x0, y0) của màn hình và một
phép đối xứng qua trục hoành, nghĩa là tọa độ (x; y) đổi thành tọa độ (x0+x; y0−y),
trong đó x0 = getmaxx; y0 = getmaxy). Chú ý, độ phân giải màn hình đồ họa ở đây
là 640 cột và 480 dòng.
+ Vì Pascal không dùng đơn vị đo bằng độ, vậy i độ phải được đổi sang j
radian thông qua công thức nào? (Là công thức j =
i× pi
180
);
* Tình huống vẽ hình "giác xoáy". Cho một đa giác đều n cạnh, nội tiếp
trong một hình tròn có bán kính R cho trước. Gọi đa giác này là đa giác thứ nhất.
Ta sinh ra đa giác thứ hai bằng cách quay đa giác thứ nhất quanh tâm của nó theo
chiều kim đồng hồ sao cho: các đỉnh của đa giác tiếp theo nằm trên cạnh của đa
giác trước đó và chia các cạnh đó thành hai phần theo một tỉ lệ tl cố định cho trước.
Ta tiếp tục sinh ra đa giác thứ ba bằng cách tương tự, và cứ tiếp tục quá trình sinh
như thế cho đến khi tạo ra được m đa giác. Hình ảnh cuối cùng nhận được gọi là
một "giác xoáy", kí hiệu là G(n, tl,m). Học sinh được yêu cầu lập trình vẽ một hình
giác xoáy G(n, tl,m) với R = 100, các tham số n, tl,m nhập từ bàn phím.
Trong bài toán này, giáo viên sử dụng THCVĐ kết hợp cấp độ 1 và cấp độ 2,
nghĩa là giáo viên nêu tình huống, giải quyết một phần và sau đó hướng dẫn học
sinh giải quyết phần còn lại của tình huống. Ở cấp độ 1, để tiến tới việc hình thành
thuật toán giải quyết bài toán này, giáo viên sẽ tiến hành minh họa bằng một ví dụ
đơn giản, chẳng hạn vẽ hình vuông thứ nhất (n = 4) và sau đó vẽ hình vuông thứ
59
Nguyễn Chí Trung và Nguyễn Thế Lộc
G(n; tl;m) = G(5; 15; 50) G(n; tl;m) = G(8; 10; 50)
Hình 3. Giác xoáy
hai theo nguyên tắc sinh như đã được mô tả trong đề bài toán, chẳng hạn lấy tỉ lệ
tl =
1
3
. Gọi tọa độ các đỉnh của hình vuông đầu tiên là (xi; yi) với i = 1, ..., 4. Từ
đây, giáo viên điều khiển tiến trình giải quyết vấn đề theo cấp độ 2. Giáo viên yêu
cầu học sinh giải quyết một bài toán hình học cơ bản, đó là tìm công thức tính tọa
độ của hình vuông tiếp theo dựa vào tọa độ của hình vuông trước đó. Học sinh sẽ
dễ dàng tìm được công thức liên hệ sau:
x′i = xi +
xi + 1− xi
tl
; y′i = yi +
yi + 1− yi
tl
Giáo viên dẫn dắt và yêu cầu học sinh suy nghĩ, xây dựng thuật toán cho bài
toán:
Bước 1: Tính tọa độ của đa giác đầu và giảm 1 đơn vị cho biến m là biến đếm
số lượng đa giác cần vẽ;
Bước 2: Lặp quá trình sau khi giá trị của m đếm lùi còn lớn hơn 0:
2.1. Vẽ đa giác trước đó với tọa độ vừa tính được;
2.2. Tính đa giác tiếp theo nhờ công thức liên hệ đã xây dựng;
Để cài đặt chương trình cho thuật toán trên, tương tự như cách làm đối với
tình huống vẽ hình bolygon, giáo viên cần đưa ra thêm các THCVĐ con và dẫn dắt
học sinh chi tiết dần các bước của thuật toán tổng quát ở trên. Ví dụ, ở bước 1 việc
tính dãy tọa độ n đỉnh đa giác của đầu tiên phải được thể hiện bởi một vòng lặp
gồm các câu lệnh: x[i] = x0 +R cos(rad); y[i] = y0 +R sin(rad) với i = 1, 2, ..., n và
rad = rad + a; trong đó, trước vòng lặp khởi gán a =
2pi
n
(a là khoảng cách giữa
hai đỉnh của đa giác trên đường tròn và đo bằng radian); và sau vòng lặp, nên thêm
vào đỉnh thứ n+ 1 của đa giác và gán tọa độ của nó trùng với tọa độ của đỉnh đầu
tiên, để việc vẽ đa giác ở bước 2.1 diễn ra dễ dàng.
* Tình huống vẽ hình kính vạn hoa. Việc vẽ kính vạn hoa V (n; tl;m)
60
Phương pháp phát hiện và giải quyết vấn đề trong dạy học lập trình đồ họa Pascal
được áp dụng nguyên tắc xoay đa giác đều trong bài toán G(n; tl;m) đã được giải
quyết: Ban đầu ta nối n đỉnh của đa giác đều với tâm đường tròn ngoại tiếp để tạo
thành n tam giác. Áp dụng nguyên tắc xoay đa giác, kính vạn hoa được tạo ra như
sau: Tất cả các tam giác lẻ được quay ngược chiều kim đồng hồ; tất cả các tam giác
chẵn được quay cùng chiều kim đồng hồ; tỉ lệ đỉnh chia cạnh là tl, số tam giác sinh
ra đối với mỗi tam giác ban đầu là m.
V (n; tl;m) = V (12; 12; 80) V (n; tl;m) = V (8; 12; 80)
Hình 4. Kính vạn hoa
Dễ thấy việc lập trình vẽ hình kính vạn hoa sử dụng hầu hết các kết quả của
chương trình vẽ hình giác xoáy. Vì vậy để giải quyết bài toán này, giáo viên có thể
đưa vào một THCVĐ ở cấp độ 3, nghĩa là giáo viên nêu tình huống và học sinh hầu
như độc lập giải quyết tình huống.
Ba tình huống nêu đã chứng tỏ rằng: Việc giải quyết các yêu cầu xây dựng
thuật toán và cài đặt chương trình cho các bài toán phía sau ngày càng thể hiện rõ
các THCVĐ, đó là các tình huống mà học sinh có nhu cầu sử dụng lại một số kiến
thức nhận được từ các bài toán đã giải quyết trước đó, như việc tính tọa độ của các
điểm nằm trên đường tròn, các phép biến đổi tọa độ, phép xoay đa giác, và sau đó
học sinh mong muốn tiếp tục tìm ra cách thức mới, tổ chức lại tri thức, cấu trúc lại
tri thức và xây dựng một giải pháp mới để giải quyết được bài toán mới.
2.3. Kết quả và thảo luận
Trên thực tế, PPDH PH & GQVĐ ở đây được chúng tôi vận dụng một cách
linh hoạt tùy thuộc vào từng đối tượng học sinh. Đối với học sinh đại trà, như
các lớp không chuyên ở trường Chu Văn An, Hà Nội, chúng tôi chỉ triển khai các
THCVĐ dễ (như mục 2.2.1) vì cần phải dạy chậm và chắc để đảm bảo đúng thời
lượng và mục tiêu của chương trình. Một số ít học sinh trong các lớp này có nguyện
vọng được tiếp tục tìm hiểu thêm về lập trình đồ họa, được chúng tôi phát tài liệu
tham khảo trong đó có các chương trình đồ họa mẫu hướng đến các bài toán có ứng
dụng thực tế. Riêng đối với học sinh của các lớp chuyên tin, thậm chí một vài năm
ở các lớp chuyên toán như Lê Hồng Phong Nam Định, Chu Văn An Hà Nội, chúng
61
Nguyễn Chí Trung và Nguyễn Thế Lộc
tôi triển khai tất cả các nội dung như đã được giới thiệu trong bài báo và thu được
các kết quả khá tốt, nhận được sự hưởng ứng nhiệt tình của các em học sinh.
Các bài toán đồ họa vận dụng PPDH PH & GQVĐ được giới thiệu trong
phạm vi của bài báo này chưa thể hiện những ứng dụng có ý nghĩa ngoài giá trị về
thẩm mĩ. Việc dạy các chương trình đồ họa có ứng dụng thực tế là rất khó vì vấn
đề thời lượng và mục tiêu chương trình tin học ở cấp THPT trên bình diện cả nước
không đòi hỏi học sinh biết sâu về kĩ thuật lập trình đồ họa. Tuy nhiên, đối với học
sinh khá và học sinh chuyên tin, các giáo viên có thể áp dụng PPDH PH & GQVĐ
bằng cách tạo ra các THCVĐ khác nhau để giúp học sinh biết cách tạo ra các sản
phẩm đồ họa hữu ích. Đó là các sản phẩm đồ họa đề cập đến các nội dung sau đây:
sử dụng đầy đủ các công cụ của ngôn ngữ; Kiến tạo cho học sinh tri thức phương
pháp đối với các bài toán đồ họa chuyển động, đặc biệt là xây dựng các giao diện
chương trình đồ họa cho các ứng dụng cụ thể (tạo ra hệ thống bảng chọn thể hiện
các chức năng của ứng dụng), xây dựng các thư viện chương trình đồ họa tự định
nghĩa để có thể sử dụng cho nhiều bài toán khác nhau.
Để có thể triển khai PPDH tích cực này một cách hiệu quả, giáo viên cần tiết
kiệm thời gian và chỉ dành thời gian cho những nội dung mà học sinh không thể
tự mình hiểu được. Muốn như vậy, giáo viên hết sức lưu ý khâu giao cho học si