SKKN Giải pháp giúp học sinh lớp 11 trường THPT Cẩm Thủy 1 nắm vững kiến thức chương II Tin học 11 Đề tài “Giải pháp giúp học sinh lớp 11 trường THPT Cẩm Thủy 1 nắm vững kiến thức chương II Tin học 11” Tác giả Phạm Thị Hường THPT Cẩm Thủy 1 Page 1 PHẦN 1 PHẦN MỞ ĐẦU 1 Lý do chọn đề tài Đứng trước yêu cầu đổi mới căn bản và toàn diện GD&ĐT, hướng đến đào tạo nguồn nhân lực trí thức đáp ứng yêu cầu của xã hội hiện đại Việc đổi mới phương pháp dạy học, đổi mới kiểm tra, đánh giá trong giáo dục phổ[.]
Trang 1PHẦN 1 PHẦN MỞ ĐẦU
1 Lý do chọn đề tài
Đứng trước yêu cầu đổi mới căn bản và toàn diện GD&ĐT, hướng đến đào tạo nguồn nhân lực trí thức đáp ứng yêu cầu của xã hội hiện đại Việc đổi mới phương pháp dạy học, đổi mới kiểm tra, đánh giá trong giáo dục phổ thông là vô cùng quan trọng và cần thiết Mục tiêu giáo dục xã hội đang đặt ra những yêu cầu cấp thiết đòi hỏi bản thân mỗi giáo viên phải không ngừng học hỏi và sáng tạo để nâng cao chất lượng dạy học
Qua quá trình công tác và thực tiễn giảng dạy bộ môn tin học tại trường THPT Cẩm Thủy 1, tôi nhận thấy đa số học sinh khối 11 hằng năm có điểm tổng kết môn tin học rất thấp, thậm chí ngay ở cả các lớp mũi nhọn Nhiều em rất lúng túng khi giáo viên yêu cầu viết một chương trình hoàn chỉnh bằng ngôn ngữ Pascal (mặc dù rất đơn giản)
Một trong những lý do dẫn đến hiện tượng này là do các em không nắm vững kiến thức về chương trình Vì khi viết chương trình các em cần phải tuân thủ nghiêm ngặt quy tắc viết câu lệnh, chính xác đến từng dấu chấm, dấu phẩy nên càng không thể học vẹt, học thuộc lòng để kiểm tra và để thi Do đó nếu các
em hiểu một cách mơ hồ, không chắc chắn kiến thức chương II thì càng về sau các em sẽ càng học càng cảm thấy rối rắm, dẫn đến hiện tượng chán học, học đối phó, kết quả học tập không cao, ảnh hưởng không nhỏ đến chất lượng giáo dục của nhà trường
Thiết nghĩ: “Làm thế nào để giúp các em dễ dàng nắm vững và tự tin trước yêu cầu viết một chương trình đơn giản bằng ngôn ngữ lập trình Pascal? Cần phải làm sao để các em thấy được sự kỳ diệu của tin học 11, để từ chỗ “sợ” lập trình chuyển thành ham thích lập trình” Điều đó đã thôi thúc tôi quyết tâm đi sâu và nghiên cứu đề tài: “Giải pháp giúp học sinh lớp 11 trường THPT
Cẩm Thủy 1 nắm vững kiến thức chương II - Tin học 11”
Hy vọng đề tài này của tôi sẽ là một tài liệu tham khảo giúp các bạn đồng nghiệp có thể áp dụng không chỉ cho HS của riêng trường THPT Cẩm Thủy 1 mà còn có thể áp dụng rộng rãi cho nhiểu trường THPT khác có cùng điều kiện về cơ sở vật chất và con người
Trang 21 Mục đích nghiên cứu
- Nâng cao nghiệp vụ công tác của bản thân, trao đổi kinh nghiệm với đồng nghiệp
- Góp phần nâng cao chất lượng dạy và học
- Làm nền tảng vững chắc để HS tự tin viết các chương trình đơn giản,
từ đó các em cảm thấy thích thú và kích thích các em tìm tòi để viết các chương trình phức tạp hơn
1.1 Đối tượng nghiên cứu
- Chương trình Tin học 11
- Học sinh lớp 11 trường THPT Cẩm Thủy 1
- Phương pháp dạy học môn tin 11
1.2 Phương pháp nghiên cứu
a) Phương pháp điều tra khảo sát thực tế, thu thập thông tin.
- Tìm hiểu chất lượng học tập môn tin học khối 11 qua các năm gần đây
- Khảo sát chất lượng đầu năm học để có kế hoạch dạy học phù hợp nhất với từng nhóm lớp
- Trao đổi, tâm sự với HS để tìm nguyên nhân tại sao các em có tâm lý
sợ viết chương trình, động viên và tìm cách để các em dễ dàng đón nhận kiến thức một cách tôt nhất
b) Phương pháp nghiên cứu xây dựng cơ sở lý thuyết
- Nghiên cứu kỹ chuẩn kiến thức và kỹ năng của mỗi bài dạy, cũng như của mỗi chương kiến thức
- Căn cứ vào phân phối chương trình và nội dung kiến thức trên mỗi chương để lên kế hoạch dạy học phù hợp, xây dựng thiết kế nội dung bài dạy đảm bảo tiết kiệm thời gian và công sức nhưng vẫn cho hiệu quả cao
c) Tổng hợp, thống kê, đối chiếu
- Tổng hợp và thống kê chất lượng bộ môn trước và sau khi áp dụng đề tài Đối chiếu kết quả để thấy được hiệu quả và dự đoán mức độ lan
Trang 3PHẦN 2 NỘI DUNG
2.1 Cơ sở lí luận
2.1.1 Một số khái niệm cơ bản
Như ta đã biết, mọi bài toán có thuật toán đều có thể giải được trên máy tính điện tử
- Thuật 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 ban đầu ta có thể thu được kết quả cần tìm (KN thuật toán,
SGK tin 10) Khi giải bài toán trên máy tính điện tử, sau bước xác định
bài toán và xây dựng hoặc lựa chọn thuật tóan khả thi chính là bước viết chương trình (lập trình)
- Lập trình là sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán (SGK 11, trang 4)
Khi được phân công dạy chương trình 11 thì ngôn ngữ lập trình được tôi
và các đồng nghiệp lựa chọn là ngôn ngữ pascal Sở dĩ như vậy vì Pascal giúp
cho HS- những người mới lập trình có thể dễ dàng nắm bắt được việc viết một chương trình có cấu trúc sáng sủa, rõ ràng và dễ học (Học nhanh Pascal
trong 15h, Cao Bá Thành, trang 6)
Ngôn ngữ Pascal được xây dựng trên cơ sở một bộ các chữ cái trong bảng chữ cái tiếng Anh, một bộ các chữ số thập phân Ả Rập (0, 1,2,3,4,5,6,7,8,9) và
bộ các kí hiệu đặc biệt:
Ngoài ra khi học lập trình chúng ta còn phải quan tâm đến bộ quy tắc để viết chương trình hay còn gọi là cú pháp; quan tâm đến ngữ nghĩa (xác định ý nghĩa thao tác cần phải thực hiện);
Trang 42.1.2 Một số quy ước
- Khi diễn giải cú pháp của ngôn ngữ lập trình người ta diễn giải bằng ngôn ngữ tự nhiên
- Các diễn giải bằng ngôn ngữ tự nhiên được đặt giữa cặp dấu < và >;
- Các thành phần của chương trình có thể có hoặc không được đặt trong cặp dấu ngoặc [ và ]
- Với các từ được đặt trong cặp dấu nháy đơn ’ và’ là những từ tự do ta không cần thiết phải theo quy luật, có thể viết theo ý mình
2.1.3 Chuẩn kiến thức, kỹ năng của chương II – chương trình đơn giản.
a) Về kiến thức:
- HS nhớ được cấu trúc chung, các thành phần của một chương trình viết trên ngôn ngữ Pascal
- Nắm được cách khai báo hằng, biến và cách tạo ra biểu thức
- Biết cách sử dụng câu lệnh gán và các lệnh vào/ra cơ bản
- Nhớ một số kiểu dữ liệu chuẩn (gồm tên, phạm vi giá trị và kích thước trong bộ nhớ)
b) Về kỹ năng:
- Biết khai báo biến đơn; biết viết đúng các biểu thức đơn giản
- Biết soạn thảo, dịch và thực hiện một số chương trình mẫu trong SGK
c) Về tư tưởng, tình cảm:
- Xác định thái độ nghiêm túc trong học tập khi làm quen với nhiều quy định nghiêm ngặt trong lập trình
- Có ý thức cố gắng trong học tập, khắc phục các khó khăn, lúng túng trong giai đoạn bắt đầu lập trình
- Tạo sự say mê giải các bài toán bằng cách lập trình Thấy được lợi ích của lập trình trước hết là để tính toán và để giải được các bài toán đã nêu trong nội dung của chương
Trang 52.2 Thực trạng vấn đề trước khi thực hiện đề tài nghiên cứu
2.2.1 Vài nét về nhà trường, học sinh và bộ môn Tin học
Trường THPT Cẩm Thủy 1 là một ngôi trường thuộc khu vực miền núi của tỉnh Thanh Hóa Năm 2016-2017 nhà trường có 36 lớp với 1482 học sinh,
đa số các em là người dân tộc thiểu số, hầu hết các em đều chăm ngoan Tuy nhiên điều kiện gia đình còn nhiều khó khăn, nên việc đầu tư cho con em học tập còn phụ thuộc nhiều yếu tố, chất lượng đầu vào chưa cao
Được sự quan tâm của Nhà nước cũng như của ngành giáo dục, nhà trường cũng đã được đầu tư xây dựng nhiều phòng học khang trang, trong đó có hai phòng máy dành cho việc thực hành của bộ môn tin học (mỗi phòng có 24 máy, không có máy chiếu để lắp riêng cho phòng tin, muốn dạy máy chiếu GV phải đăng ký trước 1tuần để được dạy tại phòng đa năng- phòng dùng chung cho các môn)
Tuy nhiên do các năm trước nguồn điện không ổn định, theo thời gian quá trình hao mòn máy móc đã làm cho nhiều máy bị hỏng, mặc dù đã hết sức khắc phục nhưng nhiều khi vẫn có tới 6-7 máy không thể hoạt động được, số lượng học sinh trên lớp đông vì vậy việc đảm bảo cho 2 HS ngồi thực hành chung một máy nhiều khi cũng chưa đáp ứng đủ
Thêm vào đó là tâm lý coi trọng các môn thi THPTQG và học đối phó với các môn còn lại của đại bộ phận học sinh Điều đó đã ảnh hưởng không nhỏ tới chất lượng dạy và học môn tin học
2.2.2.Thực trạng vấn đề trước khi thực hiện đề tài
Với số lớp đông, giáo viên tin học lại chỉ có 3 người nên số giờ dạy trên tuần nhiều (khoảng 20 tiết/ tuần, chưa kể dạy nghề), quỹ thời gian đầu tư cho nghiên cứu tài liệu ít Cộng thêm tuổi nghề còn trẻ, kinh nghiệm chưa nhiều, là nguyên nhân dẫn đến những hạn chế trong công tác giảng dạy, trong trao đổi kinh nghiệm và nghiên cứu khoa học
Khi được phân công giảng dạy chương trình tin học 11 qua các năm tôi nhận thấy các em đều có tâm lý “sợ” lập trình Thậm chí không chỉ mình các HS tốp dưới mà ngay cả các học sinh lớp mũi nhọn nhiều em cũng lúng túng không biết phải bắt đầu từ đâu trước yêu cầu lập trình một bài toán đơn giản (ví dụ như
Trang 6nhập 2 cạnh của hình chữ nhật và tính chu vi, diện tích hình chữ nhật đó) Việc không nắm vững được phần cấu trúc chương trình tựa như các em làm một bài văn mà không có “dàn ý” Lập tức các em sẽ sắp xếp ý lộn xộn, hoặc triển khai không hết ý
Một trong các lý do các em lúng túng trước yêu cầu viết một chương trình
đó chính là các em nắm kiến thức về chương trình (mà cốt lõi là cấu trúc của nó) một cách mơ hồ, không chắc chắn Thể hiện ở việc:
Tồn tại một mâu thuẫn: Khi học lý thuyết từng câu lệnh riêng lẻ thì các em có thể tiếp thu được nhưng khi yêu cầu viết một chương trình hoàn chỉnh thì các em lại không làm nổi
Sau khi học xong chương II rất ít trong số các em làm chính xác một bài tập dạng sắp xếp lại các câu lệnh đã cho để được một chương trình hoàn chỉnh;
Khi các em viết một chương trình có thể có câu lệnh kiểm tra điều kiện, có câu lệnh gán giá trị… nhưng lại bỏ qua mất câu lệnh nhập dữ liệu cho biến;
Nhiều học sinh học kém môn toán và tiếng Anh tự cho là mình không thể tiếp thu được ngay từ bài đầu tiên của chương II và tạo
ra một tâm lý “sợ” học lập trình
Do vậy nếu không sớm tìm cách giải quyết, khắc phục sẽ làm các em cảm thấy chán vì không thể làm được bài tập, không có cảm hứng để chinh phục và khám phá các phần kiến thức tiếp theo Dẫn tới kết quả học tập bộ môn ngày càng đi xuống
2.3 Các giải pháp đã sử dụng để giải quyết vấn đề
Để giải quyết thực trạng nêu trên tôi đã xây dựng 4 giải pháp sau đây:
a) Nghiên cứu tài liệu
- Đây là bước hết sức quan trọng vì nếu nghiên cứu kỹ hoặc chịu khó tham khảo các tài liệu liên quan đến nội dung của mảng kiến thức mà giáo viên cần trình bày sẽ giúp giáo viên định hướng và sáng tạo ra cách thức để trình bày vấn đề đó một cách tốt nhất
Trang 7Ví dụ: Trước một bài dạy nào đó nếu giáo viên đầu tư thời gian để nghiên
cứu chuẩn kiến thức, kỹ năng cần đạt; tham khảo các bài giảng của đồng nghiệp
sẽ giúp giáo viên định hình và xây dựng giáo án lên lớp một cách hợp lí nhất, đảm bảo đủ kiến thức, tiết kiệm thời gian, tránh lan man, dài dòng
b) Thực hiện dự giờ và thao giảng
- Dự giờ sẽ giúp giáo viên rút ra được nhiều kinh nghiệm từ bài giảng của đồng nghiệp, học hỏi những cách làm hay và mới
- Thao giảng sẽ giúp giáo viên và học sinh chuẩn bị bài chu đáo Hạn chế được tình trạng dạy chay hoặc đọc – chép
c) Luôn quan tâm, sát sao đến từng học sinh, đặc biệt là công tác tư tưởng, nêu gương, động viên, khích lệ học trò.
- Theo tôi đây là những việc làm rất quan trọng, nó có tác dụng định hướng về mục đích học tập, tránh những hiểu biết sai lệch của học sinh về các nội dung kiến thức mà giáo viên đã truyền đạt, tháo gỡ kịp thời các vướng mắc
mà các em gặp phải
- Nêu gương, khích lệ, động viên sẽ là các hình thức giúp các em ý thức được mình cần phải làm gì để vượt qua khó khăn để đạt được mục đích cuối cùng và xa hơn là định hướng ngành nghề tương lai cho học sinh
Ví dụ 1:
Vào thời điểm kết thúc chương trình lớp 10 hoặc ngay từ bài đầu tiên của chương trình lớp 11 tôi luôn dành ra một khoảng thời gian để trao đổi, thông báo trước với học trò về độ khó của chương trình lớp 11 so với chương trình lớp10,
về sự logic các kiến thức của bài học trước và bài học sau, về sự chính xác đến từng dấu chấm, dấu phẩy… các em phải chuẩn bị tâm thế học tập thật nghiêm túc, ghi bài và trình bày kiến thức một cách thật cẩn thận mới có thể hiểu bài và làm được các bài tập trong sách giáo khoa
Thêm vào đó trong quá trình dạy học tôi thường xuyên kiểm tra và theo dõi việc ghi chép bài của học sinh
Cách làm này tránh được hiện tượng học sinh ghi chép bài không cẩn thận dẫn đến sai lệch nội dung kiến thức mà giáo viên cần truyền đạt, rèn luyện tính kiên trì, cẩn thận của người lập trình
Trang 8Ví dụ 2:
Khi một học sinh nào đó đã viết được một chương trình hoàn chỉnh ở mức
độ vận dụng thấp, ta nên động viên học sinh đó tiếp tục viết một chương trình ở mức độ cao hơn và đừng quên chuẩn bị một món quà nhỏ để khen ngợi, động viên em và khích lệ các học sinh khác cố gắng để làm được như bạn Nếu học sinh đó vẫn tiếp tục giải quyết được thì tự bản thân học sinh sẽ cảm thấy hào hứng, có nhu cầu để tìm tòi, khai thác tiếp các nội dung kiến thức khó hơn
Ví dụ 3: Để làm cho các em thêm yêu thích lập trình, hướng các em đang nuôi dưỡng ước mơ muốn trở thành những người lập trình viên chuyên nghiệp,
có thu nhập cao, tôi đã dành chút thời gian để kể cho các em nghe về tấm gương của hai học sinh vừa tốt nghiệp cách đây không lâu là Hoàng Vũ, Nguyễn Hồng Sơn Hai em đã từng cố gắng học tốt môn này, sau đó được chọn vào đội tuyển tin học để dự thi cấp tỉnh, mặc dù chưa đạt giải nhưng vẫn quyết tâm khi thi đỗ vào trường học viện công nghệ bưu chính viễn thông, cả hai anh đã giành được giải khuyến khích và giải tiềm năng khi tham dự cuộc thi lập trình viên quốc tế ACM năm 2017
Đây cũng là một hình thức tuy đơn giản nhưng lại có tác dụng nuôi dưỡng ước mơ của các học sinh, thổi niềm đam mê lập trình vào các em để các em noi gương và quyết tâm học tập tốt để khẳng định bản thân và biến ước mơ thành hiện thực
Ví dụ 4.
Khi phát hiện ra một vài học sinh có tố chất, thông minh, nhanh nhẹn ta nên chọn các em vào đội tuyển, bồi dưỡng thêm để các em có cơ hội phát triển Khi đó chính các em sẽ là những người có khả năng thay chúng ta giúp đỡ các học sinh khác học kém hơn trong lớp Mặt khác bản thân các em có một nền tẳng vững chắc về các thuật toán, về sử dụng một ngôn ngữ lập trình để diễn tả thuật toán, nếu sau này các em có thi đỗ vào một ngành nghề nào đó thuộc lĩnh vực Công nghệ thông tin thì đấy chính là một lợi thế
Trang 9d) Mạnh dạn trình bày và sắp xếp lại các nội dung kiến thức của SGK theo một hình thức khác (trình bày dưới dạng bảng biểu tổng hợp nhưng ngắn gọn, dễ nhớ).
* Mục đích: Làm cho học sinh tiếp cận cùng một nội dung kiến thức
nhưng theo một hình thức trình bày dễ hiểu và dễ nhớ hơn, gọn gàng hơn nhưng vẫn đảm bảo đủ nội dung theo chuẩn kiến thức kỹ năng
Ví dụ 1:
Khi dạy Bài 3: “Cấu trúc chương trình” thay vì trình bày theo các mục như SGK thì ngay từ đầu tôi đã xây dựng các kiến thức đó dưới dạng bảng biểu, (chưa yêu cầu HS hiểu ngay mà chỉ yêu cầu HS nhớ), bảng này sẽ được tôi sử dụng liên tục trong các bài dạy của chương II dùng làm dàn ý để dựa vào đó các
em triển khai các kiến thức liên quan tiếp theo, sau vài lần các em sẽ thuộc và giải quyết tốt các bài tập dạng sắp xếp lại các câu lệnh đã cho để được một chương trình hoàn chỉnh
Cụ thể bảng biểu mà tôi xây dựng như sau:
Khai báo tên CT;
Khai báo thư viện;
Khai báo hằng;
Khai báo biến;
Phần
khai
báo
Khai báo chương
trình con;
Phần
thân
-Bắt đầu bằng từ
khóa BEGIN
-Kết thúc bằng từ
khóa END
-Ở giữa là dãy các
lệnh được phân cách
nhau bởi 1 dấu ;
Program Tên_CT;
Uses Tên thư viện;
Const Tên hằng = giá trị hằng;
Var Danh sách biến: Kiểu dữ liệu;
(sẽ học cụ thể hơn ở bài sau) (sẽ học sau)
Begin
Lệnh 1;
Lệnh 2;
……
End.
- Khi viết chương trình phải tuân thủ thứ tự của các thành phần.
- Trong trường hợp viết chương trình không cần dùng đến phần nào ta mới được phép bỏ qua phần đấy để chuyển tới
phần tiếp theo
Trang 10 Trong bảng biểu này tôi trình bày luôn cú pháp khai báo biến mà không đợi đến khi dạy bài 5 mới trình bày như SGK Vì theo tôi chỉ cần cho các
em biết cách khai báo biến theo kiểu trực tiếp là đủ, phần khai báo gián tiếp
để sang phần mảng một chiều dạy sau
Dễ nhận thấy rằng các diễn giải bằng ngôn ngữ tự nhiên được đặt giữa cặp dấu < và >; Hoặc các thành phần của chương trình có thể có hoặc không được đặt trong cặp dấu ngoặc [ và ] đều bị tôi cắt đi Sở dĩ tôi cắt đi
vì theo tôi thấy học sinh sẽ có cảm giác rườm rà, khó nhớ hơn và khi lấy ví
dụ minh họa cho cú pháp các em không phải thắc mắc rằng : Tại sao trong
cú pháp thì có dấu < và > còn ví dụ minh họa lại bỏ đi không viết nữa
Ví dụ 2:
Khi dạy nội dung của “Bài 4: Một số kiểu dữ liệu chuẩn” tôi cũng tiến hành tương tự và kèm theo luôn các phép toán sử dụng trên từng kiểu dữ liệu chuẩn Sau đó mới lưu ý về độ ưu tiên của các phép toán
Kiểu Tên kiểu Phạm vi giá trị Số
byte
Các phép toán trên mỗi kiểu
Integer -32 768 đến 32767 2
Kiểu
nguyên
Longint -2 147483648
+, - , *, div, mod,
=, <, <=, < >, >, >=
Trong đó:
div: Chia lấy phần nguyên
mod: Chia lấy phần dư
Real
0 hoặc có giá trị tuyệt đối từ 2,9x 10-39 đến 2,9x 1038
6
Kiểu thực
Extended 0 hoặc có giá trị tuyệt
đối từ 10-4932 đến 104932 10
+, -, *, /
=, <, <=, < >, >, >=
Kiểu kí tự Char True hoặc false 1 Dùng các hàm để xử lý
(học sau)