Tải bản đầy đủ (.pdf) (17 trang)

giải pháp tạo sự hứng thú cho sinh viên khi học các giải thuật trong môn cấu trúc dữ liệu giải thuật

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.08 MB, 17 trang )

MỤC LỤC
1.

Thực trạng ........................................................................................................................................1

2.

Nguyên nhân ....................................................................................................................................1

3.

Giải pháp thực hiện ..........................................................................................................................2

4.

Kết quả đạt được ..............................................................................................................................8


DANH MỤC ẢNH
Hinh 1. Minh họa thuật toán Selection Sort bằng những điệu nhảy vui nhộn
Hinh 2. Minh họa thuật toán Heap Sort bằng những điệu nhảy vui nhộn
Hinh 3. Minh họa trò chơi giải thuật selection sort ngoài trời
Hinh 4. Minh họa tổ chức trò chơi giải thuật tại lớp học
Hinh 5. Tổ chức trò chơi giải thuật tại phòng B202B - TDC
Hinh 6. Minh họa thuật toán tiếp cận code

5
5
6
7
7


8


NỘI DUNG BÁO CÁO
1. Thực trạng
Hứng thú học tập của sinh viên kích thích tính tích cực của trí tuệ, sự nỗ lực hành động
trong hoạt động học tập, tạo nên động cơ kích thích sinh viên chiếm lĩnh, lĩnh hội tri
thức và tìm những nguồn mới của nội dung học tập. Thực tiễn cho thấy khi người học
có hứng thú học một môn nào đó thì sẽ có thành tích học ở môn đó cao hơn môn học
khác, đồng thời cũng dành thời gian đào sâu suy nghĩ tìm tòi đối với môn học đó nhiều
hơn.
Hiện nay đại đa số sinh viên khoa Công nghệ thông tin – Trường Cao Đẳng Công
Nghệ Thủ Đức khi học lập trình đặc biệt khi phải học rất nhiều giải thuật đều thấy khó
khăn, không có hứng thú học tập, dẫn tới thấy sợ khi tiếp xúc với những dòng code và
mang lại kết quả học tập kém. Nếu để tình trạng này kéo dài thì sinh viên sẽ không có
khả năng tư duy thuật toán, không có kiến thức vững chắc để học những học phần liên
quan tiếp theo và sau này khi ra trường thì cũng không thể đáp ứng được nhu cầu của
doanh nghiệp.
2. Nguyên nhân
Nguyên nhân khách quan:
Ngôn ngữ lập trình C/C++ là ngôn ngữ phức tạp, nó đòi hỏi sự tư duy cao đặc biệt là
khi học chuyên sâu vào các giải thuật. Mặt khác với bản chất khô khan và khó của
ngôn ngữ thì rất dễ làm người học chán nãn, không có hứng thú học tập.
Nguyên nhân chủ quan:
Theo kinh nghiệm giảng dạy của bản thân, khi học lập trình nói chung và học các giải
thuật nói riêng, sinh viên thường không có hứng thú học vì một số lí do sau:
Lý do xuất phát từ Sinh viên:
-

Kiến thức nền chưa tốt: Đây là một trong những yếu tố ảnh hưởng tới khả năng

tiếp thu của sinh viên. Nếu sinh viên có kiến thức nền (tiên quyết) yếu thì rất
khó để có thể học tốt, cho dù có cố gắng lắng nghe thì rất khó để tiếp thu hết
được.

-

Sinh viên không có động cơ học tập: Không biết được mục tiêu học tập thì sẽ
dẫn tới không có hứng thú học tập.
Phương pháp học tập của sinh viên chưa đúng.

-

Lý do xuất phát từ Giảng viên:
1


-

Phương pháp giảng dạy chưa phù hợp: Do đặc thù của môn học là phải học giải
thuật rất nhiều, cung cấp khả năng tư duy cao hơn so với những học phần cơ sở
trước, nên vốn dĩ nó rất khô khan và khó truyền đạt. Vì vậy nếu Giảng viên
không khéo léo, không có phương pháp giảng dạy phù hợp thì rất dễ dẫn tới
việc không đạt hiệu quả trong công tác truyền thụ kiến thức. Phương pháp
giảng dạy không phù hợp thường thể hiện ở việc như: tổ chức lớp học kém hiệu
quả, không tạo được động lực học tập cho sinh viên, không khí lớp học căng
thẳng, và lựa chọn phương tiện, phương pháp truyền đạt không phù hợp.

