MỚI NHẤT!

Đọc nhanh >>

Lập trình không phải ngôn ngữ tự nhiên, đừng bao giờ ép trẻ học code từ quá sớm

29-12-2019 - 12:22 PM | Sống

Nhưng bạn thực sự không cần phải dạy con mình biết lập trình trước khi chúng có thể đọc. Đúng là lập trình đôi khi có cả văn bản, nhưng văn bản trong những dòng lệnh ấy không có chức năng giống với những gì mà các nhà ngôn ngữ học gọi là ngôn ngữ tự nhiên.

Adrienne So là một reviewer công nghệ cho trang WIRED. Như một bậc cha mẹ đang sống trong thời đại số, cô ấy từng nghĩ thật tuyệt vời nếu đứa con 3 tuổi của mình biết lập trình. Và thế là Adrienne mua cho cô bé đủ thứ đồ chơi thông minh, những con robot có thể được lập trình đơn giản bằng iPad, để đi theo đường thẳng, đường gấp khúc, thậm chí vẽ lên những họa tiết toán học đệ quy.

Adrienne cũng thấy các lớp học STEM, các trại hè lập trình đang ngày càng mở cửa cho những đứa trẻ nhỏ tuổi hơn. Cô chia sẻ một sự đồng cảm với các bậc phụ huynh, những người lo lắng rằng con mình sẽ tụt hậu so với con nhà người ta nếu không biết lập trình trước 5 tuổi.

Nhưng cũng sau khoảng thời gian đó, Adrienne từ bỏ ý định dạy con lập trình. Suy cho cùng, những dòng code không phải là một dạng ngôn ngữ tự nhiên. Bạn sẽ không thể dạy một đứa trẻ những bài học sâu sắc trong cuộc sống bằng những dòng lệnh C++.

Có những lý do để không cần và không nên dạy trẻ lập trình sớm, dưới đây chia sẻ của Adrienne về kinh nghiệm của chính cô:

Lập trình không phải ngôn ngữ tự nhiên, đừng bao giờ ép trẻ học code từ quá sớm - Ảnh 1.

Từ khi còn là một đứa trẻ nghiện máy tính, tôi đã bị ám ảnh bởi Hacker. Bộ phim đình đám năm 1995 theo chân Dade Murphy, một học sinh trung học đã tập hợp được một nhóm những người bạn am hiểu máy tính. Cùng với nhau, họ đã vạch trần được kế hoạch tham ô bất chính của một tin tặc lừa đảo nhắm vào siêu tập đoàn Khoáng sản Elingson.

Bộ phim là lần đầu tiên trong đời tôi thấy được thông điệp: Sẽ thật tuyệt vời khi trở nên thông minh. Và nó vẫn còn để lại một ấn tượng sâu đậm trong tâm trí tôi đến tận bây giờ. Thi thoảng tôi vẫn muốn hét lên: "Hãy hack cả hành tinh này nào!".

Hacker lấy bối cảnh từ năm 1988, khi Murphy 11 tuổi. Cậu bé gặp một rắc rối khi đã tấn công và đánh sập 1.017 hệ thống máy tính chỉ trong một ngày, khiến chứng khoán ở Sở giao dịch New York giảm tới 7 điểm. Gia đình cậu bé đã bị phạt 45.000 USD, riêng Murphy bị quản thúc và cấm sử dụng máy tính cho đến năm 18 tuổi.

Nhưng đó là một câu chuyện được xây dựng từ hơn 4 thập kỷ trước. Hình phạt tương tự vào năm 2019 có thể bị coi là ngược đãi trẻ em. Ngày nay, chúng ta coi lập trình là một kỹ năng quan trọng mà trẻ cần phải học. Biết đọc biết viết trên giấy là chưa đủ, nhiều bậc phụ huynh còn muốn con mình biết đọc biết viết trên máy tính nữa.

Ở Mỹ, các nhà lập pháp tại Maryland và Florida lập luận rằng vì lập trình sử dụng ngôn ngữ máy tính, nên nó được coi là một môn ngoại ngữ cần thiết trước khi tốt nghiệp trung học. Mở rộng logic này, chúng ta tin rằng càng cho những đứa trẻ tiếp xúc sớm với lập trình, chúng càng trở nên thông thạo hơn.

Lập trình không phải ngôn ngữ tự nhiên, đừng bao giờ ép trẻ học code từ quá sớm - Ảnh 2.

