Sáng kiến kinh nghiệm Xây dựng công mô phỏng thuật toán hỗ trợ học ngôn ngữ lập trình tại trường THCS
Chúng ta đang sống trong thời đại phát triển vượt bậc của công nghệ thông tin. Không có lĩnh vực nào của cuộc sống không có sự đóng góp của công nghệ thông tin. CNTT trở thành một trong những động lực phát triển nhất của sự phát triển. Đối với các em học sinh, có thể nói đây là một hành trang để giúp các em vững bước tới tương lai, tương lai của thế hệ công nghệ thông tin bùng nổ. Trong những năm gần đây, GD&ĐT nước ta có nhiều đổi mới về nội dung và phương pháp. Để đáp ứng yêu cầu nguồn nhân lực có đủ khả năng phục vụ cho xã hội phát triển trong tương lai việc đổi mới phương pháp giảng dạy là một trong những yêu cầu bức thiết hiện nay. Do đó, cần nghiên cứu những phương pháp và phương tiện dạy học. Một trong những hướng nghiên cứu về phương pháp và phương tiện dạy học đó là ứng dụng công nghệ thông tin thiết kế bài giảng và sử dụng các mô hình trong dạy học.
Một trong những nội dung quan trọng trong chương trình tin học phổ thông là dạy học ngôn ngữ lập trình. Thông qua đó, hình thành cho học sinh tư duy thuật toán. Khó khăn hiện nay làm thế nào để truyền tải các ý tưởng giải thuật đến với học sinh một cách dễ hiểu và hiệu quả nhất. Bên cạnh độ khó, trừu tượng của các giải thuật còn thiếu các công cụ mô phỏng trực quan giúp học sinh làm quen dần với các chương trình máy tính. Chính vì vậy, từ kinh nghiệm giảng dạy môn Tin học nhiều năm, nhận thấy tính cần thiết phải có công cụ trợ giúp học sinh học ngôn ngữ lập trình tôi chọn đề tài “Xây dựng công mô phỏng thuật toán hỗ trợ học ngôn ngữ lập trình tại trường THCS” để nghiên cứu.
Tóm tắt nội dung tài liệu: Sáng kiến kinh nghiệm Xây dựng công mô phỏng thuật toán hỗ trợ học ngôn ngữ lập trình tại trường THCS