Từ những nguyên nhân trên chúng ta mới thấy nhiệm vụ dẫn dắt của giảng viên rất
quan trọng việc tạo hứng thú học tập cho sinh viên. Vì vậy với kinh nghiệm giảng dạy
nhiều năm và tham khảo đồng nghiệp qua các tiết dự giờ tôi đề xuất giải pháp cho

giảng viên khi tham gia giảng dạy môn Cấu Trúc Dữ Liệu Và Giải Thuật đó là: “Giải
Pháp Tạo Sự Hứng Thú Cho Sinh Viên Khi Học Các Giải Thuật Trong Môn Cấu
Trúc Dữ Liệu & Giải Thuật”
3. Giải pháp thực hiện
Để tạo nên hiệu quả trong hoạt động dạy và học thì ngoài vai trò của giảng viên, sinh
viên cần hợp tác tốt với giảng viên. Vì vậy để góp phần thành công trong giải pháp tạo
hứng thú khi học thì giảng viên cần:
Dẵn dắt, hƣớng dẫn để sinh viên giải quyết đƣợc các vấn đề sau:
Nếu các em có kiến thực nền không tốt, giảng viên cần phải tác động để giúp
sinh viên vượt qua: Gợi động cơ thành công, cũng cố niềm tin cho sinh viên, đưa ra lời
động viên đúng lúc tác động vào tâm lý của các em ví dụ như “chỉ cần xem lại kiến
thức đã học, trong một tuần cố gắng lấy lại nền tảng cơ bản về: cấu trúc lặp, mảng,
struct,…(có thể hỏi bạn bè, tự học và thậm chí là Thầy/Cô sẵn sàng giúp nếu em đặt
câu hỏi) thì Cô/Thầy sẽ giúp em học tốt trong môn này nếu em làm theo sự định hướng
của Cô/Thầy”.
Nếu các em có phương pháp học chưa đúng: Vì mỗi môn học cần phải có
phương pháp tự học đặc thù. Vì thế khi học giải thuật, giảng viên hãy giúp sinh viên
đưa ra một phương pháp học phù hợp nhất. Tôi thường dặn dò sinh viên rằng về nhà
hãy làm bài tập thật nhiều và hãy làm lại những bài thực hành đã được giảng viên sửa
trên lớp một lần nữa bằng năng lực bản thân, nếu có tham khảo code mẫu thì cũng hiểu
được từng dòng lệnh và sau đó phải tự mình viết lại, không biết thì phải hỏi, chỉ như
vậy thì bài tập đó mới thực sự là của chính mình. Còn trên lớp thay vì học thuộc những
giải thuật một cách máy móc thì hãy tập tư duy, khi đã hiểu được ý tưởng thuật toán
2


thì hãy tập cách sinh ra đoạn code tương ứng. Với cách học như thế sinh viên mới phát
triển khả năng lập trình của bản thân và nhớ thuật toán lâu dài.
Nếu sinh viên không có động cơ học tập: Giảng viên nên gợi động cơ làm cho
sinh viên nhận thức được cần phải học. Khi học một mảng kiến thức nào đó, giảng

