JOURNAL OF SCIENCE OF HNUE
Education Science, 2013, Vol. 58, No. 4, pp. 21-33
This paper is available online at http://stdb.hnue.edu.vn
DY HỌC GIẢI QUYẾT VẤN ĐỀ TRONG GIẢNG DY
PHƯƠNG PHÁP GIẢI MỘT BÀI TOÁN TRÊN Y TÍNH ĐIỆN TỬ
Nguyễn Tân Ân
Khoa Công nghệ Thông tin, Trường Đại học phạm Nội
Tóm tắt. Bài báo trình y tóm lược v phương pháp dạy học giải quyết vấn đề, sự
phù hợp của phương pháp y trong đào tạo nguồn nhân lực Công nghệ Thông tin
và Truyền thông nói chung và trong giảng dy nội dung giải một bài toán trên y
tính điện tử i riêng. Bài báo cũng đưa ra kịch bản phác thảo để dạy giải bài toán
“Tám Quân Hậu” theo phương pháp y. Các kết quả thử nghiệm đều khẳng định
phương pháp dạy học giải quyết vấn đề phương pháp huy động được tính tích
cực của sinh viên, phù hợp với mục tiêu đổi mới phương pháp dạy học hiện nay
rất thích hợp khi giảng dạy nội dung giải một i toán trên y tính điện tử.
T khóa: Dy học giải quyết vấn đề, đổi mới phương pháp dạy học, dạy học Tin
học, bài toán Tám Quân Hậu.
1. Mở đầu
Để đổi mới phương pháp giảng dạy, các nhà phạm đã đưa ra rất nhiều quan điểm
khác nhau, nhưng gần như tất cả các quan điểm đó đều thống nhất rằng trong quá trình
dạy học phải làm sao tích cực hóa hoạt động nhận thức của sinh viên (SV), biến quá trình
nhận thức thụ động của SV thành quá trình SV chủ động y dựng tri thức cho bản thân,
biến quá trình đào tạo SV thành quá trình SV tự đào tạo dưới sự hướng dẫn của giảng viên
(GV). Lấy người học làm trung tâm một thuật ngữ được nhiều người dùng khi nói về
đổi mới phương pháp dạy học.
Kiến thức thuộc nh vực Công nghệ Thông tin Truyền thông (CNTT&TT) được
đưa vào giảng dạy rộng rãi trong nhà trường muộn hơn rất nhiều so với c nội dung khoa
học khác. Phương pháp giảng dạy các môn thuộc lĩnh vực CNTT&TT cũng nhiều điểm
không giống với phương pháp giảng dạy các môn thuộc các lĩnh vực khoa học khác. Trong
CNTT&TT, những nội dung chỉ thích hợp với những cách dạy theo kiểu “dắt tay chỉ
việc”. dụ, giảng dạy sử dụng phần mềm, thật khó kiến tạo hay nêu vấn đề khi GV
hướng dẫn SV thực hiện một tác vụ kiểu như chèn một bức ảnh từ file vào văn bản soạn
Ngày nhận bài: 5-6-2012. Ngày chấp nhận đăng: 16-1-2013
Liên hệ: Nguyễn Tân Ân, e-mail: nguyentanan@yahoo.com
21
Nguyễn Tân Ân
thảo với Microsoft Office Word 2007: Đưa con tr đến vị trí muốn chèn bức ảnh Vào
menu Insert Picture Chọn file lưu bức ảnh cần chèn Kích nút Insert. Tuy nhiên,
cũng những nội dung đy chất duy, thậm chí cả yếu tố nghệ thuật như những môn
liên quan đến lập trình.
Trong đào tạo nguồn nhân lực CNTT&TT [1,2], những phương pháp giảng dạy huy
động sự ch cực của người học đặc biệt thích hợp. Kiến thức trong lĩnh vực CNTT&TT
thay đổi rất nhanh, những người làm công tác CNTT&TT hầu hết những người năng
động, thực tế, sáng tạo khả năng tự cập nhật kiến thức mới. Để đào tạo những con
người như thế, cần phải áp dụng những phương pháp dạy học tích cực, tạo điều kiện cho
SV sớm được rèn luyện theo những đòi hỏi đặc thù của nghề nghiệp. Phương pháp dạy
học giải quyết vấn đề (DH GQVĐ) phương pháp dạy học tích cực và rất thích hợp khi
giảng dạy nhiều nội dung trong đào tạo nguồn nhân lực CNTT&TT.
Bài báo y trình y việc áp dụng phương pháp DH GQVĐ trong giảng dạy cách
giải một bài toán trên máy nh điện tử (computer, sau đây ta gọi chung máy tính), một
nội dung cốt lõi trong mọi chương trình đào tạo CNTT&TT.
2. Nội dung nghiên cứu
2.1. Phương pháp DH GQVĐ
2.1.1. Khái niệm
DH GQVĐ [1,4,6] phương pháp dạy học, theo đó, GV đặt ra cho SV một hay
một hệ thống vấn đề nhận thức, đưa SV vào tình huống vấn đề, t đó hướng dẫn, điều
khiển SV giải quyết vấn đề, giúp SV chủ động trong học tập đ nắm được nội dung bài
học thoát khỏi tình huống vấn đề.
DH GQVĐ phù hợp với tinh thần của lí thuyết nhận thức, phù hợp với quan điểm
lấy người học làm trung tâm.
Một cách tự nhiên, thông qua các vấn đề được đặt ra, được hướng dẫn giải quyết
nối tiếp nhau, phương pháp này luôn kích hoạt tính tích cực học tập của SV, do vậy khi sử
dụng phương pháp y một cách phù hợp sẽ cuốn hút được SV vào bài giảng gây hiệu
quả nhận thức cao.
Phương pháp y đặc biệt thích hợp với giảng dạy đại học hay giảng dạy các
trường chuyên nghiệp, bởi khả năng giúp SV rèn luyện phong cách làm việc tích cực, sáng
tạo, sớm hình thành thói quen tìm tòi, nghiên cứu.
2.1.2. Những c ý khi áp dụng phương pháp dạy học giải quyết vấn đề
- Vấn đề đưa ra phải phù hợp với thời điểm, hoàn cảnh đặc biệt phải phù hợp với
đối tượng sinh viên, đảm bảo đưa SV o tính huống vấn đề. Đặt vấn đề quá khó hay
quá dễ đều không thể đưa SV vào tình huống vấn đề. Mức độ thành công của phương
pháp này phụ thuộc rất nhiều vào nghệ thuật đặt vấn đề dẫn dắt giải quyết vấn đề của
GV. Muốn thành công, GV phải nắm chắc kiến thức, phải hiểu SV. thế, cùng một giáo
án, khi dạy các lớp khác nhau sẽ được nêu vấn đề theo những cách thức và mức độ
22
Dạy học giải quyết vấn đề trong giảng dạy phương pháp giải một bài toán trên máy tính ...
khác nhau.
- Sau khi đặt vấn đề, việc hướng dẫn SV trong quá trình giải quyết vấn đề phải rất
linh hoạt. Kịp thời khuyến khích những hướng đi đúng khuyến khích những giải pháp
tốt đồng thời uốn nắn những giải pháp không hợp hoặc không sát vi mục đích GV
đang hướng quá trình nhận thức của SV đạt tới. Phần tóm tắt, hệ thống hóa kiến thức từng
phần hay toàn bài phải đọng, ngắn gọn, nêu được giải pháp giải quyết vấn đề đang
cần tìm.
- Chú ý quản thời gian và tiến trình giờ giảng cho tốt. Trong khuôn khổ thời gian
của một bài dạy, nếu cách nêu vấn đề không được chuẩn bị kĩ, nếu hướng dẫn thảo luận
hoặc nhận xét những giải pháp SV đưa ra còn lan man, việc tổng kết không trọng tâm
trọng điểm,... dễ làm cho bài giảng thiếu thời gian, không đạt kết quả mong muốn.
- Nên phối hợp phương pháp này với các phương pháp giảng dạy khác. Không nên
áp dụng đơn điệu một phương pháp. Trong mỗi bài dạy nên một phương pháp chủ đạo
nhiều phương pháp khác bổ trợ.
2.2. Dạy học giải quyết vấn đ rất thích hợp khi giảng dạy cách giải một
bài toán trên y tính
2.2.1. Bài toán
Trước tiên, cần nói rằng trong Tin học những bài toán không thể giải trên máy
tính theo cách thông thường. Tính giải được không giải được một nội dung quan
trọng trong thuyết Tính toán. Môn Trí tuệ nhân tạo đã cung cấp nhiều chiến lược tìm
kiếm lời giải [3]. đây chúng ta chỉ xét những bài toán được phát biểu chỉnh với mô hình
như sau:
Cho Cái vào (Input); Cho Cái ra (Output); Cho những thao tác thể được sử dụng
trong quá trình biến đổi từ Cái vào thành Cái ra.
Yêu cầu: Tìm Cái ra.
Những thao tác th được sử dụng trong quá trình biến đổi t Cái vào thành Cái
ra nói chung không được phát biểu tường minh khi cho bài toán để giảng dạy hoặc kiểm
tra kiến thức của SV. Khi đó ta ngầm hiểu rằng, đó các phương pháp tính toán, các công
thức, các định lí,... SV trình độ hiện tại phải biết thể áp dụng được. Các bài
toán vượt khỏi trình độ này có khi bị gọi “đầu i sai”. Sai đây nghĩa sai so với
phạm vi kiến thức của người được giao bài tập. để giải bài toán, SV phải áp dụng cả
các kiến thức chưa được học. Lưu ý rằng, đầu bài câu hỏi, mà câu hỏi thì không nhận
giá tr đúng/sai.
thế, nhiều tài liệu chỉ viết rằng: hình một bài toán gồm: Cho Cái vào,Cái
ra. Yêu cầu: T Cái vào tìm Cái ra?
2.2.2. Giải bài toán trên y tính
Giải một bài toán trên y tính nghĩa người giải phải tìm trong các thao tác
mình biết những thao tác cần thiết, sắp xếp các thao tác đó theo một trình tự thực hiện
23
Nguyễn Tân Ân
nhất định đ sao cho sau một s hữu hạn bước từ Cái vào ta Cái ra.
Chưa hết, tiếp đó người giải phải viết y các thao tác đó bằng một ngôn ngữ lập
trình để máy hiểu được, nhằm mục đích cuối cùng “giao” cho y thực hiện việc t
Cái vào tìm Cái ra. Nếu “giao” xong, người dùng chỉ cần nạp vào Cái vào, y tính sẽ
đưa ra Cái ra tương ứng. Đây chính bước viết chương trình.
Để “giao” cho y nh giải bài toán hoàn thiện phần mềm giải bài toán, nói
chung cần thực hiện 5 bước sau:
Bước 1. Xác định bài toán: Xác định bài toán đây chính việc xác định Cái
vào,Cái ra.
Bước 2. Lựa chọn hoặc thiết kế giải thuật: Thường khi thiết kế hoặc chọn giải thuật,
người giải đồng thời phải nghĩ ngay đến việc tổ chức dữ liệu.
Bước 3. Viết chương trình: Bước y chính bước người giải cài đặt giải thuật cùng
cấu trúc dữ liệu xác định bước trên. Đó chính việc viết chương trình sao cho thể
“giao” cho y thực hiện việc giải bài toán.
Bước 4. Kiểm thử và hiệu chỉnh chương trình: Đây bước kiểm thử. Nếu chương
trình còn lỗi, phải sửa hết lỗi.
Bước 5. Viết tài liệu: Tài liệu phải tả chi tiết bài toán, thuật toán, chương trình,
hướng dẫn sử dụng... Tài liệu rất ích và cần thiết cho người sử dụng chương trình
những người quan tâm nhằm hiểu, khai thác tốt bảo trì, nâng cấp chương trình.
Các bước trên thể lặp đi lặp lại nhiều lần cho đến khi tạm đạt yêu cầu. thế, ta
thấy, với mỗi chương trình thường các phiên bản khác nhau. Phiên bản sau cải tiến
của phiên bản trước.
Trong 5 bước kể trên, hai bước: Bước 2. Tìm kiếm hoặc thiết kế giải thuật Bước
3. Viết chương trình hai bước khó nhất cũng quan trọng nhất. Tất nhiên, để thực hiện
được hai bước này, SV phải qua được Bước 1. Tìm hiểu/xác định bài toán.
Trong khuôn khổ của bài báo, chúng ta chỉ bàn đến giảng dạy ba bước này.
2.2.3. Phương pháp DH GQVĐ rất thích hợp khi giảng dạy giải một bài toán trên
y tính
Giảng dạy Bước 1, tìm hiểu/xác định bài toán, thông thường GV dùng phương pháp
thuyết trình, giảng giải cặn kẽ, thống nhất những khái niệm, những thuật ngữ ghi trong
đầu bài, giúp SV hiểu Cái vào,Cái ra. Còn những thao tác được áp dụng, mặc nhiên
đó những thao tác SV trình độ hiện tại đã biết, không cần nhắc lại nữa.
Giảng dạy Bước 2, GV dẫn dắt SV tìm kiếm/lựa chọn giải thuật. Dễ thấy rằng quá
trình tìm kiếm giải thuật chính quá trình m cách giải quyết bài toán. Dẫn dắt SV thực
hiện bước này, nếu cứ theo đúng logic của nội dung, với cách nêu vấn đề phù hợp, t nhiên
GV đã theo phương pháp DH GQVĐ.
Tiếp theo, đối với Bước 3, bước viết chương trình, đây bước GV dẫn dắt SV mã
hóa giải thuật trên (viết code). Bước y đòi hỏi phải hiểu máy tính, hiểu ngôn ngữ lập
trình sẽ dùng, hiểu cách i đặt các cấu trúc dữ liệu liên quan bằng ngôn ngữ lập trình
24
Dạy học giải quyết vấn đề trong giảng dạy phương pháp giải một bài toán trên máy tính ...
định sử dụng... Vấn đề đặt ra bước này chính là: Làm thế nào để thể viết giải thuật
vừa m được bước trên bằng ngôn ng lập trình định sử dụng. Khi dẫn dắt SV thực
hiện bước viết chương trình, bằng cách nêu vấn đề khéo léo dựa trên những kiến thức đã
v cấu trúc dữ liệu, v ngôn ngữ lập trình đã của SV, GV đưa SV vào hoàn cảnh
vấn đề. Giải quyết vấn đề bước y chính chuyển từng câu, từng đoạn lệnh trong giải
thuật vừa tìm được bước trước sang cách diễn đạt bằng ngôn ngữ lập trình định dùng.
Kết quả bước y một chương trình hoàn chỉnh.
Dưới đây ta sẽ t một d cụ thể.
2.3. Áp dụng phương pháp DH GQVĐ trong giảng dạy giải bài toán “Tám
Quân Hậu”
Khi giảng dạy Cấu trúc dữ liệu Giải thuật, một môn học rất bản trong mọi
chương trình đào tạo, ta gặp rất nghiều trường hợp tương tự như giải một bài toán trên
y tính. Sau đây một dụ:
Trong cuốn Cấu trúc dữ liệu và Giải thuật của tác giả Đỗ Xuân Lôi [5], Chương
3: Đệ qui, sau phần những kiến thức v đ qui, tác giả đưa ra 4 dụ áp dụng từ dễ đến
khó: 1). Tính n!; 2). Tính số hạng thứ n của dãy FIBONACI; 3). Bài toán "Tháp Nội";
4). Bài toán “Tám Quân Hậu”. Qua 4 dụ này, SV sẽ củng cố được kiến thức thuyết,
khả năng áp dụng giải thuật đệ qui đồng thời kiến thức chung v giải một bài toán trên
y tính một lần nữa được củng cố.
Ta y phác thảo kịch bản giảng dạy dụ thứ 4 theo mục đích của sách đã dẫn: Bài
toán Tám Quân Hậu”.
Bài toán: y đặt 8 quân hậu lên bàn cờ sao cho không quân nào ăn được
quân nào! [5].
Bước 1. c định i toán:
GV (Dùng phương pháp thuyết trình):
Cái vào: Bàn cờ Vua và 8 quân hậu. (GV giải thích thế nào bàn cờ (bàn cờ Vua),
thế nào quân hậu khả năng đi, khả năng ăn của quân hậu (theo luật cờ Vua)).
Cái ra: Một cách đặt 8 quân hậu vào các ô trên bàn cờ sao cho không quân nào ăn
được quân nào.
Bước 2. Lựa chọn hoặc thiết kế giải thuật:
GV (Nêu câu hỏi đưa SV vào tình huống vấn đề):
Làm thế nào để đặt 8 quân hậu lên bàn cờ sao cho không quân nào ăn được
quân nào?
(Yêu cầu trả lời bằng ngôn ngữ tiếng Việt, chưa vận dụng kiến thức Tin, kiến thức
Toán đặc biệt nào vào đây).
thể nhiều câu trả lời. Trường hợp gặp SV đã học đâu đó một cách giải và họ
trình y cách giải đó, GV (có thể) hỏi thêm: Tính đệ qui trong cách giải của anh/chị thể
hiện chỗ nào? (ta đang học giải thuật đệ qui), và khả năng cài đặt cách làm đó lên y
tính? bao nhiêu cách làm (có bao nhiêu nghiệm)?... Nếu SV trả lời được, thì đây SV
25