CHƯƠNG 1. CƠ SỞ LÝ LUẬN VÀ THỰC TIỄN 1. CƠ SỞ LÝ LUẬN CỦA ĐỀ TÀI 1.1 Khái niệm bài toán trong tin học , năng lực giải quyết vấn đề. - Bài toán là một việc nào đó mà con người muốn máy tính thực hiện.
Các yếu tố của một bài toán: + Input: Thông tin đã biết, thông tin đưa vào máy tính. + Output: Thông tin cần tìm, thông tin lấy ra từ máy tính. - Theo định nghĩa trong đánh giá PISA (2012): “Năng lực giải quyết vấn đề là khả năng của một cá nhân hiểu và giải quyết tình huống vấn đề khi mà giải pháp giải quyết chưa rõ ràng. Nó bao gồm sự sẵn sàng tham gia vào giải quyết tình huống vấn đề đó – thể hiện tiềm năng là công dân tích cực và xây dựng”.
- Giải quyết vấn đề là hoạt động trí tuệ được coi là trình độ phức tạp và cao nhất về nhận thức, vì cần huy động tất cả các năng lực trí tuệ của cá nhân. Để giải quyết vấn đề, chủ thể phải huy động trí nhớ, tri giác, lý luận, khái niệm hóa, ngôn ngữ, đồng thời sử dụng cả cảm xúc, động cơ, niềm tin ở năng lực bản thân và khả năng kiểm soát được tình thế - Chúng ta có thể hiểu năng lực năng lực giải quyết vấn đề của học sinh là: Khả năng của học sinh phối hợp vận dụng những kinh nghiệm bản thân, kiến thức, kĩ năng của các môn học trong chương trình trung học phổ thông để giải quyết thành công các tình huống có vấn đề trong học tập và trong cuộc sống của các em với thái độ tích cực. - Năng lực giải quyết vấn đề bao gồm các năng lực thành phần sau: Năng lực hiểu được vấn đề, thu nhận được thông tin từ tình huống thực tiễn; Năng lực chuyển đổi thông tin từ tình huống thực tế về Tin học; Năng lực tìm kiếm chiến lược giải quyết bài toán Tin; Năng lực thực hiện chiến lược để tìm ra kết quả;Năng lực chuyển từ kết quả giải quyết bài toán Tin học sang lời giải của bài toán chứa đựng tình huống thực tiễn; Năng lực đưa ra các bài toán khác. Vai trò, ý nghĩa của dạy học phát triển năng lực giải quyết bài toán - Tạo động cơ, gợi động cơ học tập cho học sinh, thông qua các tình huống thực tế, kích thích trí tò mò và mong muốn giải quyết vấn đề của học sinh.
- Trực tiếp phát triển năng lực giải quyết vấn đề, đồng thời phát triển các năng lực chung và các năng lực chuyên biệt đặc thù của môn Tin học. - Thực hiện dạy học ứng dụng dụng của Tin học đối với thực tiễn, đây là một trong những định hướng hàng đầu của dạy học ngày nay. 7 - Giúp học sinh thấy được mối quan hệ của Tin học trong thực tiễn, trong đời sống xã hội, phát triển các năng lực về biểu diễn Tin học, năng lực giao tiếp trong quá trình tìm ra các phương pháp nhằm giải quyết vấn đề. - Từ định hướng cho học sinh sưu tầm, thiết kế các bài toán thực tế, từ kiến thức Tin học giúp giáo viên có được nguồn bài tập thực tế phong phú đa dạng trên nhiều lĩnh vựa khác nhau trong cuộc sống và nâng cao trình độ hiểu biết của chính giáo viên đối với môn học, góp phần đổi mới phương pháp dạy học và phương pháp kiểm tra đánh giá kết quả của học sinh.
Quy trình giải bài toán trên máy tính Hiện nay việc giải bài toán trên máy tính được tiến hành bởi 5 bước như sau: Xác định bài toán → Lựa chọn, thiết kế thuật toán → Viết chương trình → Hiệu chỉnh → Viết tài liệu. Bước 1: Xác định bài toán: mỗi bài toán được đặc tả bởi hai thành phần là Input và Output. Việc xác định bài toán chính là xác định rõ hai thành phần này và mối quan hệ giữa chúng. Các thông tin đó cần được nghiên cứu cẩn thận để có thể lựa chọn thuật toán, cách thể hiện các đại lượng đã cho, các đại lượng phát sinh trong quá trình giải bài toán và ngôn ngữ lập trình thích hợp.
Bước 2: Lựa chọn, thiết kế thuật toán: là bước quan trọng nhất để giải một bài toán. Mỗi thuật toán chỉ giải một bài toán nào đó, nhưng có thể có nhiều thuật toán khác nhau cùng giải một bài toán. Do đó người dùng cần thiết kế hoặc chọn một thuật toán phù hợp đã có để giải bài toán cho trước. Bước 3: Viết chương trình: Việc viết chương trình là tổng hợp giữa việc lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình để điễn đạt đúng thuật toán.
Khi viết chương trình ta nên chọn một ngôn ngữ lập trình hoặc một phần mềm chuyên dụng thích hợp với thuật toán. Viết chương trình trong ngôn ngữ nào thì cân phải tuân theo đúng quy định ngữ pháp của ngôn ngữ đó. Bước 4: Hiệu chỉnh là việc thử chương trình với 1 số bộ Input tương ứng với Output đã biết trước, từ đó ta xác định được các lỗi của chương trình. Mỗi bộ Input – Output được gọi là các Test.
Bước 5: Viết tài liệu: Tài liệu rất có ích cho người sử dụng chương trình và cho việc đề xuất những khả năng hoàn thiện thêm. Các bước có thể lặp đi lặp lại nhiều lần cho đến khi ta cho rằng chương trình đã làm việc đúng đắn và hiệu quả. CƠ SỞ THỰC TIỄN CỦA ĐỀ TÀI 2. - Được sự quan tâm sâu sát của ban giám hiệu và tổ bộ môn trong việc định hướng thường xuyên việc đổi mới phương pháp giảng dạy phù hợp chương trình giáo dục phổ thông mới.
8 - Cơ sở vật chất, trang thiết bị đáp ứng tương đối đầy đủ nhu cầu giảng dạy và học tập - Các tiết dạy môn Tin học được bố trí tại phòng học bộ môn thuận lợi việc khai thác thế mạnh công nghệ thông tin. - Đa số học sinh và gia đình các em đã có điện thoại thông minh hoặc là máy tính. Việc học lập trình thì điện thoại hay trên máy tính là thiết bị không thể thiếu. - Với điểm mới quy định trong thông tư 32 ban hành điều lệ trường THCS, THPT và trường phổ thông nhiều cấp học - học sinh được sử dụng điện thoại thông minh trong lớp học nếu giáo viên cho phép đó là bước đột phá, phù hợp với xu thế giáo dục hiện nay.Vì thế điều chỉnh này hữu ích để phát huy những nền tảng đã có sẵn của các nhà trường trong việc ứng dụng CNTT dạy học.Việc cho phép học sinh sử dụng smartphone hay có thể máy tính bảng, ipad trong giờ học-như vậy đây trở thành một dụng cụ học tập hữu ích, hữu dụng.
Xa hơn điện thoại thông minh như “cuốn sách điện tử”, người học có thể truy cập, cập nhật những kiến thức mới, hơi thở của thời đại. Giáo viên có thể tương tác, giải đáp những thắc mắc của học sinh một cách nhanh chóng. - Xã hội hiện nay với sự phát triển như vũ bão của công nghệ thì học sinh không khó để tìm được cho mình một ứng dụng học lập trình Python. Có thể kể đến như: Pydroid 3, Python 3, Qpython3L, Coding Python, Learn Python… - Hệ thống và nền tảng tương tác trực tuyến hoàn toàn miễn phí cho phép người dùng học tập, thực hành và đánh giá các kỹ năng lập trình ngay lập tức.
Nó trở thành nguồn tài nguyên vô tận để học sinh có thể trau dồi kỹ năng lập trình. Ngoài ra, còn có nhiều trang web dạy học lập trình online, rèn luyện kĩ năng lập trình mà học sinh có thể học được trên điện thoại, học sinh được trực tiếp test code của mình, đánh giá mức độ bài làm của mình như thế nào. - Tại trường THPT Nghi Lôc 3 khó khăn lớn nhất của bộ môn Tin học đó là đang thiếu máy vi tính phục vụ cho việc dạy và học. Hiện tại, trường bố trí 2 phòng máy tính, mỗi phòng có 20 máy tính.
Nhưng số máy hoạt động tương đối ổn định chỉ tầm trong 10-15 máy, số còn lại nếu hoạt động đã hết niên hạn sử dụng (trên 5 năm) nhưng chưa được nâng cấp hay thay mới kịp thời. Chưa kể, có nhiều máy vi tính đã được trang cấp hơn 10 năm và được nhà trường nâng cấp theo kiểu “chắp vá” nên nhanh chóng xuống cấp có cấu hình thấp, chạy rất chậm, hay tắt máy giữa chừng ảnh hưởng đến chất lượng bài giảng của giáo viên cũng như việc học thực hành của học sinh. Cũng do thiếu máy nên nhóm Tin học khá “đau đầu” khi xếp lịch học để các tiết thực hành tin học không bị chồng chéo, trùng lặp giữa các lớp. Trước mắt, các giáo viên chỉ còn cách bố trí 2-3 em học trên một máy vi tính, hoặc một lớp chia thành hai nhóm mới có đủ máy để học.
Hơn nữa đặc thù của môn Tin học là liên quan đến máy tính. Sau mỗi bài học các em cần được thực hành để hiểu rõ kiến thức và nâng cao kĩ năng. Đặc biệt 9 đối với môn tin thì “Học đi đôi với hành” là cực kì cần thiết và quan trọng. Có học lí thuyết nhiều đến đâu, giỏi đến đâu nhưng không có máy tính để thực hành thì việc học chưa thực sự đạt hiệu quả.
- Đối với học sinh, một khó khăn nữa trở thành rào cản là có rất nhiều em không thạo vi tính. Các em lóng ngóng mãi mới vào được các chương trình cơ bản. Hóa ra, lâu nay bộ môn tin học trong trường học được dạy theo kiểu “cưỡi ngựa xem hoa”. Lý do, đây chỉ là môn tự chọn và là môn phụ nên học sinh học chỉ để… đối phó.
- Học sinh chưa nhận thức được tầm quan trọng của việc học lập trình nên chưa có sự say mê, hứng thú trong việc học. Các em không biết học từ đâu vì thế giới tin học quá đa dạng, mà nhìn công cụ nào cũng thấy lạ lẫm. Không chỉ với tin học, việc học rất dễ gây cảm giác nhàm chán. Bởi vậy, nản và bỏ cuộc là điều thường thấy nếu học sinh không xác định được mục tiêu rõ ràng.
Chưa kể học đi học lại mà không có hiệu quả, học sinh sẽ bắt đầu có suy nghĩ tiêu cực về khả năng của bản thân. - Việc học lập trình tương đối khô khan, giáo viên khó thiết kế bài giảng gây hứng thú cho học sinh. MỘT SỐ GIẢI PHÁP 1. TÌM HIỂU PYTHON Python đang trở nên phổ biến trong cộng đồng lập trình nhờ có các đặc tính sau: - Ngôn ngữ thông dịch: Python được xử lý trong thời gian chạy bởi Trình thông dịch Python.
- Ngôn ngữ hướng đối tượng: Nó hỗ trợ các tính năng và kỹ thuật lập trình hướng đối tượng.