Phát triển tư duy thuật toán cho học sinh thông qua dạy học các cấu trúc dữ liệu
Trang 1Mở đầu
1 Lí do chọn đề tài
Tin học, nói rộng hơn là CNTT đợc coi là một lĩnh vực khá mới mẻ
nh-ng phát triển nhanh và mạnh mẽ, có tầm ứnh-ng dụnh-ng rất rộnh-ng rãi Do đó bộ môn Tin học đợc đa vào nhà trờng Phổ thông với mục đích là: “làm cho tất cả mọi học sinh tốt nghiệp trung học đều nắm đợc những yếu tố cơ bản của Tin học với t cách là thành tố của văn hoá Phổ thông”, “Góp phần hình thành ở học sinh những loại hình t duy liên hệ mật thiết với việc sử dụng CNTT nh t duy thuật giải, t duy điều khiển…” Ngoài những kiến thức cơ bản về Tin học, về” Ngoài những kiến thức cơ bản về Tin học, về
sử dụng máy tính điện tử thì chơng trình Tin học phổ thông còn trang bị cho học sinh những kiến thức, kỹ năng cơ bản về lập trình, biết vận dụng chúng để giải một số bài tập cơ bản, đồng thời bớc đầu chuẩn bị hành trang cho học sinh có thể đi tiếp vào lĩnh vực này ở các giai đoạn tiếp theo Đặc biệt, qua dạy học lập trình cần rèn luyện cho học sinh một loại hình t duy quan trọng đó là
t duy thuật giải Hơn nữa, trớc khi giải quyết một bài toán, trớc khi viết chơng tình cho máy tính cho dù đơn giản nhất thì bất cứ ai dù ở trình độ nào cũng
điều phải suy t ít nhiều về cách giải, về thuật giải Trong tổng thể kiến thức về Tin học, các thuật giải hay hẹp hơn nữa là các thuật toán cùng cấu trúc dữ liệu
đợc xem là những tri thức quan trọng hàng đầu và không thể thiếu cho dù bất
kỳ ngôn ngữ lập trình nào muốn đạt đợc mục đích với hiệu quả cao nhất
Chính vì những lý do trên và với mong muốn tìm ra cho mình một đờng
đi riêng để đến với phơng pháp dạy học môn Tin học, để từ đó tích luỹ và trau dồi những năng lực và phẩm chất của một ngời giáo viên trong tơng lai, tôi
chọn đề tài: Phát triển t“ duy thuật giải cho học sinh thông qua dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc Tin học lớp 11 THPT”
làm đề tài nghiên cứu khoa học của mình
2 Mục đích nghiên cứu
Mục đích nghiên cứu của khoá luận là nghiên cứu cơ sở lý luận và thực tiễn, đề ra một số định hớng s phạm nhằm phát triển t duy thuật giải cho học sinh trong quá trình dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc góp phần nâng cao chất lợng dạy học Tin học ở trờng phổ thông
3 Giả thuyết khoa học
Trang 2Nếu đổi mới phơng pháp dạy học theo định hớng phát triển t duy thuật giải thì sẽ kích thích hứng thú học tập, tích cực hóa hoạt động nhận thức của
học sinh do đó nâng cao chất chất lợng dạy học Tin học lớp 11 THPT
4 Nhiệm vụ nghiên cứu
Để đạt đợc mục đích đã nêu trên, khoá luận có nhiệm vụ:
- Nghiên cứu cơ sở khoa học của việc phát triển t duy thuật giải cho học sinh trong dạy học Tin học 11 THPT
- Xây dựng quy trình dạy học theo hớng phát triển t duy thuật giải cho học sinh thông qua dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc
5 Đối tợng nghiên cứu
- Nội dung, phơng pháp dạy học lập trình trong chơng trình Tin học phổ thông
- Sách giáo khoa và sách giáo viên Tin học 11
- Hoạt động dạy và học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc ở trờng THPT
6 Phơng pháp nghiên cứu
6.1 Nghiên cứu lý thuyết
* Nghiên cứu các văn kiện của Đảng và Nhà nớc, của Bộ giáo dục và
Đào tạo có liên quan đến việc dạy và học Tin học ở trờng THPT
* Các sách báo, tạp chí có liên quan đến nội dung đề tài
* Các tài liệu, bài giảng về phơng pháp dạy học Tin học, phơng pháp dạy học môn Toán, các tài liệu giáo dục học, tâm lý học…” Ngoài những kiến thức cơ bản về Tin học, về
* Nghiên cứu vị trí, khối lợng kiến thức về lập trình trong chơng trình Tin học phổ thông
* Nghiên cứu các tài liệu về ngôn ngữ lập trình Pascal
6.2 Nghiên cứu thực tiễn
* Dự giờ, quan sát gìơ dạy của giáo viên và hoạt động học tập của học sinh trong quá trình dạy học nói chung và dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc nói riêng
* Tìm hiểu qua giáo viên để nắm đợc tình hình giảng dạy và học tập Tin học trong nhà trờng Phổ thông hiện nay
* Tiến hành thực nghiệm s phạm để kiểm chứng thông qua các lớp thực nghiệm và đối chứng trên cùng một lớp đối tợng
7 Cấu trúc của khoá luận
Trang 3Ngoài phần mở đầu, kết luận và tài liệu tham khảo, khoá luận gồm ba chơng:
Chơng I: Cơ sở lý luận của việc phát triển t duy thuật giải cho học sinh thông
qua dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc
Chơng II: Một số định hớng s phạm góp phần phát triển t duy thuật giải cho
học sinh thông qua dạy học các các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc
Chơng III: Thực nghiệm s phạm.
Trang 4Chơng I
Cơ sở lý luận của việc phát triển t duy thuật giải cho học sinh thông qua dạy học các cấu trúc điều khiển và
các kiểu dữ liệu có cấu trúc.
1.1 Cơ sở lý luận
1.1.1 Quan điểm hoạt động trong phơng pháp dạy học.
Chúng ta biết rằng quá trình dạy học là một quá trình điều khiển hoạt
động của học sinh nhằm đạt đợc những mục đích dạy học Còn học tập là một quá trình xử lý thông tin Quá trình này có chức năng: đa thông tin vào, ghi nhớ thông tin, biến đổi thông tin, đa thông tin ra và điều phối Học sinh thực hiện các chức năng này bằng những hoạt động của mình Thông qua hoạt
động thúc đẩy sự phát triển về trí tuệ ở học sinh làm cho học sinh học tập một cách tự giác, tích cực
Xuất phát từ một nội dung dạy học ta cần phát hiện những hoạt động liên hệ với nó rồi căn cứ vào mục đích dạy học mà lựa chọn để tập luyện cho học sinh một trong số những hoạt động thành phần giúp chúng ta tổ chức cho học sinh tiến hành những hoạt động với độ phức tạp vừa sức họ
1.1.2 T duy và đặc điểm của t duy
1 T duy
Theo tâm lý học : “T duy là một quá trình tâm lý phản ánh những thuộc tính bản chất, những mối liên hệ và quan hệ bên trong có tính quy luật của sự vật hiện tợng trong hiện thực khách quan mà trớc đó ta đã biết”
T duy là giai đoạn cao nhất của nhận thức, đi sâu vào bản chất và phát hiện
ra tính quy luật của sự vật hiện tợng bằng những hình thức nh biểu tợng, khái niệm, phán đoán và suy nghĩ
2 Đặc điểm của t duy
Với t cách là một mức độ mới thuộc nhận thức lý tính, khác xa về chất
so với nhận thức cảm tính, t duy do con ngời là chủ thể có những đặc điểm cơ bản sau đây:
* Tính “có vấn đề”
* Tính gián tiếp
* Tính trừu tợng và khái quát
* T duy của con ngời có sự liên hệ chặt chẽ với ngôn ngữ
* T duy có quan hệ mật thiết với nhận thức cảm tính
1.2 Khái niệm thuật toán
1.2.1 Khái niệm
Trang 5Việc chỉ ra tờng minh một cách tìm Output của bài toán đợc gọi là một thuật toán (algorithm) giải bài toán đó Thuật ngữ “thuật toán” đợc xuất phát từ nhà toán học Arập Abu Ja’far Mohammed ibn Musa al Khowarizmi (khoảng năm 825) Có nhiều định nghĩa khác nhau về thuật toán ở đây xin đa
ra khái niệm về thuật toán nh sau:
Thuật toán để giải một bài toán là một dãy hữu hạn các thao tác đợc sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác ấy,
từ các thông tin đã có của bài toán, ta nhận đợc các thông tin cần tìm.
Từ định nghĩa ta thấy thuật toán có các tính chất sau:
* Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn lần thực hiện tác thao tác
* Tính xác định: Sau khi thực hiện các thao tác thì hoặc là thuật toán kết thúc hoặc là có đúng một thao tác các định để đợc thực hiện tiếp theo
* Tính đúng đắn: Sau khi thuật toán kết thúc ta phải nhận đợc Output cần tìm
1.2.2 Các đặc trng của thuật toán
1 Tính đơn trị
2 Tính hiệu quả
3 Tính tổng quát
1.2.3 Các phơng pháp biểu diễn thuật toán.
Thuật toán là một phơng pháp thể hiện lời giải một bài toán nên cũng phải tuân theo một số quy tắc nhất định Để có thể truyền đạt thuật toán cho ngời khác hay chuyển thuật toán thành chơng trình máy tính, ta phải có phơng pháp biểu diễn thuật toán Có 4 phơng pháp biểu diễn thuật toán:
1 Ngôn ngữ tự nhiên và ngôn ngữ toán học
2 Dùng lu đồ – sơ đồ khối
3 Dùng ngôn ngữ phỏng trình
4 Dùng ngôn ngữ lập trình
1.3 Khái niệm thuật giải
Trong quá trình nghiên cứu giải quyết các vấn đề – bài toán, ngời ta đã đa
ra nhận xét sau:
+ Có nhiều bài toán cho đến nay vẫn cha tìm ra một cách giải theo kiểu thuật toán và cũng không biết có tồn tại thuật toán hay không
+ Có nhiều bài toán đã có thuật toán để giải nhng không chấp nhận
đ-ợc vì thời gian giải theo thuật toán đó quá lớn hoặc các điều kiện cho thuật toán đó khó đáp ứng
Trang 6+ Có những bài toán đợc giải theo cách giải vi phạm thuật toán nhng vẫn chấp nhận đợc
Nh vậy, không phải cách giải nào, thuật toán nào cũng đều đạt đợc các tiêu chí nêu trên Do vậy, các cách giải chấp nhận đợc nhng không hoàn toàn đáp ứng đầy đủ các tiêu chuẩn của thuật toán đợc gọi là các thuật giải Khái niệm
mở rộng này của thuật toán đã mở rộng cho chúng ta trong việc tìm kiếm ph
-ơng pháp để giải quyết các bài toán đợc đặt ra Ngoài việc mở rộng tính đúng của thuật toán, thuật giải có tất cả các tính chất nh thuật toán Nó cũng có các hình thức biểu diễn phong phú nh thuật toán
1.4 Khái niệm t duy thuật giải
T duy thuật giải là hình thức biểu lộ của t duy biện chứng trong quá trình con ngời nhận thức khoa học Tin học hay thông qua hình thức áp dụng tin học vào các khoa học khác Nh vậy, t duy thuật giải là t duy biện chứng, là cách suy nghĩ để giải quyết một bài toán, một công việc nào đó theo một trình tự nhất định Nó là phơng thức t duy biểu thị khả năng tiến hành các hoạt
động sau:
T 1: Thực hiện những thao tác theo một trình tự xác định phù hợp với một thuật giải
T 2: Phân tích một quá trình thành những thao tác đợc thực hiện theo trình tự xác định
T 3: Khái quát hoá một quá trình diễn ra trên một số đối tợng riêng lẻ thành một quá trình diễn ra trên một lớp đối tợng
T 4: Mô tả chính xác quá trình tiến hành một hoạt động
T 5: So sánh những thuật giải khác nhau cùng giải quyết một bài toán
và tìm ra thuật giải tốt hơn về một yêu cầu nào đó
Trong đó, T1 thể hiện năng lực thực hiện thuật giải, (T2 – T5) thể hiện năng lực xây dựng thuật giải
1.5 Vấn đề phát triển t duy thuật giải cho học sinh trong dạy học Tin học
1.5.1 Vai trò của việc phát triển t duy thuật giải trong dạy học Tin học ở trờng phổ thông.
Phát triển t duy thuật giải không chỉ là một điều kiện cần thiết góp phần hình thành và phát triển văn hoá thuật giải cho học sinh mà còn là mục
đích quan trọng của việc dạy học tin học ở trờng phổ thông:
* T duy thuật giải tạo điều kiện tốt cho học sinh tiếp thu kiến thức, rèn luyện các kỹ năng tin học và các môn học khác
Trang 7* T duy thuật giải giúp học sinh làm quen với cách làm việc trong khi giải bài toán bằng máy tính điện tử
* T duy thuật giải phát triển sẽ thúc đẩy sự phát triển các thao tác trí tuệ (nh: phân tích, tổng hợp, so sánh, trừu tợng hoá, khái quát hoá…” Ngoài những kiến thức cơ bản về Tin học, về) cũng nh những phẩm chất trí tuệ (nh: tính linh hoạt, tính độc lập, tính sáng tạo và nhất
là những phẩm chất cần thiết của ngời lập trình nh: tác phong làm việc theo nhóm, tính kỷ luật cao,…” Ngoài những kiến thức cơ bản về Tin học, về)
* T duy thuật giải giúp học sinh hình dung đợc quá trình tự động hoá diễn ra trong những lĩnh vực khác nhau của con ngời, trong đó có lĩnh vực xử
lý thông tin điều này làm cho học sinh thích nghi với xã hội tự động hoá, góp phần làm giảm ngăn cách giữa nhà trờng và xã hội
1.5.2 Những t tởng chủ đạo để phát triển t duy thuật giải trong dạy học Tin học.
Qua quá trình tìm hiểu, nghiên cứu và tham khảo tài liệu, xin đợc đa
ra hệ thống các t tởng chủ đạo về phát triển t duy thuật giải nh sau:
* Rèn luyện cho học sinh các hoạt động t duy thuật giải trong khi dạy học và luyện tập tri thức lập trình
* Gợi động cơ và hớng đích cho các hoạt động t duy thuật giải
* Truyền thụ cho học sinh những tri thức phơng pháp về t duy thuật giải trong khi tổ chức, điều khiển tập luyện các hoạt động t duy thuật giải
* Phân bậc các hoạt động
1.6 Kết luận chơng I
Khoá luận đã nêu đợc quan điểm chủ đạo để phát triển t duy thuật giải cho học sinh đó là quan điểm hoạt động
Khoá luận đã làm rõ đợc khái niệm thuật toán và các đặc trng của thuật toán Dựa trên khái niệm thuật toán và quan điểm dạy học theo lý thuyết hoạt động, khoá luận đã đa ra khái niệm t duy thuật giải
Khoá luận cũng đã nêu lên đợc ý nghĩa và tầm quan trọng của việc phát triển t duy thuật giải
Trang 8Chơng II
Một số định hớng s phạm góp phần phát triển t duy thuật giải cho học sinh thông qua dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc.
2.1 Những nội dung chủ yếu về các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc
Theo chơng trình tin học 11 THPT đã trình bày, các cấu trúc điều khiển bao gồm: Cấu trúc rẽ nhánh và cấu trúc lặp đợc trình bày rất chi tiết trong
ch-ơng III Còn các kiểu dữ liệu có cấu trúc đợc đề cập ở chch-ơng IV bao gồm: Kiểu mảng, Kiểu xâu và Kiểu bản ghi
Về cấu trúc rẽ nhánh:
Về cấu trúc lặp:
Đối với các kiểu dữ liệu có cấu trúc:
2.2 Một số nguyên tắc dạy học theo hớng phát triển t duy thuật giải cho học sinh.
Sau khi phân tích và nắm rõ đợc những kiến thức chủ yếu về các cấu trúc
điều khiển và các kiểu dữ liệu có cấu trúc Để dạy học theo hớng phát triển t duy thuật giải đảm bảo đợc mục tiêu về kiến thức, kỹ năng và đạt hiệu quả cần phải dựa trên một số nguyên tắc sau:
Nguyên tắc 1: Dạy học theo hớng phát triển t duy thuật giải phải đáp
ứng đợc mục đích của việc dạy, học tin ở nhà trờng phổ thông
Nguyên tắc 2: Dạy học theo hớng phát triển t duy thuật giải phải dựa
trên định hớng đổi mới phơng pháp dạy học hiện nay
Nguyên tắc 3: Dạy học theo hớng phát triển t duy thuật giải phải đảm
bảo sự tôn trọng, kế thừa và phát triển tối u chơng trình sách giáo khoa hiện hành
Nguyên tắc 4: Dạy học theo hớng phát triển t duy thuật giải phải góp
phần đắc lực hình thành nhân cách con ngời ở thời đại mới
Nguyên tắc 5: Dạy học theo hớng phát triển t duy thuật giải phải phát
huy tính tích cực nhận thức của học sinh phù hợp với thực tiễn hoàn cảnh, môi trờng giáo dục và thực tiễn học sinh
Nguyên tắc 6: Dạy học theo hớng phát triển t duy thuật giải phải kết
hợp chặt chẽ rèn luyện cho học sinh tính tổ chức, tính trật tự với tính linh hoạt
và sáng tạo
Trang 9Trên đây là một số nguyên tắc cần phải đảm bảo khi dạy học theo hớng phát triển t duy thuật giải cho học sinh thông qua dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc
Do vậy, để giúp học sinh có sự t duy sáng tạo hơn, tích cực hơn tránh
đợc sự máy móc trong suy nghĩ và vận dụng kiến thức đợc học vào việc giải quyết các bài toán Tôi nhận định một trong các biện pháp để nâng cao chất l-ợng bộ môn là chú trọng rèn luyện và phát triển t duy thuật giải cho học sinh qua khả năng thực hiện thuật giải và khả năng xây dựng thuật giải
Theo các chuyên gia, t duy thuật giải đợc thể hiện ở những khả năng sau:
K 1: Thực hiện thuật giải đã biết
K 2: Phân tách hoạt động
K 3: Tờng minh hóa thuật giải
K 4: Khái quát hóa hoạt động
K 5: Chọn thuật giải tối u
2.3 Một số định hớng s phạm góp phần phát triển t duy thuật giải cho học sinh thông qua dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc.
2.3.1 Xây dựng quy trình dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc theo hớng phát triển t duy thuật giải.
Sau đây là hai quy trình dạy học các cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc theo hớng phát triển t duy thuật giải của học sinh qua hai giai
đoạn: chiếm lĩnh tri thức lập trình và rèn luyện kỹ năng lập trình thông qua sự tác động để học sinh thể hiện đợc các khả năng K1- K5
2.3.1.1 Quy trình dạy học chiếm lĩnh tri thức lập trình
Quy trình gồm 5 bớc nh sau:
B
ớc 1 : Làm nảy sinh nhu cầu nhận thức tri thức lập trình cụ thể là các
cấu trúc điều khiển và các kiểu dữ liệu có cấu trúc Trong bớc này, giáo viên
có thể tiến hành bằng hai cách: Nêu vấn đề hoặc cho học sinh làm một số ví
dụ và phản ví dụ tốt nhất là nên có các “phiếu học tập” đã chuẩn bị sẵn, đặt học sinh vào tình huống “có vấn đề” để học sinh phải suy nghĩ, phải t duy từ
đó phát hiện ra vấn đề
B
ớc 2 : Tổ chức hớng dẫn học sinh hành động tác động vào đối tợng
nhằm phát hiện ra dấu hiệu bản chất, cấu trúc logic của kiến thức mới Trong bớc này giáo viên nên đa ra các phơng tiện trực quan (sơ đồ khối, hình minh họa…” Ngoài những kiến thức cơ bản về Tin học, về.), ví dụ và bài tập yêu cầu học sinh quan sát, phân tích, tổng hợp, so
Trang 10sánh, trừu tợng hóa và khái quát hóa để tìm ra dấu hiệu bản chất của vấn đề.
Từ đó rút ra ý nghĩa, cấu trúc,…” Ngoài những kiến thức cơ bản về Tin học, về của kiến thức mới
B
ớc 3 : Gợi động cơ để học sinh trình bày lại, thể hiện lại cấu trúc cũng
nh sự hoạt động của các cấu trúc điều khiển hay cách khai báo của các kiểu dữ liệu có cấu trúc dới dạng một thuật giải Trong bớc này, giáo viên phải nêu bật các câu hỏi thích hợp làm nổi bật các thao tác có trong tri thức mới
B
ớc 4 : Tổ chức hớng dẫn học sinh nhận dạng và thể hiện thuật giải vừa
nêu vào các tình huống cụ thể Trong bớc này, giáo viên yêu cầu học sinh làm các bài tập đòi hỏi phát triển các thao tác t duy thuật giải (T1, T2, T3, T4)
B
ớc 5 : Tập luyện các hoạt động t duy thuật giải thông qua các bài toán
không theo thuật giải đã biết Trong bớc này, giáo viên có thể đa ra một số bài toán giải đợc bằng 2 hoặc nhiều cách Việc làm này có tác dụng rèn luyện phát hiện thuật giải tối u
2.3.1.2 Quy trình dạy học rèn luyện kỹ năng lập trình
Nh đã phân tích ở trên và theo các chuyên gia, t duy thuật giải đợc thể hiện ở những khả năng K1- K5 Để rèn luyện kỹ năng lập trình của học sinh theo hớng phát triển t duy thuật giải cần phải tác động để học sinh thể hiện
đ-ợc những khả năng đó, cụ thể:
Trình bày và thể hiện thuật giải đã biết
1.1 Mục đích và yêu cầu
- Học sinh nắm vững các tính chất đặc trng của thuật giải, nắm vững cấu trúc logic và mối liên hệ giữa cấu trúc này với cấu trúc khác
- Phát biểu rõ ràng, chính xác thuật giải mà ta cần sử dụng Biết diễn
đạt dới các hình thức tơng đơng khi chuyển từ “ngôn ngữ” này sang “ngôn ngữ” khác hoặc từ cấu trúc điều khiển này sang cấu trúc điều khiển khác
- Học sinh biết nhận dạng một bài toán, biết đợc các yêu cầu để đa ra thuật giải phù hợp
1.2 Nhận dạng và trình bày lại thuật giải
* Hoạt động nhận dạng: “Nhận dạng một thuật giải” là phát hiện xem một
đối tợng cho trớc có các đặc trng của một thuật giải nào đó hay không?
* Hoạt động trình bày lại: Việc trình bày lại thuật giải một bài toán nào đó
có nghĩa là trình bày lại trình tự các thao tác cơ bản của thuật giải Việc trình bày lại có thể dùng ngôn ngữ thông thờng hoặc dùng ngôn ngữ phỏng trình,…
1.3 Thực hiện thuật giải đã biết.