ết kiệm thời gian thuyết giảng và giành thời gian này để giáo dục phẩm chất đạo đức cho học sinh, liên hệ thực tế, học sinh có thể tư duy tốt hơn và yêu thích môn học hơn. Để có thể lập trình giải quyết các bài toán trong thực tế thì con người phải sáng tạo ra những thuật toán để viết thành các chương trình giúp máy tính hiểu được. Quá trình từ bài toán đến chương trình là một quá trình phức tạp đối với các em học sinh khối 8. Bởi vậy, việc mô tả thuật toán để giảng dạy cho học sinh hiểu là rất cần thiết và phù hợp với đặc điểm của môn học. Tuy nhiên, nếu giáo viên sử dụng trực tiếp chương trình Free Pascal hoặc những hình ảnh tĩnh để diễn tả thuật toán thì học sinh sẽ không nhìn thấy được quá trình hoạt động của thuật toán hay câu lệnh. Hiện nay trang thiết bị phục vụ cho hoạt động dạy và học trong trường học đã được cải tiến đáng kể. Giáo viên không chỉ dạy đơn thuần bên phấn và bảng đen như trước kia mà còn được hỗ trợ bởi rất nhiều các thiết bị máy móc và thiết bị âm thanh hiện đại như: Máy tính, máy chiếu, Tivi, loagiúp hỗ trợ giáo viên trong quá trình dạy cũng như giúp học sinh chủ động nắm bắt kiến thức một cách chính xác nhất. Macromedia Flash là phần mềm thiết kế đồ họa và hoạt hình rất phổ biến hiện nay. Ta có thể sử dụng các phần mềm này để tạo các tác phẩm đồ họa, những đoạn hoạt hình hoặc những mô hình động từ đơn giản đến phức tạp. Với ưu điểm này chúng ta có thể sử dụng để tạo ra các mô hình động mô tả các thuật toán hay câu lệnh sau đó lồng ghép vào các bài giảng điện tử được thiết kế trên microsoft powerpoint, violet, adobe presenterđể tăng hiệu quả bài giảng. Sử dụng phần mềm này để thiết kế một số mô hình động mô tả các thuật toán của các bài toán trong chương trình tin học 8 giúp học sinh hiểu được cú pháp cũng như cách thức hoạt động của các câu lệnh trong ngôn ngữ lập trình Pascal. Câu lệnh điều kiện dạng thiếu ( if then ) Câu lệnh điều kiện dạng đủ ( if then else) Câu lệnh lặp với số lần biết trước ( for.. to .. do) Câu lệnh lặp với số lần chưa biết trước ( while .. do) Với các mô hình flash mô tả các câu lệnh và bài toán trong pascal các em học sinh sẽ có được cái nhìn trực quan về cách thức hoạt động của các câu lệnh. Từ đó, hình thành và phát triển tư duy sáng tạo, khả năng lập trình của các em. Qua quá trình nghiên cứu tôi xin giới thiệu một số mô hình hoạt động được thiết kế bằng phần mềm Flash đã được tôi sử dụng để hỗ trợ trong quá trình dạy học tại trường TH&THCS Cam Thành ( có file mô hình động kèm theo). Mô hình hoạt động của câu lệnh điều kiện dạng thiếu Hình 1: Mô hình hoạt động của câu lệnh điều kiện dạng thiếu Mục đích của mô hình: Thể hiện hoạt động của câu lệnh điều kiện dạng thiếu. Với mô hình này, quả bóng sẽ thể hiện đường đi của câu lệnh. Từ đó học sinh sẽ hiểu rõ hơn về cách thức hoạt động của câu lệnh thông qua đường đi của quả bóng. Các thức hoạt động: Nhấn đút Play để bắt đầu, quả bóng sẽ chuyển động đến điều kiện kiểm tra. Nếu điều kiện đúng (nhấn nút Đúng) quả bóng sẽ chuyển động qua câu lệnh và kết thúc. Nếu điều kiện sai (nhấn nút sai) quả bóng sẽ chuyển động tới kết thúc. Nhấn nút Stop quả bóng sẽ dừng lại bất kỳ lúc nào trong khi chuyển động. Nhấn nút REW để quả bóng quay trở lại vị trí xuất phát. Mô hình hoạt động của câu lệnh điều kiện dạng đủ Hình 2: Mô hình hoạt động của câu lệnh điều kiện dạng đủ Mục đích của mô hình: Thể hiện hoạt động của câu lệnh điều kiện dạng đủ. Với mô hình động này, quả bóng sẽ thực hiện đường đi của câu lệnh Cách thức hoạt động: nhấn nút Play để bắt đầu, quả bóng sẽ chuyển động đến điều kiện kiểm tra. Nếu điều kiện đúng (nhấn nút Đúng) quả bóng sẽ chuyển động qua câu lệnh 1 và tới kết thúc. Nếu điều kiện sai (nhấn nút Sai) quả bóng sẽ chuyện động qua câu lệnh 2 và tới kết thúc. Nhấn nút Stop để quả bóng dừng lại bất kỳ lúc nào trong khi chuyển động. Nhấn nút REW để quả bóng qua trở lại vị trí xuất phát. Mô hình hoạt động của câu lệnh lặp với số lần biết trước Hình 3: Mô hình hoạt động của câu lệnh lặp với số lần biết trước Mục đích của mô hình: thể hiện hoạt động của câu lệnh lặp với số lần biết trước. Với mô hình động này quả bóng sẽ thể hiện đường đi của câu lệnh. Cách thức hoạt động: nhấn nút Play để bắt đầu, quả bóng sẽ chuyển động tới gán biến đếm: = giá trị đầu, sau đó tới kiểm tra điều kiện biến đếm giá trị cuối quả bóng sẽ chuyện động tới kết thúc. Nhấn nút Stop để quả bóng dừng lại bất kỳ lúc nào trong khi chuyển động. Nhấn nút REW để quả bóng qua trở lại vị trí xuất phát. Mô hình hoạt động của câu lệnh lặp với số lần chưa biết trước Hình 4: Mô hình hoạt động của câu lệnh lặp với số lần chưa biết trước Mục đích của mô hình: Thể hiện hoạt động của câu lệnh lặp với số lần chưa biết trước. Với mô hình động này, quả bóng sẽ thể hiện đường đi của câu lệnh. Cách thức hoạt động: nhấn nút Play để bắt đầu, quả bóng sẽ chuyển động tới kiểm tra điều kiện. Nếu điều kiện đúng (nhấn nút Đúng) quả bóng sẽ chuyển động qua câu lệnh và quay trở lại kiểm tra điều kiện. Nếu điều kiện sai (nhấn nút Sai) quả bóng sẽ chuyện động tới kết thúc. Nhấn nút Stop để quả bóng dừng lại bất kỳ lúc nào trong khi chuyển động. Nhấn nút REW để quả bóng qua trở lại vị trí xuất phát. Ví dụ: Nhập số nguyên N, sau đó tính tổng S=1+2+3+..+N Mục đích của mô hình: Thể hiện hoạt động của thuật toán tính tổng S=1+2+3+..+N Với mô hình động này quả bóng sẽ thể hiện đường đi của thuật toán và cụ thể là cách thức của câu lệnh For .. to .. do thực hiện trong thực tế. Cách thức hoạt động: Nhấn nút Play để bắt đầu, quả bóng sẽ chuyển động đến lệnh nhập N, lúc này lúc người dùng sẽ nhập số nguyên N vào textbox bên cạnh. Ví dụ: Nhập N = 10 nhấn nút Play để bắt đầu, quả bóng sẽ chuyển động tới gán biến đếm i:=1 và tổng S:=0, sau đó tới kiểm tra điều kiện i10) quả bóng sẽ chuyển động qua câu lệnh xuất ra giá trị tổng S và đi tới kết thúc. Kết quả cuối cùng qua mô hình động trên sau khi nhập số nguyên N = 10 ta thu được giá trị tổng S=55. Nhấn nút Stop để quả bóng dừng lại bất kỳ lúc nào trong khi chuyển động. Nhấn nút Play để quả bóng tiếp tục chuyện động. Nhấn nút REW để quả bóng qua trở lại vị trí xuất phát. 2. Giải pháp, biện pháp 2.1. Mục tiêu của giải pháp biện pháp 2.1.1. Mục tiêu của giải pháp Tăng cường khả năng ứng dụng CNTT vào trong bài giảng của giáo viên, nâng cao chất lượng bộ môn Tin học trong nhà trường. Tìm ra nguồn học sinh có năng lực để bồi dưởng ôn thi học sinh giỏi. Xây dựng nền tảng kiến thức lập trình, giúp học sinh tự tin trong quá trình học tập, hiểu rõ được lợi ích của ngôn ngữ lập trình và ứng dụng nó trong thực tế cuộc sống. 2.1.2. Mục tiêu của biện pháp Giúp học sinh hiểu được cú pháp cũng như cách thức hoạt động của các câu lệnh trong ngôn ngữ lập trình Pascal. Hiểu được thuật toán của các bài toán trong thực tế, cách thức hoạt động của các thuật toán này. Biết được thông tin cần đưa vào, thông tin xuất ra và cách thức hoạt động của câu lệnh trong bài toán. Vận dụng mô tả giải được các bài toán tương tự trên máy tính thông qua ngôn ngữ lập trình Pascal. 2.2. Nội dung và cách thức thực hiện giải pháp, biện pháp 2.2.1. Nội dung và cách thức thực hiện giải pháp * Nội dung - Ứng dụng CNTT vào trong dạy học - Nghiên cứu thêm các phần mềm mới hỗ trợ trong công tác soạn giảng * Cách thức thực hiện - Nghiên cứu phần mềm Flash để thiết kế một số mô hình động mô tả thuật toán của các bài toán trong chương trình tin học lớp 8, sau đó kết hợp vào các bài giảng điện tử để giúp học sinh hiểu rõ hơn về các thuật toán và câu lệnh trong Pascal. 2.2.2. Nội dung và cách thức thực hiện biện pháp * Nội dung Sử dụng phần mềm Flash để thiết kế một số mô hình động mô tả các thuật toán của các bài toán trong chương trình lớp 8 giúp học sinh hiểu được cú pháp cũng như cách thức hoạt động của câu lệnh trong ngôn ngữ lập trình Pascal như: câu lệnh điều kiện If..then, câu lệnh lặp với số lần biết trước For..to..do, câu lệnh lặp với số lần chưa biết trước While .. do * Cách thức thực hiện * Bước 1: Tổng hợp nội dung một số câu lệnh qua trọng trong chương trình tin học lớp 8 - Câu lệnh điều kiện dạng thiếu: Cú pháp if then ; + Hoạt động: Chương trình sẽ kiểm tra điều kiện. Nếu điều kiện được thỏa mãn, chương trình sẽ thực hiện câu lệnh sau từ khóa then, ngược lại câu lệnh sẽ bị bỏ qua. - Câu lệnh điều kiện dạng đủ: cú pháp if then else ; + Hoạt động: Chương trình sẽ kiểm tra điều kiện. nếu điều kiện được thỏa mãn, chương trình sẽ thực hiện sau từ khóa Then, ngược lại sẽ thực hiện. - Câu lệnh lặp với số lần biết trước: Cú pháp For := to do ; + Hoạt động của vòng lặp B1: Biến đếm nhận giá trị đầu B2: Kiểm tra nếu biến đếm đã vượt quá giá trị cuối hay chưa B3: Nếu điều kiện sai thì thoát ra khỏi vòng lặp, nếu điều kiện đúng thì máy thực hiện câu lệnh sau từ khóa Do. Sau đó, tăng biến đếm lên 1 đơn vị và quay lại B2 - Câu lệnh lặp với số lần chưa biết trước. Cú pháp: While do ; + Hoạt động của vòng lặp B1: kiểm tra điều kiện B2: nếu điều kiện đúng thì thực hiện câu lệnh và quay lại Bước 1 B3: nếu điều kiện sai thì câu lệnh sẽ bị bỏ qua và thoát khỏi vòng lặp * Bước 2: Vẽ các sơ đồ hoạt động của các câu lệnh và thuật toán theo quy tắc của ngôn ngữ lập trình đặt ra. Ta có thể sử dụng các phần mềm vẽ hình học, các phần mêm đồ họa hoặc các công cụ vẽ trong phần mềm Word để vẽ các sơ đồ đơn giản mô tả các thuật toán và hoạt động của câu lệnh trong ngôn ngữ lập trình Pascal. Lưu ý: các hình vẽ phải được vẽ theo đúng quy ước của ngôn ngữ lập trình. Bước 3: Thiết kế mô hình động cho các thuật toán và câu lệnh Pascal bằng phần mềm Flash. Nghiên cứu về cách sử dụng và các câu lệnh trong phần mềm Flash để thiết kế các mô hình động mô tả các thuật toán trong ngôn ngữ lập trình Pascal như các thuật toán có sử dụng tới các câu lệnh điều kiện If..then, câu lệnh lặp với số lần biết trước For..to..do, câu lệnh lặp với số lần chưa biết trước While .. do. Qua quá trình nghiên cứu phần mềm Flash tôi đã thiết kế thành công một số mô hình động tương ứng với các sơ đồ hoạt động trên để hỗ trợ hoạt động dạy và học. 3. Điều kiện thực hiện giải pháp, biện pháp 3.1. Điều kiện thực hiện giải pháp Cơ sở vật chất nhà trường phải đảm bảo, có các thiết bị máy móc như máy vi tính, máy chiếuhỗ trợ trong quá trình giảng dạy. Nhà trường cần tạo điều kiện hỗ trợ tập huấn cho giáo viên để giáo viên hiểu rõ về cách thức sử dụng phần mềm Flash. 3.2. Điều kiện thực hiện biện pháp Giáo viên cần có kiến thức về tin học, cụ thể là kiến thức cơ bản về lập trình và tiếng anh chuyên ngành. Giáo viên cần hiểu rõ thuật toán và quy ước vẽ thuật toán trong ngôn ngữ lập trình. Giáo viên phải kiên trì, đầu tư thời gian cho công tác soạn giảng. Thường xuyên cập nhật làm mới kiến thức của mình, cần phải hiểu cách sử dụng phần mềm Flash. Có thể nghiên cứu trên các website chia sẽ và học tập Flash trên mạng Internet và máy tính của giáo viên phải được cài đặt phần mềm Flash. 4. Kết quả thu được 4.1. Kết quả đạt được Tìm hiểu về thuật toán, lịch sử và các công cụ thường dùng để mô phỏng thuật toán. Cấu trúc và qui trình để thiết kế công cụ mô phỏng, từ đó xây dựng công cụ mô phỏng thuật toán trong môi trường tương tác phù hợp, có thể áp dụng để hỗ trợ dạy- học trong chương trình phổ thông. Xuất sơ đồ khối thuật toán thành tập tin dạng *.swf, đây là dạng tập tin được dùng phổ biến hiện nay, dạng tập tin này đưa vào bài giảng điện tử hoặc lên website. Trong quá trình thực hiện đề tài, tôi trực tiếp tham gia trong quá trình giảng dạy năm học 2019-2020; 2020-2021, 2021- 2022 và trực tiếp bồi dưỡng học sinh giỏi tôi nhận thấy việc ứng dụng mô hình động trong quá trình dạy học rất quan trọng và hữu ích, góp phần nâng cao chất lượng của học sinh. Khi sử dụng mô hình động giúp mô tả thuật toán Pascal trong các tiết dạy của mình tôi thu được kết quả như sau: Khối 8 Giỏi Khá TB Yếu SL TL SL TL SL TL SL TL 2019- 2020 12 27,3 24 54,5 8 18,2 0 0 2020 - 2021 13 29,5 25 56,8 6 13,6 0 0 2021 - 2022 14 31,1 21 40,0 10 22,2 0 0 4.2. Giá trị khoa học của vấn đề nghiên cứu Với việc thiết kế mô hình động mô tả thuật toán trong ngôn ngữ lập trình, đã giúp mở ra một hướng đi mới trong dạy và học lập trình Pascal. Người học có thể hiểu một cách trực quan, hiểu sâu hơn các vấn đề thuật toán từ đó nhanh chóng nắm bắt được vấn đề. Chủ động sáng tạo và phát huy được khả năng của mình đối với ngôn ngữ lập trình Pascal. Các mô hình động mô tả thuật toán trong ngôn ngữ lập trình Pascal còn giúp cho hoạt động dạy và học Tin học trong nhà trường được ứng dụng CNTT nhiều hơn. Giúp các em nhận thức ngay từ ban đầu lợi ích của việc CNTT, của ngôn ngữ lập trình và của việc cần thiết phải học tập và trau dồi kỹ năng Tin học. Góp phần tìm kiếm, phát hiện được những tài năng trẻ lập trình để có thể bồi dưỡng thành những tài năng trẻ, đưa thế hệ trẻ tương lai, mầm non của đất nước theo kịp với xu hướng hội nhập quốc tế. III. KẾT LUẬN, KIẾN NGHỊ 1. Kết luận Với chương trình Tin học THCS hiện thời, ngôn ngữ lập trình Pascal được giảng dạy cho học sinh khối 8. Lứa tuổi này của các em chưa hình thành rõ ràng tư duy logic. Bởi vậy, để hướng dẫn học sinh hiểu được các thuật toán trừu tượng trong Pascal, giáo viên cần phải đầu tư rất nhiều cho bài dạy của mình. Sử dụng phần mềm Flash có thể tạo được mô hình động mô tả thuật toán trong chương trình Tin học 8 cụ thể như: Mô hình hoạt động của câu lệnh điều kiện dạng thiếu. Mô hình hoạt động của câu lệnh điều kiện dạng đủ. Mô hình hoạt động của vòng lặp với số lần biết trước. Mô hình hoạt động của vòng lặp với số lần chưa biết trước. Các mô hình thuật toán của bài toán trong thực tế. Việc sử dụng phần mềm Flash để thiết kế mô hình động để mô tả thuật toán trong ngôn ngữ lập trình Pascal đã đem lại hiệu quả cao hơn khi giáo viên sử dụng trực tiếp trên Pascal trong hoạt động dạy học. Thông qua quá trình tôi tiến hành thực hiện tại lớp tôi phụ trách giảng dạy, kết quả bước đầu khả quan, đa số các em hiểu được cách hoạt động của các câu lệnh và vận dụng vào giải các bài tập khác nhau. Điều quan trọng, hầu hết các em có hứng thú hơn với bộ môn và có thái độ nghiêm túc khi thực hành. Đồng thời, qua đó cũng nâng cao trình độ, kỹ năng sử dụng CNTT, cũng như khả năng lập trình của giáo viên, tác phong học tập thông qua sử dụng CNTT của học sinh ngày nay. 2. Kiến nghị Lợi ích và hiệu quả của việc sử dụng phần mềm Flash để thiết kế mô hình động mô tả thuật toán trong ngôn ngữ lập trình Pascal đã được thấy rõ. Tuy nhiên, để nâng cao chất lượng và hiệu quả sử dụng CNTT vào dạy học tích cực cho giáo viên Tin học cần có một số biện pháp: Nhà trường cần trang bị cơ sở vật chất, trang thiết bị CNTT đáp ứng tốt nhu cầu dạy học của giáo viên và học sinh. Trên dây là nội dung đề tài sáng kiến kinh nghiệm mà tôi đã nghiên cứu và thực nghiệm. Do thời gian hạn chế, trong sáng kiến kinh nghiệm này không tránh khỏi những sai sót rất mong đồng nghiệp góp ý để bài sáng kiến kinh nghiệm được hoàn thiện hơn. Đồng thời tôi mong rằng với chút ít kinh nghiệm của mình có thể góp phần nhỏ trong việc giảng dạy để nâng cao chất lượng bộ môn. Tôi xin chân thành cảm ơn!
File đính kèm:
sang_kien_kinh_nghiem_xay_dung_cong_mo_phong_thuat_toan_ho_t.docx