Chúng ta tin rằng càng cho những đứa trẻ tiếp xúc sớm với lập trình, chúng càng trở nên thông thạo hơn.

Là người kiểm tra thiết bị cho Phòng thí nghiệm Gadget của WIRED, tôi đã nhìn thấy điều đó ngay từ đầu. Ngập tràn các thiết bị được làm ra để dạy cho những đứa trẻ, ngày càng trẻ biết lập trình. Những con robot Osmo, Root iRobot cho phép những đứa trẻ 3 tuổi di chuyển những khối màu trên màn hình iPad để tạo ra những chương trình đầu tiên trong đời, điều khiển những con robot vẽ hình hoặc đi trên tường.

Trong suốt hai năm qua, tôi cũng đã cố gắng hấp dẫn đứa con gần 5 tuổi của tôi bằng những thứ đồ chơi này. Nhưng chân thành mà nói, tôi muốn khuyên bạn: Không cần phải làm vậy. Lập trình không phải là một ngôn ngữ, nó là một kỹ năng. Bạn không thể mong đợi một đứa trẻ mới biết đi thành tạo cả ba thứ ngôn ngữ: Tiếng Anh, Tiếng Đức và những thứ đồ chơi lập trình ấy cùng một lúc.

Tôi chắc chắn có thể đồng cảm với những bậc cha mẹ đang lo lắng với thời đại, rồi quyết tâm ép con cái họ biết lập trình càng sớm càng tốt. Khi tấm gương của một lập trình viên thành công trở thành một triệu phú năm 20 tuổi được dựng lên, họ rất dễ nghĩ rằng mình đang khiến con mình bị tụt hậu nếu đến 5 tuổi mà đứa bé vẫn chưa tạo ra được một ứng dụng điện thoại.

Lập trình không phải ngôn ngữ tự nhiên, đừng bao giờ ép trẻ học code từ quá sớm - Ảnh 3.
Lập trình không phải ngôn ngữ tự nhiên, đừng bao giờ ép trẻ học code từ quá sớm - Ảnh 4.

Ngập tràn các thiết bị được làm ra để dạy cho những đứa trẻ, ngày càng trẻ biết lập trình.

Sử dụng đồ chơi để dạy các kỹ năng toán học và kỹ thuật cũng từng là một ý tưởng như vậy. Vào những năm 1960, Seymour Papert, một nhà toán học và nhà khoa học máy tính tại MIT đã lý luận rằng ông có thể khiến trẻ em thích thú với hình học trong khi chơi đồ chơi.

Vì vậy, Papert đã thiết kế ra Logo, một ngôn ngữ lập trình thân thiện với trẻ em có thể giúp chúng điều khiển một robot rùa vẽ ra những hình đệ quy đẹp mắt. Artie 3000, một con robot mà tôi đã thử cho con gái tôi chơi, là hậu duệ trực tiếp của robot rùa đó.

Nhưng bạn thực sự không cần phải dạy con mình biết lập trình trước khi chúng có thể đọc. Đúng là lập trình đôi khi có cả văn bản, nhưng văn bản trong những dòng lệnh ấy không có chức năng giống với những gì mà các nhà ngôn ngữ học gọi là ngôn ngữ tự nhiên.

Ngôn ngữ tự nhiên không chỉ nói lên sự thật, chúng còn thể hiện cách chúng ta hiểu thế giới, thể hiện cảm xúc và mong muốn của chúng ta, và cả cách chúng ta nghĩ về bản thân mình khi là một con người.

Chẳng hạn khi một đứa trẻ ném bóng lung lung trong nhà, bạn sẽ bảo đứa trẻ không được ném bóng nữa, kèm với đó là hàng ngàn bài học cuộc sống. Không phải chỉ là một câu lệnh "đừng ném bóng", bạn sẽ bảo đứa trẻ quả bóng có thể bay vào mặt một người, nó cũng sẽ bay đi rất nhanh khi nó vung tay như thế này, và nếu có một tiếng la phát ra, đứa trẻ biết nó sắp sửa gặp một rắc rối lớn.

Những dòng lệnh máy tính không hoạt động theo cách đó. Bạn không có thể xuất một lệnh trong C ++ cho một đứa trẻ mới biết đi, và yêu cầu nó trả ra kết quả thích hợp.

Lập trình không phải ngôn ngữ tự nhiên, đừng bao giờ ép trẻ học code từ quá sớm - Ảnh 5.