viên cần cung cấp mục tiêu học tập cho sinh viên, khi đã biết bản thân sinh viên biết
“học kiến thức này để làm gì” thì sẽ cố gắng học tập, điều này góp phần tạo hứng thú
học tập cho sinh viên.
Thay đổi phƣơng pháp giảng dạy:
Giáo dục hứng thú phải gắn liền với đổi mới phương pháp dạy học. Giáo dục hứng thú
tạo tiền đề cho cách dạy phát hiện vấn đề. Sinh viên không phát hiện vấn đề khi không
tích cực hoạt động, tích cực tư duy.
Như vậy khi bản thân sinh viên đã sẵn sàng (đã có tâm thế và nhiệt huyết để học, đã có
kiến thức nền đủ) thì vai trò của giảng viên (người định hướng, chỉ dẫn cho sinh viên)
lúc này rất quan trọng, làm sao trong quá trình giảng dạy vẫn giữ được đam mê, cái lửa
mong muốn được học của sinh viên, hãy làm cho sinh viên có hứng thú khi học những
thuật giải, làm sao giúp sinh viên thay đổi quan niệm rằng “code vốn dĩ rất khó và khô
khan”. Giải pháp tôi đưa ra với giảng viên là “thay đổi phương pháp dạy học” cho phù
hợp với môn học. Phương pháp giảng dạy mà giảng viên chọn sẽ ảnh hưởng rất nhiều
chất lượng học tập của sinh viên, thay đổi phương pháp giảng dạy để tạo sự hứng thú,
đam mê học tập của sinh viên. Sau đây tôi sẽ trình bày phương pháp mà tôi áp dụng
trong hai năm gần đây mà tôi thấy sự thay đổi tích cực, đó là: Tổ chức hoạt động, tạo
cơ hội để sinh viên được khẳng định mình, được tham gia vào quá trình dạy và học.
Về công tác chuẩn bị: Với mỗi giải thuật, thay vì chỉ chuẩn bị những đoạn code
thô sơ và khó hiểu thì tốt hơn nên trực quan về tư tưởng giải thuật trước như: chuẩn bị
những đoạn video về trò chơi giải thuật ngoài trời hoặc trong lớp, hoặc những dụng cụ
là những mẫu giấy gián mô phỏng để cho sinh viên tham gia trò chơi giải thuật.
Trình tự triển khai khi giảng dạy:
(1).

Nêu rõ mục tiêu
Khi dạy một chủ đề nào đó Giảng viên nên tạo động lực và động cơ học tập
cho Sinh viên bằng cách nêu rõ ràng mục đích “Học nội dung này để làm
gì?”


(2).

Tạo tâm lý thoải mái cho Sinh viên
Để sinh viên có tâm lý thoải mái, cởi mở thể hiện mức độ hiểu bài của mình
thì giảng viên nên tạo môi trường học tập vui vẻ, cử chỉ hòa đồng, nhiệt
huyết.
3


(3).

Tổ chức cho sinh viên tự tìm hiểu tri thức
Để sinh viên có cơ hội khẳng định mình, có cơ hội tham gia vào giải thuật
đang học, tự tìm ra tri thức thì giảng viên nên đưa tình huống thực tế liên
quan tới chủ đề học, sau đó yêu cầu sinh viên tham gia hoạt động, suy nghĩ
để tìm ra cách giải quyết. Cụ thể được minh họa thông qua hai ví dụ sau
đây:
Ví dụ 1: khi học giải thuật tìm kiếm nhị phân: giảng viên đặt tình huống:
Tìm xem trong lớp có người nào có chiều cao là x hay không? Biết rằng
sinh viên trong lớp đã xếp hàng theo chiều cao tăng dần. Yêu cầu 2 sinh
viên thực hiện tìm và ai thực hiện nhanh hơn sẽ có phần thưởng. Mỗi sinh
viên sẽ được được biết chiều cao cần tìm x = cụ thể bao nhiêu. Nếu sinh
viên có tư duy tốt thì sẽ tận dụng được trạng thái có thứ tự của dãy phần tử
để chia đôi phân khoảng tìm kiếm cho nhanh. Còn nếu Sinh viên trung bình
thì sẽ làm theo phương án an toàn là tìm tuần tự từ đầu đến cuối. Đương
nhiên kết quả tìm kiếm theo kiểu tuần tự trong trường hợp này sẽ lâu hơn
việc chia đôi để thu hẹp khoảng tìm kiếm. Sau cùng Giảng viên sẽ đưa ra
nhận xét
Ví dụ 2: Yêu cầu 1 sinh viên lên sắp xếp 1 nhóm sinh viên tăng dần theo
chiều cao. Từ cách làm đó giảng viên sẽ nhận xét cách làm của sinh viên

nếu sắp xếp thành công. Thông thường sinh viên chỉ làm theo quán tính cứ
ai cao hơn thì kéo ra sau, và chắc chắn cách làm này sẽ không nhất quán,
lộn xộn và không thể nêu ra được các bước thực hiện. Vì vậy đối với những
giải thuật khó, cần có sự hướng dẫn thì nên tổ chức cho sinh viên xem và
quan sát để tìm ra ý tưởng. Sau đây là đề xuất của tôi, có thể giải quyết
trong trường hợp này mà vẫn tạo ra sự hứng thú của sinh viên khi học giải
thuật:
Đầu tiên, cho sinh viên xem video về giải thuật bằng những điệu nhảy vui
nhộn:

