CHƯƠNG II SO SÁNH CHƯƠNG TRÌNH DẠY LẬP TRÌNH Ở MỘT SỐ QUỐC
2.3 Xây dựng chương trình đổi mới
2.3.3 Xây dựng chương trình đổi mới
Dựa trên quá trình nghiên cứu, tìm hiểu về chương trình tổ chức dạy học lập trình khối THPT ở các nước tiên tiến, tác giả rút ra các nội dung trọng tâm có thể học hỏi từ các nước:
- Xây dựng chương trình và tổ chức dạy học theo chuyên đề.
- Thiết kế chương trình học linh hoạt, dễ dàng sửa đổi, bổ sung, cập nhất kiến thức mới mà không làm thay đổi cấu trúc chương trình.
- Nội dung chương trình phải làm rõ mục tiêu cần đạt và những nội dung trọng tâm của từng chuyên đề, yêu cầu về vấn đề đạo đức.
- Nội dung kiến thức mang tính chất mới mẻ, phù hợp với xu thế phát triển, các tiến bộ kĩ thuật của ngành CNTT và nền khoa học kĩ thuật thế giới.
- Thiết kế chương trình phải lấy học sinh làm trọng tâm, phát huy được tính tích cực chủ động của học sinh trong quá trình dạy – học.
- Kiểm tra đánh giá: đánh giá kết quả học tập của học sinh sau khi kết thúc mỗi chuyên đề kết hợp giữa đánh giá cuối chuyên đề và đánh giá trong suốt quá trình học tập của học sinh ở chuyên đề đó. Việc đánh giá đảm bảo các nội dung:
hiểu biết, tƣ duy, kĩ năng vận dụng kiến thức vào thực tế đời sống.
Xây dựng chương trình đổi mới
Trên cơ sở những khắc phục những hạn chế, khó khăn của học sinh và giáo viên trong việc dạy và học lập trình cấp THPT ở một số trường trên địa bàn tỉnh Vĩnh Phúc, kết hợp với học hỏi chương trình dạy học lập trình ở các nước khác, tác giả xin đề xuất chương trình đổi mới như sau:
Chương trình lập trình ở lớp 10
TIEU LUAN MOI download : skknchat@gmail.com
(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong
52
Chương trình môn Tin học lớp 10 hiện tại không có nội dung dạy lập trình. Tuy nhiên, với tầm quan trọng của việc dạy và học lập trình cũng như theo xu hướng phát triển của toàn cầu, tác giả xin đề xuất nội dung dạy lập trình gồm 1 chuyên đề với thời lượng 15 tiết cho chương trình môn Tin học lớp 10.
Xây dựng chương trình
Tên chuyên đề: Làm quen với lập trình (lập trình kéo – thả).
Chuyên đề này là bắt buộc nhằm cung cấp cho học sinh các kiến thức cơ sở về lập trình thông qua một ngôn ngữ lập trình kéo thả do giáo viên lựa chọn. Giải quyết các bài tập mang tích thực tế, gần gũi giúp học sinh hiểu bản chất của lập trình và các chương trình máy tính.
Thời lượng: 15 tiết.
Chuẩn bị học liệu:
Phòng máy tính có kết nối Intenet và máy chiếu. Giáo viên phát tài liệu phát tay cho học sinh tham khảo trước (nếu có).
Mục tiêu:
Học xong chuyên đề này, học sinh có thể:
- Biết thuật ngữ cơ bản về lập trình - Biết các kĩ năng lập trình cơ bản
- Lập trình được một chương trình đơn giản
- Phát triển tƣ duy logic, sáng tạo, khả năng phản biện - Yêu thích lập trình
Kiểm tra đánh giá:
Kiểm tra thường xuyên gồm (năng suất các buổi học, các bài kiểm tra thường xuyên, tiểu luận, ...): 50%.
Kiểm tra cuối chuyên đề: 50%.
Chương trình chi tiết
Nội dung Mẫu tổ chức hoạt động học tập 1. Giới thiệu về
ngôn ngữ lập trình kéo thả (xuất xứ, tính năng chính,
Chia học sinh thành các nhóm nhỏ, yêu cầu các nhóm tìm hiểu về một ngôn ngữ lập trình kéo thả. Học sinh lên trình bày, giới thiệu về ngôn ngữ lập trình nhóm tìm hiểu đƣợc.
Giáo viên ghi nhận, tổng hợp, nhận xét, rút kinh nghiệm cho
TIEU LUAN MOI download : skknchat@gmail.com
(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong
53
giao diện, ...) học sinh. Cùng học sinh phân tích, so sánh để lựa chọn ngôn ngữ sẽ sử dụng trong suốt quá tŕnh dạy học.
2. Các khối lệnh Blocks
Học sinh đƣợc giới thiệu tổng quan về các khối lệnh với các nội dung: hình dạng, màu sắc và chức năng của khối lệnh. Ví dụ: các khối lệnh hành động có hình dạng gì, màu sắc gì?....
Tương tự cho một số khối lệnh khác. Có thể lấy ví dụ minh họa trực tiếp một vài khối lệnh cho học sinh quan sát kết quả.
3. Xây dựng kịch bản
Học sinh đƣợc giới thiệu kịch bản là gì, cấu trúc, trật tự, nhiệm vụ của một kịch bản. Học sinh xây dựng một kịch bản theo yêu cầu (Ví dụ: tạo một con mèo khi kích chuột vào phát ra âm thanh, tạo 1 con chuột và một con mèo khi con mèo chạm vào con chuột thì con chuột biến mất, ...).
4. Đối tƣợng trong lập tŕnh kéo – thả
Học sinh đƣợc giải thích một hình ảnh bất kì nhƣ hình ảnh nhân vật, con vật, hay chỉ là một kí hiệu, ... đều đƣợc gọi là đối tƣợng.
Học sinh có kĩ năng làm việc với đối tƣợng: tạo ra đối tƣợng, chỉnh sửa, copy, ...
5. Sân khấu trong lập trình kéo – thả
Học sinh đƣợc giới thiệu sân khấu là gì?
Học sinh trang trí sân khấu bằng cách cài đặt và chỉnh sửa hình nền, bổ sung, chỉnh sửa các đối tƣợng trên sân khấu, ... Xây dựng kịch bản để điều khiển các đối tƣợng trên sân khấu.
6. Âm thanh Học sinh đƣợc thảo luận tác dụng của âm thanh trong các chương trình video, game,...
Học sinh được hướng dẫn cách chèn, chỉnh sửa, tạo, thêm âm thanh vào một dự án.
Học sinh thực hiện chèn âm thanh vào kịch bản, chỉnh sửa, tạo âm thanh, thêm âm thanh, ... vào kịch bản đơn giản tự tạo.
7. Đồ họa Ngoài các đối tƣợng đồ họa có sẵn trong ngôn ngữ lập trình kéo thả, học sinh đƣợc giới thiệu và sử dụng công cụ vẽ đồ họa để tạo ra đối tƣợng mới hoặc chỉnh sửa đối tƣợng theo yêu cầu, lưu trữ sử dụng cho các dự án khác.
Học sinh thực hiện tạo mới (hoặc chỉnh sửa) một đối tƣợng đồ họa theo yêu cầu của giáo viên.
8. Nhóm khối lệnh hành động
Chứa các khối lệnh về hành động. Học sinh đƣợc giới thiệu về các khối lệnh, chức năng của chúng, cách sử dụng các khối lệnh.
Học sinh vận dụng các khối lệnh trong nhóm để xây dựng các dự án thích hợp.
TIEU LUAN MOI download : skknchat@gmail.com
(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong
54
9. Thủ tục/hàm Học sinh được trình chiếu một chương trình sử dụng hàm/thủ tục mẫu của giáo viên. Từ đó giáo viên giải thích và chạy minh họa để học sinh hiểu tác dụng của hàm/thủ tục khi xây dựng một dự án phức tạp.
Học sinh được hướng dẫn cách xây dựng hàm/thủ tục trong một ngôn ngữ lập trình kéo – thả, cách gọi đến hàm/thủ tục trong chương trình chính.
Vận dụng hàm/thủ tục để xây dựng các dự án theo yêu cầu.
10. Biến Thông qua các chương trình mẫu của giáo viên, học sinh hiểu về khái niệm “biến” trong lập trình.
Cách khai báo và sử dụng biến khi xây dựng kịch bản trong một ngôn ngữ lập trình kéo thả.
Vận dụng xây dựng kịch bản đơn giản có sử dụng biến.
11. Khối lệnh điều khiển If – then
Học sinh được giới thiệu về phương thức hoạt động của khối lệnh if – then dạng đủ và dạng thiếu.
Học sinh đƣợc quan sát kịch bản minh họa cho khối lệnh này bằng một ngôn ngữ lập trình kéo thả.
Học sinh vận dụng xây dựng các dự án sử dụng khối lệnh if – then dạng đủ và thiếu từ đơn giản đến phức tạp.
12. Vòng lặp Học sinh đƣợc lấy ví dụ minh họa để hiểu lặp là gì? Vai trò của cấu trúc lặp trong lập trình.
Chia nhóm học sinh, mỗi nhóm tìm hiểu và trình bày về một dạng lặp (khối lệnh tương ứng, cơ chế hoạt động của chúng) trong một ngôn ngữ lập trình kéo – thả cụ thể.
Giáo viên củng cố lại các kiến thức về các loại vòng lặp cho học sinh, lưu ý lựa chọn vòng lặp đáp ứng được yêu cầu bài toán.
Học sinh vận dụng vận dùng các khối lệnh vòng lặp có trong một ngôn ngữ lập trình kéo thả vào những bài toán thực tế.
13. Kiểu chuỗi Học sinh đƣợc giải thích để hiểu về kiểu chuỗi trong lập trình.
Học sinh được thảo luận để biết cách thức lưu trữ kiểu chuỗi của một loại ngôn ngữ lập trình kéo – thả cụ thể.
Học sinh sử dụng kiểu chuỗi trong các dự án cụ thể.
14. Kiểu List Học sinh đƣợc giới thiệu về kiểu dữ liệu danh sách.
Học sinh đƣợc trình bày để biết cách khai báo sử dụng kiểu danh sách trong một ngôn ngữ lập trình kéo – thả cụ thể.
Học sinh vận dụng kiểu dữ liệu danh sách vào xây dựng các kịch bản cụ thể.
TIEU LUAN MOI download : skknchat@gmail.com
(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong
55
15. Tùy biến khối lệnh
Học sinh đƣợc giới thiệu về các khả năng tùy biến khối lệnh (nếu có) để đáp ứng nhu cầu thực tế các bài toán.
Học sinh đƣợc minh họa khả năng tùy biến đó của ngôn ngữ lập trình kéo – thả qua các ví dụ cụ thể.
Học sinh vận dụng tùy biến một vài khối lệnh theo yêu cầu.
16. Lập trình game với ngôn ngữ lập trình kéo – thả
Học sinh vận dụng các kiến thức về ngôn ngữ lập trình kéo – thả đã học để xây dựng các trò chơi từ đơn giản đến phức tạp.
Ngôn ngữ đề xuất trong giảng dạy: Scratch, Alice, hoặc Code.org.
Chương trình dạy lập trình lớp 11
Sau khi có đƣợc những hiểu biết cơ bản và tƣ duy lập trình đơn giản, học sinh cần đƣợc trang bị thêm các kĩ năng lập trình, kiến thức về thuật toán và cấu trúc dữ liệu để có thể giải quyết các bài toán tính toán trong thực tế, trong toán học hoặc để tiếp tục học lập trình nâng cao.
Chuyên đề: Lập trình cơ bản
Chuyên đề này sẽ giới thiệu cho học sinh về một ngôn ngữ lập trình có cấu trúc, các thuật toán thường dùng, các kiểu dữ liệu có cấu trúc và cách tổ chức dữ liệu để giải quyết các bài toán trong thực tế, các bài toán tính toán trong toán học.
Thời lượng: 30 tiết.
Chuẩn bị học liệu:
Một ngôn ngữ lập trình, phòng máy tính có kết nối internet, các máy tính đã đƣợc cài đặt ngôn ngữ lập trình, máy chiếu.
Mục tiêu:
Học xong chuyên đề này, học sinh có thể:
- Thiết kế bài toán theo top - down
- Hiểu và sử dụng một số thuật toán thường gặp.
- Biết cách tổ chức dữ liệu để giải quyết bài toán.
- Sử dụng một ngôn ngữ lập trình để viết chương trình giải quyết bài toán.
Kiểm tra đánh giá:
Kiểm tra thường xuyên gồm (năng suất các buổi học, các bài kiểm tra thường xuyên, tiểu luận, ...): 50%.
TIEU LUAN MOI download : skknchat@gmail.com
(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong
56
Kiểm tra cuối chuyên đề: 50%.
Chương trình chi tiết
Nội dung Hoạt động học tập
1. Giới thiệu về ngôn ngữ lập trình
Học sinh thảo luận nhóm tìm hiểu về các loại ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao. Từ đó hiểu chức năng của chương trình dịch.
Học sinh đƣợc giới thiệu về các thành phần của một ngôn ngữ lập trình, một số khái niệm: tên dành riêng (từ khóa), tên chuẩn, tên do người dùng đặt, hằng, biến.
Học sinh phân biệt đƣợc các thành phần đó.
Học sinh được giới thiệu về cấu trúc của một chương trình, cú pháp khai báo các thành phần trong cấu trúc đó: khai báo tên, thư viện, hằng, biến, cú pháp phần chương trình chính, ghi chú.
Học sinh thực hành viết các khai báo.
2. Kiểu dữ liệu chuẩn, hàm số học chuẩn, phép toán, biểu thức, lệnh gán
Học sinh đƣợc giới thiệu về các kiểu dữ liệu chuẩn, cách viết, phạm vi giá trị các kiểu đó.
Học sinh biết cách biểu diễn phép toán, hàm số học chuẩn, biểu thức (số học, logic, quan hệ), trình tự thực hiện các biểu thức, lệnh gán.
Học sinh thực hành viết các biểu thức.
3. Thủ tục
nhập/xuất bàn phím/màn hình, thực hiện chương trình
Học sinh đƣợc giới thiệu cú pháp các thủ tục nhập/xuất dữ liệu từ bàn phím/màn hình.
Học sinh được hướng dẫn cách viêt chương trình, biên dịch, hiệu chỉnh chương trình trong một ngôn ngữ lập trình cụ thể.
Học sinh thực hành viết các chương trình đơn giản chạy chương trình (ví dụ: Viết chương trình nhập vào 2 số nguyên từ bàn phím, tính và hiển thị kết quả ra màn hình, …).
4. Cấu trúc điều khiển và cấu trúc lặp
Học sinh đƣợc giới thiệu cú pháp và ý nghĩa của cấu trúc điều khiển và cấu trúc lặp.
Học sinh thực hành viết chương trình (ví dụ: Giải phương trình bậc 2, tính tổng S=1+2+..+n).
5. Kiểu dữ liệu có cấu trúc
Học sinh đƣợc giới thiệu cách viết, sử dụng một số kiểu dữ liệu có cấu trúc nhƣ: mảng 1 chiều, mảng 2 chiều, xâu, bản ghi, tệp và các phép toán liên quan.
Học sinh thực hành viết chương trình sử dụng các kiểu dữ liệu trên.
6. Chương trình con Học sinh được giới thiệu về các lợi ích khi sử dụng chương
TIEU LUAN MOI download : skknchat@gmail.com
(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong(LUAN.van.THAC.si).mot.so.de.xuat.ve.day.va.hoc.lap.trinh.trong.mon.tin.hoc.o.cac.truong.trung.hoc.pho.thong
57
trình con, các loại chương trình con và cấu trúc chương mỗi loại.
Học sinh đƣợc giới thiệu về các loại tham số, cách gọi chương trình con và truyền tham số đầu vào cho nó.
Học sinh thực hành viết chương trình sử dụng chương trình con (Ví dụ: Viết chương trình giải phương trình bậc 2 dạng tổng quát (ax2 + bx + c = 0) có sử dụng chương trình con: 1 chương trình con giải phương trình bậc nhất, 1 chương trình con giải phương trình bậc 2).
7. Tác phong lập trình
Học sinh được giới thiệu code của một chương trình mà không có chú thích, không mô tả tên biến, nhiều câu lệnh trên một dòng ... Chương trình này làm gì? Yêu cầu học sinh nhập và chạy chương trình để xác định nó làm gì và làm những thay đổi cần thiết để có phong cách làm việc tốt.
8. Rèn kĩ năng lập trình
Học sinh được giới thiệu một số thuật toán thường gặp: kiểm tra tính nguyên tố của một số nguyên dương, tìm ước chung lớn nhất, bội chung nhỏ nhất, tính lũy thừa, tìm kiếm (tìm Max, Min của một dãy số), sắp xếp dãy số, các bài toán tính tổng (tính tổng các lũy thừa, tính tổng các số nguyên tố có trong dãy).
Học sinh thực hành lập trình giải quyết các bài toán trên sử dụng các kiến thức đã đƣợc học (chú ý đến sử dụng kiểu tệp và chương trình con).
9. Lập trình hướng đối tƣợng
Học sinh đƣợc giới thiệu và hiểu về một số khái niệm cơ bản trong lập trình hướng đối tượng như: Đối tượng, thuộc tính, phương thức, lớp.
Học sinh thảo luận về ưu điểm của lập trình hướng đối tượng.
Học sinh thực hành viết chương trình làm việc với đối tượng trong thực tế cuộc sống.
- Các ngôn ngữ lập trình đƣợc đề xuất: C++, C#, Java.
Chương trình dạy lập trình lớp 12
Website là một kiến thức rất gần gũi và quen thuộc với học sinh ngày nay. Nhu cầu sở hữu một website hiện nay là nhu cầu của hầu hết các cơ quan, tổ chức, doanh nghiệp và một số lƣợng không nhỏ cá nhân. Trong quá trình giảng dạy và tìm hiểu về học sinh, tác giả nhận thấy đây là một nội dung đƣợc học sinh rất yêu thích và quan tâm. Do đó, tác giả mạnh dạn giới thiệu một chuyên đề dạy học lập trình web cơ bản trong chương trình lớp 12 để cung cấp cho học sinh kiến thức nền tảng về lập trình
TIEU LUAN MOI download : skknchat@gmail.com