Trích đăng sáng kiến của tác giả: Nguyễn Văn Nghiêm
Phần 1. Đặt vấn đề
Máy tính và phần mềm máy tính đang làm thay đổi mọi thứ trong đời sống xã hội, thay đổi cả cơ hội nghề nghiệp, cách nghĩ, cách làm, cách giải quyết các vấn đề trong cuộc sống. Theo số liệu của Microsoft công bố thì hơn 50% các cơ hội nghề nghiệp hiện nay đòi hỏi các kỹ năng công nghệ. Các chuyên gia dự báo rằng tỉ lệ này sẽ tăng lên 77% vào cuối thế kỷ này. Báo cáo nghiên cứu mới nhất về kỹ năng tương lai (Future of Skills 2019) của mạng xã hội nghề nghiệp Linkedin chỉ ra 10 kỹ năng nghề nghiệp cần thiết ở Châu Á Thái Bình Dương đều đòi hỏi tư duy máy tính như: trí tuệ nhân tạo, Blockchain, tự động hóa, marketing mạng xã hội… Báo cáo có nhận định “Những kỹ năng này hiện nay có thể còn mới mẻ nhưng có khả năng sẽ được áp dụng trên diện rộng trong tương lai”. Để đáp ứng nhu cầu nguồn nhân lực tương lai, học sinh hiện nay không chỉ cần học về cách sử dụng công nghệ mà còn cần tìm hiểu và học hỏi về lập trình nói riêng và khoa học máy tính nói chung để tăng khả năng sáng tạo, giải quyết vấn đề, tư duy logic và nhiều các kỹ năng hữu ích khác cho tương lai.
Khoa học máy tính không còn là kiến thực chuyên ngành mà đã trở nên kiến thức nền tảng đối với công dân thời đại số. Nhiều người còn lầm tưởng rằng học Khoa học máy tính là chỉ học về công nghệ – Thực chất, khoa học máy tính nghiên cứu về tính toán, về những gì có thể được tính toán và cách thức tính toán. Học về khoa học máy tính giúp hình thành tư duy logic, giải quyết vấn đề và sáng tạo – các thành tổ để hình thành tư duy máy tính.
Theo Simon Humphreys (Computational thinking – A guide for teacher, 2015), Tư duy máy tính (Computational thinking) là một quá trình nhận thức hoặc thực hiện các thao tác trí tuệ (thought) liên quan đến lập luận logic (logical reasoning) để giải quyết vấn đề được đặt ra. Tư duy máy tính bao gồm 5 tư duy thành phần (hoặc 5 khả năng tư duy) gồm: (1) Tư duy thuật toán (algorithmic thinking), (2) Tư duy phân rã (decomposition), (3) Tư duy khái quát khóa dựa trên mẫu (patterns based generalisations), (4) Tư duy trừu tượng (abstractions), và (5) Tư duy lượng giá/đánh giá (evaluation). Tư duy máy tính bóc tách các mối quan hệ để trích chọn các đặc trưng, biểu đạt ngắn gọn vấn đề hoặc mô hình hoá các khía cạnh quan trọng của vấn đề, làm cho vấn đề đó dễ khai báo và có thể xử lí được. Tư duy máy tính sử dụng phương pháp trừu tượng hoá, cách phân rã một nhiệm vụ, một thiết kế lớn và phức tạp thành những vấn đề nhỏ, đơn giản hơn để có thể đưa ra các thuật toán giải quyết chúng.
Tư duy máy tính không đồng nghĩa với tư duy lập trình hay lập trình (programing). Nhưng lập trình – tạo ra chương trình máy tính – chính là cách hiệu quả để hình thành và phát triển tư duy máy tính. Bởi lập trình phải có tư duy thuật toán (algorithmic thinking) và khả năng diễn đạt cho máy tính hiểu và thực hiện thuật toán (coding) đó chính là những thành tố cốt lõi của tư duy khoa học máy tính.
Chương trình giáo dục phổ thông môn Tin học ban hành kèm Thông tư số 32/2018/TT-BGDĐT ngày 26 tháng 12 năm 2018 của Bộ Giáo dục và Đào tạo nêu rõ: “Nội dung giáo dục tin học gồm ba mạch kiến thức: Học vấn số hoá phổ thông, Công nghệ thông tin và truyền thông, Khoa học máy tính”. “Định hướng Khoa học máy tính đáp ứng mục đích đi sâu vào hệ thống máy tính, chú trọng phát triển tư duy máy tính, khả năng tìm tòi, khám phá, phát triển các phần mềm và dịch vụ trên máy tính. Các chủ đề Khoa học máy tính tập trung trang bị cho học sinh nguyên lí biểu diễn và xử lí thông tin, kiến thức về thuật toán và lập trình; một số nguyên tắc thiết kế mạng máy tính.”
Cùng với những khẳng định nêu trên, thực tiễn cuộc sống cho thấy vai trò đặc biệt quan trọng của việc trang bị và phát triển tư duy máy tính cho học sinh – lực lượng lao động tương lai trong thời đại cách mạng công nghiệp lần thứ tư và toàn cầu hoá. Sẽ là rất thiệt thòi nếu học sinh chúng ta không được tiếp cận và rèn luyện.
Chương trình Tin học THPT nước ta hiện nay có một số hạn chế cần được khác phục. Trong chương trình Tin học lớp 10, học sinh được học về bài toán, thuật toán với thời lượng rất ít (6 tiết). Bên cạnh đó, học sinh lớp 10 được học thuật toán nhưng chưa được học ngôn ngữ lập trình nên việc mô tả thuật toán và tự kiểm chứng tính đúng đắn của thuật toán gặp nhiều khó khăn. Đây cũng là trở ngại lớn đối với giáo viên khi dạy thuật toán và giúp học sinh phát triển tư duy thuật toán – một thành tố quan trọng của tư duy khoa học máy tính.
Ở lớp 11, các em được học lập trình với ngôn ngữ lập trình Pascal với thời lượng 52 tiết (rất ít trường sử dụng C++ thay cho Pascal). Đã có nhiều nghiên cứu chỉ ra những hạn chế của việc dạy lập trình Pascal trong chương trình Tin học lớp 11, trong đó có nghiên cứu của Nguyễn Thị Yến (2015) đã chỉ ra một số hạn chế trong của Pascal rất sát với thực tiễn dạy học hiện nay như: Giao diện chương trình không thân thiện, dễ gây sự nhàm chán cho học sinh; không có tính thực tiễn, nên không gây hứng thú cho học sinh; rườm rà, không có IDE giúp bắt lỗi cú pháp nhanh chóng.
Ở chương trình lớp 12 các em chuyển sang học về khái niệm cơ sở dữ liệu và sử dụng phần mềm MS Access – một phần mềm quả trị CSDL trong bộ tin học văn phòng của Microsoft. Nhìn tổng thể cho thấy chương trình Tin học THPT hiện nay chưa đáp ứng được vấn đề hình thành và phát triển tư duy máy tính cho học sinh.
Như vậy, làm thế nào để tạo hứng thú trong học thuật toán và lập trình từ đó hình thành và phát triển tư duy máy tính cho học sinh?
Phần 2: Phương pháp tạo hứng thú học tập môn tin học và phát triển tư duy máy tính cho học sinh trung học phổ thông
Xem tiếp tại đây