4


Hinh 1. Minh họa thuật toán Selection Sort bằng những điệu nhảy vui
nhộn
(Link video: />
Hinh 2. Minh họa thuật toán Heap Sort bằng những điệu nhảy
vui nhộn
(Link video: />
5


Hinh 3. Minh họa trò chơi giải thuật selection sort ngoài trời
Sau đó, yêu cầu nhóm sinh viên lên thực hiện lại video để thể hiện
giải thuật (có ghi nhận điểm cộng cho người tham gia). Khi đó các sv
khác cũng rất hứng thú, say sưa tìm ra cách hoạt động của giải thuật
và hứng thú xem bạn mình thể hiện, rồi phát hiện ra sai hay đúng so
với video mình vừa xem.
Với cách này sinh viên có thể hiểu được tư tưởng của thuật toán, học
cảm thấy vui vẻ, hứng thú.


6


Hinh 4. Minh họa tổ chức trò chơi giải thuật tại lớp học

Hinh 5. Tổ chức trò chơi giải thuật tại phòng B202B - TDC
(4).

Chạy mô phỏng tiếp cận code
Chạy mô phỏng có gắn biến (sử dụng để lặp,…): mục đích của bước
này để đưa sinh viên tiến gần hơn với việc viết code. Chỉ cần gắn
biến vào mô phỏng sẽ giúp sinh viên dễ dàng hình thành tư duy viết
thành code.
Ví dụ:

7


Hinh 6. Minh họa thuật toán tiếp cận code
(5).

Yêu cầu viết đoạn code thể hiện từng bƣớc trong mô phỏng ở bƣớc (4)
Gọi một số sinh viên lên bảng viết đoạn code thể hiện tư tưởng thuật
toán. Sau đó yêu cầu nhận xét xem đoạn code đó có khớp với ý tưởng
thuật toán mà sinh viên có được từ mô phỏng không. Cuối cùng là
sửa sai, cố gắng lấp đầy chỗ hổng mà sinh viên chưa xử lý được trong
đoạn code của mình.

(6).


Thực hành trong máy
Yêu cầu sinh viên hoàn thiện code bằng cách cài đặt trực tiếp và không
được nhìn code mẫu đã sửa. Tất cả sinh viên phải tự cố gắng nhớ lại từ tư
tưởng thuật toán vừa được học thì code tương ứng sẽ viết thế nào.
Để kiểm chứng lại về khả năng hiểu giải thuật của sinh viên. Giảng viên nên
cho thêm một vài bài toán khác với bộ dữ liệu khác.

Các bước nêu trên được thể hiện cụ thể trong giáo án (đính kèm) của một tiết dạy mà
tôi đã triển khai trong những năm vừa qua.
4. Kết quả đạt được
Sinh viên có hứng thú hơn khi học các giải thuật, kết quả thể hiện ở chỗ: Sinh viên
rèn luyện được phương pháp tư duy khi học một vấn đề mới, những sinh viên từ
ban đầu học rất trầm cũng năng động hơn, mạnh dạn tham gia vào giải thuật cùng
nhóm bạn trong lớp (có video minh họa) và kết quả thông qua bài kiểm tra giữa kỳ
(đa số là viết được giải thuật đã học để giải quyết bài toán cụ thể).
PHẠM VI ÁP DỤNG
Áp dùng cho Giảng viên khoa Công nghệ thông tin – Trường Cao Đẳng Công Nghệ
Thủ Đức khi tham gia giảng dạy môn Cấu trúc dữ liệu và giải thuật.
8


THỜI ĐIỂM ÁP DỤNG
Giảng dạy cho sinh viên năm 2 – học kỳ 2
HIỆU QUẢ MANG LẠI
Hiện nay ở khoa CNTT chưa có tài liệu nào hướng dẫn về giải pháp tạo hứng thú cho
sinh viên khi học giải thuật trong môn Cấu trúc dữ liệu và giải thuật. Nên các giảng
viên khác khi tham gia giảng dạy môn này có thể sử dụng tài liệu này để tham khảo.
Cách này tôi đã áp dụng 2 năm gần đây và tôi đã quan sát thấy được sự hứng thú và
vui vẻ của sinh viên khi học giải thuật.

Tuy nhiên không phải khi học một giải thuật nào cũng tổ chức cho sinh viên tham gia
trò chơi giải thuật như vậy vì có thể gây ra sự nhàm chán và tốn thời gian. Sau đây tôi
đề xuất bảng danh mục phương pháp tổ chức cho sinh viên tìm hiểu tri thức khi học
giải thuật tương ứng:
Giải thuật

Phƣơng pháp tổ chức để sinh viên tự tìm tri thức

Giải thuật tìm kiếm
Nêu bài toán gắn với thực tế (chẳng hạn như tìm
Tìm kiếm tuyến tính, nhị
phân

sinh viên có chiều cao x trong nhóm sinh viên được
chọn trong lớp học). Sau đó kết hợp với việc sử
dụng slide để mô phỏng

Giải thuật sắp xếp cơ bản

Sắp xếp chọn (Selection
Sort)

Sắp xếp nổi bọt (Bubble
Sort)

Cho sinh viên xem video về chò trơi giải thuật được
tổ chức ở nước ngoài và kết hợp với sử dụng slide
để mô phỏng
Like video:
/>hoặc:

/>(phút thứ 1:25)

Mô phỏng slide

9


Cho sinh viên xem video về chò trơi giải thuật được
tổ chức ở nước ngoài và kết hợp với sử dụng slide

Sắp xếp chèn (Insertion
Sort)

để mô phỏng
Like video:
/>hoặc:
/>(giây thứ 0:17)

Sắp xếp đổi chỗ
(Interchange Sort)

Mô phỏng slide

Giải thuật sắp xếp nâng cao
Cho sinh viên xem video về chò trơi giải thuật được

Sắp xếp nhanh (Quick Sort)

tổ chức ở nước ngoài và kết hợp với sử dụng slide
để mô phỏng

Like video:
/>
Sắp xếp trộn (Merge Sort)

Mô phỏng slide

Sắp xếp vun đống (Heap
Sort)

Cho sinh viên xem video về chò trơi giải thuật được
tổ chức ở nước ngoài và kết hợp với sử dụng slide
để mô phỏng
Like video:
:
/>
10


TÀI LIỆU THAM KHẢO
/> />
11


PHIẾU KHẢO SÁT VỀ GIẢI PHÁP TẠO HỨNG THÚ CHO NGƢỜI HỌC
TRONG MÔN CẤU TRÚC DỮ LIỆU & GIẢI THUẬT

Đối tượng khảo sát: Giảng viên tham gia giảng dạy môn Cấu trúc dữ liệu & Giải
thuật.
Họ tên người tham gia khảo sát: ........................................................................... .
Nội dung khảo sát:

Khảo sát về sự hứng thú của sinh viên khi học môn Cấu trúc dữ liệu & Giải thuật
1. Với phương pháp dạy truyền thống: khi học giải thuật nếu chỉ dùng phương tiện
chủ yếu là slide và bảng viết thì đa phần sinh viên sẽ không có hứng thú học và
rất chán khi học quá nhiều giải thuật, đặc biệt với những học sinh trung bình và
yếu kém.
 Đồng ý
 Không đồng ý
Ý kiến khác……………………………………………………………………
...........................................................................................................................
2. Phương pháp cải tiến để tạo hứng thú cho sinh viên khi học giải thuật
Sau đây là tóm tắt về trình tự triển khai khi dạy một giải thuật:
(1).

Nêu rõ mục tiêu
Khi dạy một chủ đề nào đó Giảng viên nên tạo động lực và động cơ học tập
cho Sinh viên bằng cách nêu rõ ràng mục đích “Học nội dung này để làm
gì?”

Tạo tâm lý thoải mái cho Sinh viên
Để sinh viên có tâm lý thoải mái, cởi mở thể hiện mức độ hiểu bài của mình
thì giảng viên nên tạo môi trường học tập vui vẻ, cử chỉ hòa đồng, nhiệt
huyết.
(3). Tổ chức cho sinh viên tự tìm hiểu tri thức
(2).

Để sinh viên có cơ hội khẳng định mình, có cơ hội tham gia vào giải thuật
đang học, tự tìm ra tri thức thì giảng viên nên đưa tình huống thực tế liên
quan tới chủ đề học, sau đó yêu cầu sinh viên tham gia hoạt động, suy nghĩ
để tìm ra cách giải quyết. Sau đây là ví dụ trình tự tổ chức khi học giải thuật
sắp xếp:


12


Đầu tiên, cho sinh viên xem video về giải thuật bằng những điệu nhảy vui
nhộn:

Minh họa thuật toán Selection Sort bằng những điệu nhảy vui nhộn
(Link video: />Sau đó, yêu cầu nhóm sinh viên lên thực hiện lại video để thể hiện giải
thuật (có ghi nhận điểm cộng cho người tham gia). Khi đó các sv khác cũng
rất hứng thú, say sưa tìm ra cách hoạt động của giải thuật và hứng thú xem
bạn mình thể hiện, rồi phát hiện ra sai hay đúng so với video mình vừa xem.
(4).

Chạy mô phỏng tiếp cận code
Chạy mô phỏng có gắn biến (sử dụng để lặp,…): mục đích của bước
này để đưa sinh viên tiến gần hơn với việc viết code. Chỉ cần gắn
biến vào mô phỏng sẽ giúp sinh viên dễ dàng hình thành tư duy viết
thành code.

(5).

Yêu cầu viết đoạn code thể hiện từng bước trong mô phỏng ở bước (4)
Gọi một số sinh viên lên bảng viết đoạn code thể hiện tư tưởng thuật
toán. Sau đó yêu cầu nhận xét xem đoạn code đó có khớp với ý tưởng
thuật toán mà sinh viên có được từ mô phỏng không. Cuối cùng là
sửa sai, cố gắng lấp đầy chỗ hổng mà sinh viên chưa xử lý được trong
đoạn code của mình.

(6).


Thực hành trong máy

 Giải pháp tạo đƣợc hứng thú đƣợc cho sinh viên
 Giải pháp không tạo đƣợc hứng thú cho sinh viên

Góp ý thêm……………………………………………………………………
13


...........................................................................................................................

PHIẾU KHẢO SÁT VỀ GIẢI PHÁP TẠO HỨNG THÚ CHO NGƢỜI HỌC
TRONG MÔN CẤU TRÚC DỮ LIỆU & GIẢI THUẬT

Đối tượng khảo sát: Sinh viên đã học qua môn Cấu trúc dữ liệu & Giải thuật
Họ tên người tham gia khảo sát: ..................................................................................
Sinh viên cao đẳng khóa: ……………………………………………………………
Nội dung khảo sát:
Khảo sát về sự hứng thú của sinh viên khi học môn Cấu trúc dữ liệu & Giải thuật
1. Với phương pháp mà em đã được học trong môn Cấu trúc dữ liệu và Giải thuật,
cụ thể được tóm tắt như sau:
Sau đây là tóm tắt về trình tự triển khai của giảng viên khi dạy một giải thuật:
Nêu rõ mục tiêu
(2). Tạo tâm lý thoải mái cho Sinh viên
(3). Tổ chức cho sinh viên tự tìm hiểu tri thức
(1).

Để sinh viên có cơ hội khẳng định mình, có cơ hội tham gia vào giải thuật
đang học, tự tìm ra tri thức:

Đầu tiên, cho sinh viên xem video về giải thuật bằng những điệu nhảy vui
nhộn:

Minh họa thuật toán Selection Sort bằng những điệu nhảy vui nhộn
(Link video: />14


Sau đó, yêu cầu nhóm sinh viên lên thực hiện lại video để thể hiện giải
thuật (có ghi nhận điểm cộng cho người tham gia).
(4).

Chạy mô phỏng tiếp cận code

(5).

Yêu cầu viết đoạn code thể hiện từng bước trong mô phỏng ở bước (4)

(6).

Thực hành trong máy

Em hãy cho biết cảm nhận của em khi đƣợc học theo phƣơng pháp này:
 Giải pháp tạo được hứng thú được cho sinh viên
 Giải pháp không tạo được hứng thú cho sinh viên

Góp ý thêm……………………………………………………………………
...........................................................................................................................

15




×