Ngày càng có nhiều ý kiến cho rằng nên dạy trẻ em lập trình ngay ở cấp tiểu học hoặc... sớm hơn. Vì sao?
Trong buổi tiếp chuyện công dân qua Google Hangouts ngày 14/2/2013, Tổng thống Mỹ Barack Obama tỏ ý tán thành việc dạy kỹ năng lập trình cơ bản trong trường học: "Tôi mong trường học bảo đảm cho học sinh biết cách dùng máy tính để sáng tạo, chứ không chỉ thụ hưởng". Trong ý tưởng đó, Tổng thống Obama cũng đề nghị dạy thiết kế đồ họa trong trường trung học để học sinh có thêm cơ hội nghề nghiệp, dù không theo đuổi bốn năm đại học. Obama kể về cuộc trò chuyện của ông với người sáng lập Facebook - Mark Zuckerberg. Điều gây ấn tượng cho ông là Zuckerberg tự học lập trình từ bé vì muốn tạo ra trò chơi điện tử.
Tổng thống Mỹ Barack Obama tiếp chuyện với nhiều công dân qua Google Handouts (14/2/2013).
Tống thống Obama chỉ nêu ý kiến và đề nghị, việc triển khai nội dung giảng dạy mới tùy thuộc vào sự vận hành "tự động" của xã hội Mỹ nhưng ít ra, những người ủng hộ việc dạy lập trình trong nhà trường có được sự đồng tình của người nhiều quyền lực nhất nước Mỹ.
Vì sao trẻ em nên học lập trình? Mitch Resnick - người khởi xướng dự án xây dựng công cụ lập trình Scratch dành cho trẻ em tại MIT Media Lab - giải thích: "Trẻ em học được những nguyên lý cơ bản của việc thiết kế, học được cách thử nghiệm ý tưởng mới, học được cách phân chia ý tưởng phức tạp thành những phần việc đơn giản, học được cách hợp tác với người khác để thực hiện dự án, học được cách tìm và sửa lỗi khi kết quả không được như ý, tập được tính kiên trì khi đối mặt với khó khăn. Ngày nay, đó không chỉ là những kỹ năng cần thiết cho việc lập trình, mà còn cần thiết cho nhiều hoạt động khác".
Theo nhà bình luận công nghệ Wendy Boswell (Công ty Intel), lập trình máy tính không phải là mục tiêu tự thân, mà là phương tiện để có hiểu biết nền tảng về công nghệ, là điều thiết yếu giống như khả năng đọc và viết:
"Việc lập trình tự nó không phải là mục tiêu mà chúng ta muốn trẻ em hướng đến, tự nó không phải là phép mầu. Chúng ta dạy trẻ em lập trình để bắc chiếc cầu đến những điều lớn hơn nhiều.
Một khi bạn học cách lý luận và hiểu được lô-gích trong hoạt động của sự vật, não của bạn được huấn luyện để luôn tìm lô-gích, bạn sẽ có khả năng tiếp thu công nghệ trong nhiều lĩnh vực. Đó là tác nhân làm thay đổi cuộc sống. Khả năng đọc và viết là nền tảng cho những bước tiến vượt bậc trong văn hóa, khả năng tiếp thu công nghệ có vai trò quan trọng hệt như vậy.
Việc lập trình giúp trẻ em thấy rằng những ý tưởng của chúng là một phần của quá trình lớn hơn, nhằm làm cho ý tưởng manh nha ban đầu cuối cùng trở thành sản phẩm hoàn chỉnh. Trẻ em không chỉ làm quen với một dự án lập trình, mà với dự án bất kỳ. Cũng lô-gích đó, cũng dòng suy nghĩ đó. Tôi muốn nhấn mạnh rằng học lập trình là để tạo ra tư duy lô-gích. Đó là kỹ năng quan trọng, cực kỳ cần thiết cho cuộc sống, nhưng lại hao mòn dần trong hầu hết hệ thống giáo dục".
Boswell nhắc đến tư duy lô-gích (logical thinking). Có ý kiến nhấn mạnh kỹ năng phân tích (analytic skill). Cách nói khác nhau nhưng thực sự diễn đạt cùng một nội dung, diễn đạt cùng một mong muốn trẻ em có thói quen suy nghĩ chặt chẽ, từ đó có khả năng hành động để tạo dựng, để thay đổi. Nói cho gọn, dạy trẻ em lập trình nghĩa là dạy trẻ em suy nghĩ chặt chẽ.
Dạy cho trẻ em lập trình như thế nào? Thật khó hình dung việc dạy trẻ em viết những dòng mã lệnh như một lập trình viên. Thực ra, có nhiều cách để dạy trẻ em lập trình, hầu như tất cả đều dựa vào trò chơi. Marshall Brain - người sáng lập trang mạng thông tin công nghệ HowStuffWorks.com chia sẻ kinh nghiệm của một người cha từng dạy các con lập trình:
"Là người cha của bốn đứa bé, tôi đã thử dạy con lập trình với nhiều cách tiếp cận khác nhau. Điều cần lưu ý trước tiên là mỗi đứa bé đều khác biệt. Có bé học đọc và viết rất dễ dàng. Có bé dễ dàng học được các kỹ năng phân tích cơ bản. Những bé như vậy thường có ưu thế khi học lập trình. Khi bạn thử dạy bé lập trình lần đầu, có thể bé chẳng quan tâm chút nào. Không sao cả, bạn chờ vài tháng và thử lại, hoặc dùng cách khác.
Điều thứ hai bạn cần lưu ý là kỹ năng phân tích thực sự thường không hình thành trước tuổi 11, 12 hoặc 13. Với các bé trước tuổi đó, bạn đừng mong thu được kết quả có tính đột phá. Thử dạy cho các bé năm, sáu tuổi lập trình, bạn sẽ có rất nhiều chuyện tức cười.
Bạn nên bắt đầu với vài trò chơi. Có ba trò chơi mà các bé đặc biệt thích thú: Magic Pen, Fantastic Contraption và Auditorium. Nếu tìm trên mạng, bạn có thể thấy có nhiều trò chơi "giải quyết vấn đề" giống như ba trò chơi vừa kể.
Tiếp theo, bạn có thể chọn trò chơi Light-Bot, một trò chơi rất tốt để dạy kỹ năng lập trình cơ bản. Tôi thích Light-Bot. Light-Bot có thể thu hút các bé bảy, tám tuổi chơi hàng giờ. Trò chơi Light-Bot gợi nhớ đến ngôn ngữ lập trình LOGO dành cho trẻ em.
Một người bạn của tôi giới thiệu một trò chơi bổ ích khác, gọi là MindRover: The Europa Project.
Một người bạn khác của tôi giới thiệu dịch vụ miễn phí RoboMind giúp trẻ em học lập trình rô-bốt mô phỏng.
Bạn cũng có thể chọn công cụ lập trình miễn phí dành cho trẻ em của MIT, gọi là Scratch. Các cháu nhà tôi đã chơi với Scratch được vài ngày.
Nếu các bé nhà bạn rất mê trò chơi điện tử, bạn thử cho các bé làm quen với GameMaker. GameMaker là công cụ khá tinh tế. Tôi không dùng GameMaker để giới thiệu về lập trình.
Với các bé từ 10 đến 12 tuổi, bạn nên thử giới thiệu ngôn ngữ lập trình Python. Có nhiều sách điện tử về Python được viết cho trẻ em ở lứa tuổi đó. Bạn cũng có thể cho bé làm quen với Codecademy.com.
Con trai 13 tuổi của tôi đã làm quen với các bài giảng miễn phí về lập trình của Đại học Stanford. Lúc đầu, chúng tôi phải khuyến khích cháu thực hiện các bài tập, đặt ra thời hạn hoàn thành. Bây giờ cháu đã rất mê, chúng tôi không cần nhắc nhở gì nữa. Cháu đang làm công việc của một lập trình viên "thực thụ".
Nếu bạn quan tâm đến việc dạy lập trình cho con, dùng Google để tìm hiểu, bạn sẽ ngạc nhiên phát hiện rất nhiều phương tiện khác nhau. Bạn thử cho con mình làm quen thứ này, thứ khác, để xem bé thích thứ nào. Việc này có thể đem đến nhiều niềm vui".
Gia đình Marshall Brain.
Có rất nhiều phương tiện để dạy trẻ em lập trình, thích hợp cho các lứa tuổi khác nhau. Nên bắt đầu từ tuổi nào? Tynker - trang mạng miễn phí dạy trẻ em lập trình - thực hiện một cuộc thăm dò nhỏ trong hiệp hội ISTE (International Society for Technology in Education) trên mạng xã hội LinkedIn (tháng 3/2013) với câu hỏi: "Nên bắt đầu dạy lập trình cho trẻ em từ tuổi nào?".
Kết quả cho thấy có đến 45% số người được hỏi cho rằng nên dạy trẻ em lập trình ở tuổi tiểu học. Nhiều ý kiến khẳng định dạy ngôn ngữ lập trình cũng quan trọng như dạy ngôn ngữ bình thường, càng sớm càng tốt. Có 29% số người được hỏi cho rằng nên bắt đầu từ... bậc mầm non (kindergarten). Có ý kiến khẳng định cụ thể: nên dạy lập trình từ 8 tuổi.
Những người chống lại kết luận như vậy (chỉ ủng hộ việc dạy lập trình ở bậc trung học) bày tỏ mối quan ngại nhất định.
Mỗi quan điểm có tính hợp lý nhất định. Tuy nhiên, hình dung thế nào là "dạy lập trình" không chắc đã rõ ràng như nhau ở mỗi người được hỏi. Cách làm thường quan trọng hơn "nguyên tắc", vì "nguyên tắc" có thể trở nên hiệu quả hoặc ngược lại tùy thuộc cách làm. Thật đơn giản, "thu hút" rất khác với "ép uổng", "nên học" rất khác với "phải học".
NGỌC GIAO (theo echip)
Tải BigKool về máy tính
Trả lờiXóa