Ngay cả một bộ đồ chơi bằng gỗ cũng có thể dạy trẻ lập trình.

Bây giờ có rất nhiều trại hè, workshop dạy trẻ em lập trình với lời hứa rõ ràng rằng bạn có thể dạy những thứ cơ bản cho mọi người ở mọi lứa tuổi.

Không thể không nói rằng lập trình không quan trọng. Nhưng sự quan trọng của nó chỉ dễ được nhận thấy khi bạn đã lớn lên, trong khi loay hoay với một chương trình ở trung học, hoặc sửa một lỗi nhỏ trong công việc hàng ngày là một lập trình viên.

Như nhà phát triển phần mềm Jeff Atwood đã giải thích trong một bài đăng trên blog năm 2012: "Lập trình rất quan trọng… khi nó được đặt trong đúng bối cảnh, đối với một số người. Nhưng trên đời có rất nhiều kỹ năng cần phải học. Tôi sẽ không khuyến khích mọi người học lập trình hơn so với mong muốn của tôi, rằng mọi người cũng nên học về hệ thống ống nước".

Bất cứ khi nào tôi thấy một con robot lập trình dành cho trẻ mầm non, tôi lại nghĩ về lời khuyên của Atwood, và về một bộ phim tài liệu mà tôi đã xem về người huấn luyện ngựa Buck Brannaman. Trong bộ phim đó, Brannaman nói rằng người cha nuôi của mình đã dạy cho anh ta một bài học quan trọng trong cuộc sống: "Đến khi anh có thể đóng móng cho ngựa, anh sẽ có thể nuôi sống gia đình".

Lập trình ngày nay có vẻ như giống với việc đóng móng cho ngựa trong quá khứ, một kỹ năng mà xã hội hiện tại đang có nhu cầu, một kỹ năng có thể nuôi sống bạn. Nhưng ngay cả ở Montana vào những năm 1960, trông bạn sẽ khá ngớ ngẩn nếu cố gắng nhét một cái búa nhỏ vào tay con mình, khi nó mới chỉ đi chập chững.

Lập trình không phải ngôn ngữ tự nhiên, đừng bao giờ ép trẻ học code từ quá sớm - Ảnh 6.

Và đây là một phiên bản đồ chơi dạy ngôn ngữ lập trình cho trẻ, trước cả khi trẻ biết nói.

Vẫn có nhiều cách đơn giản để có thể giúp con bạn lớn lên và trở thành những lập trình viên giỏi. Đầu tiên, dạy chúng trở thành một người độc lập và đàng hoàng. Hãy để con bạn theo đuổi sở thích riêng của chúng, đấu tranh với các vấn đề của riêng chúng và đưa ra các giải pháp riêng của chúng.

Dade Murphy không phá hỏng những cỗ máy tính vì cha mẹ cậu bảo anh làm thế. Cậu bé ấy đã đánh sập những hệ thống ấy chỉ vì cậu ấy thích.

Hãy dạy những đứa trẻ tầm quan trọng của sự hợp tác. Thời kỳ hoàng kim của những tin tặc cô đơn thông minh đã qua. Nhiều nhà phát triển phần mềm hiện đang làm việc trong các nhóm lớn quy tụ nhiều tính cách khác nhau, đòi hỏi sự đồng cảm và tôn trọng.

Hãy nói với trẻ rằng tất cả chúng ta có thể học hỏi lẫn nhau. Cho chúng thấy rằng chúng sẽ không thể làm việc một mình, rằng những việc chúng làm và những lời chúng nói có thể gây ra hậu quả thực sự đối với bản thân chúng và cả những người khác.

Lập trình không phải ngôn ngữ tự nhiên, đừng bao giờ ép trẻ học code từ quá sớm - Ảnh 7.

Hãy bỏ máy tính sang một bên và dạy trẻ những bài học về cuộc sống.

Cuối cùng, dạy cho trẻ tính kiên nhẫn. Sự tập trung mà một đứa trẻ sử dụng để đặt một miếng đồ chơi gỗ hình vuông lên một khúc tròn khác có thể được dùng lại sau này, khi nó cuộn chuột qua hàng ngàn mã lệnh để tìm kiếm một lỗi cú pháp.

Đó mới là một phương pháp mà bạn dùng để hack cả hành tinh, một phương pháp tốt hơn chỉ chăm chăm dạy trẻ biết lập trình càng sớm càng tốt.

Tham khảo Wired

Theo Zknight

Trí thức trẻ

Trở lên trên