Học ăn, học nói, học gói, học… code

47
Những người ủng hộ dạy trẻ lập trình từ nhỏ cho rằng lập trình cũng là một thứ ngôn ngữ, càng học sớm thì càng dễ tiếp thu. Ảnh: The Guardian
  • HOA KIM
  • 08.01.2020, 10:00

TTCT – Khi công nghệ, trí tuệ nhân tạo (AI) và tự động hóa được dự báo tiếp tục thống lĩnh thị trường việc làm thế giới trong 10 năm tới, đầu tư cho con cái làm quen với máy tính và các ngôn ngữ lập trình từ nhỏ dường như đã trở thành xu thế tất yếu của nhiều bậc cha mẹ trên thế giới. Nhưng đã có những lo ngại về hệ lụy của việc cho trẻ “trò chuyện” cùng máy tính trước khi kịp hoàn thiện kỹ năng giao tiếp với con người.

Lập trình (programming hay coding) là “viết” chương trình làm việc cho máy tính để thực hiện một nhiệm vụ nào đó thông qua một dãy các chỉ thị hay “lệnh” mà máy tính có thể hiểu được. Tất cả tiến bộ của khoa học máy tính, trong đó có AI, hệ điều hành, các phần mềm máy tính, trang web, hay mọi ứng dụng trên điện thoại thông minh, đều là sản phẩm của lập trình.

Hiểu lập trình nghĩa là hiểu nguyên lý vận hành căn bản nhất của không gian số và các sản phẩm điện tử hiện diện hằng ngày quanh ta.

Câu chuyện Trung Quốc

Vita – 8 tuổi, người Trung Quốc – mỗi tuần đều đăng nhập vào máy tính tại nhà ở Thượng Hải để tham gia một lớp học lập trình từ xa nhưng không phải trong vai trò người học, mà là giáo viên hướng dẫn.

Khi nhiều bạn bè đồng trang lứa còn đang tuổi ăn tuổi ngủ, Vita đã sở hữu một kênh chuyên cung cấp các bài giảng về lập trình do cậu tự quay với gần 60.000 người theo dõi và hơn 1 triệu lượt xem trên Bilibili, nền tảng chia sẻ video tương tự YouTube do Trung Quốc phát triển.

“Học trò” của cậu phần lớn là những trẻ em lớn tuổi hơn nhưng cũng có người trưởng thành, còn “giáo trình” là app học lập trình Swift Playgrounds do Apple phát triển.

“Lập trình không dễ cũng không khó, ít nhất là không khó như mọi người tưởng tượng” – Vita nói với AFP. Thi thoảng trong bài giảng của mình, thầy giáo “tí hon” với cặp kính cận dày cộp giả vờ làm sai một thao tác để minh họa những lỗi thường gặp cho các học trò. “Dạy người khác cũng là lúc tôi học những kiến thức mới” – Vita cho biết.

Vita được giới thiệu đến với lập trình vào năm lên 4 tuổi bởi cha cậu, một người không chuyên nhưng có hứng thú đặc biệt với khoa học và công nghệ. Cậu thuộc thế hệ trẻ em Trung Quốc được cha mẹ tạo điều kiện tiếp cận với máy tính và các ngôn ngữ lập trình từ rất sớm, trước cả khi bước vào lớp 1, với niềm tin rằng kỹ năng lập trình sẽ trở thành hành trang không thể thiếu trong thời đại mới, đặc biệt là khi chính quyền Bắc Kinh không giấu tham vọng đưa công nghệ trở thành mũi nhọn phát triển.

Những năm gần đây, Trung Quốc đã có những khoản đầu tư khổng lồ cho nghiên cứu phát triển khoa học robot và AI, trong đó có kế hoạch biến nước này thành “cường quốc AI” vào năm 2030 bằng cách đưa các khóa học lập trình vào chương trình giảng dạy phổ thông từ bậc tiểu học và trung học cơ sở. Quyển sách giáo khoa về AI đầu tiên của nước này được phát hành năm 2018, trong khi một số địa phương đã đưa lập trình thành một môn thi tuyển sinh đại học.

Những cha mẹ không có đủ kiến thức về lập trình để dạy con như cha của Vita thì có thể gửi con đến một trong vô số học viện lập trình đang mọc lên như nấm tại quốc gia tỉ dân, đáp ứng nhu cầu khổng lồ của các gia đình trung lưu muốn trang bị kỹ năng tốt nhất cho 
con cái.

Lập trình là một “ngôn ngữ”

Không chỉ Trung Quốc, nhiều quốc gia phát triển như Úc, Phần Lan, Ý và Anh cũng đã thiết kế và tích hợp môn lập trình vào chương trình giáo dục chính quy cho học sinh 5-16 tuổi. Nhiều nghiên cứu chỉ ra việc học lập trình từ nhỏ có lợi cho sự phát triển nhận thức và giúp tăng cường khả năng hợp tác, giao tiếp ở trẻ. Đây là những kỹ năng có lợi về lâu dài khi trưởng thành, bất kể sau này đứa trẻ đó có làm việc liên quan trực tiếp đến máy tính hay không.

Lập trình còn giúp phát triển tư duy logic ở trẻ vì đòi hỏi khả năng tập trung giải quyết một vấn đề hay một “bài toán” cụ thể bằng cách tiếp cận, đánh giá nó từ nhiều góc độ khác nhau để tìm ra hướng giải quyết hiệu quả nhất. Qua lập trình, trẻ còn học cách thử nghiệm nhiều phương án khác nhau và tìm ra điểm sai hoặc chưa hợp lý của từng phương án để đi đến kết quả 
cuối cùng.

Những người ủng hộ dạy trẻ lập trình từ nhỏ cho rằng lập trình cũng là một thứ ngôn ngữ, càng học sớm thì càng dễ tiếp thu. Cơ quan lập pháp của bang Maryland (Mỹ) thậm chí đang cân nhắc một dự luật cho phép trường học sử dụng kết quả môn lập trình thay thế môn ngoại ngữ khi xét tốt nghiệp đối với học sinh cấp III. Một dự luật tương tự đang được một số thượng nghị sĩ Mỹ thuộc cả 2 đảng Cộng hòa và Dân chủ đề xuất lên Quốc hội nước này xem xét.

Ngày nay, có nhiều ngôn ngữ lập trình như Scratch, Python, Ruby và Go được thiết kế thân thiện với người mới bắt đầu, ngay cả trẻ nhỏ cũng có thể học được mà không gặp nhiều khó khăn. Ngoài ra còn có những trại hè lập trình đã bắt đầu xuất hiện ở nhiều nước, trong đó có Việt Nam, hoặc những công cụ học lập trình online hoàn toàn miễn phí như trang CodeAcademy.com do Viện Công nghệ Massachusettes (Mỹ) phát triển giúp việc học lập trình chưa bao giờ dễ dàng và tiện lợi đến thế.

Trong thập kỷ 2020, lập trình được dự đoán không còn là kỹ năng dành riêng cho “dân IT”, mà trở thành kiến thức đại chúng bất kỳ ai cũng có thể, và nên, tự “phổ cập” như với tiếng Anh hay tin học văn phòng.

Học ăn, học nói, học gói, học... code

Những hoài nghi

Thế nhưng không phải ai cũng ủng hộ dạy trẻ em lập trình từ quá sớm. Cây bút công nghệ Adrienne So của trang WIRED là một trong số đó.

Là người tiếp cận thường xuyên với những sản phẩm công nghệ được quảng cáo giúp trẻ từ 3 tuổi làm quen với lập trình, So háo hức mua những con robot có thể được “lập trình” bằng iPad – thông qua giao diện sử dụng những hình khối màu sắc bắt mắt thay cho các đoạn mã lệnh – để thực hiện những thao tác đơn giản như leo lên tường hoặc vẽ tranh.

So cho biết đã “vỡ mộng” sau 2 năm vật lộn để khiến con gái 5 tuổi hứng thú với những món đồ chơi công nghệ đắt tiền và rút ra lời khuyên dành cho các bậc cha mẹ ôm mộng dạy con học lập trình: đừng phí thời gian.

“Lập trình không phải ngôn ngữ, mà là một kỹ năng – So viết cho WIRED – Bạn không thể dạy một đứa trẻ mới biết đi tiếng Anh, tiếng Đức và (ngôn ngữ lập trình) Scratch và gọi đó là đứa trẻ biết 3 thứ tiếng”.

So cho biết hoàn toàn đồng cảm với những bậc cha mẹ đang sốt ruột muốn con mình biết lập trình càng sớm càng tốt. Khi mà hình ảnh những tỉ phú công nghệ 9X vẫn được tô vẽ thật lấp lánh và hấp dẫn trong mắt truyền thông thì cha mẹ vẫn còn lý do để tự an ủi rằng mình đang làm điều tốt cho con cái khi ép chúng biết viết app từ lúc lên 5.

Tuy nhiên, theo So, dạy con biết lập trình trước cả khi chúng biết đọc là không cần thiết bởi những câu lệnh trong lập trình không vận hành giống với ngôn ngữ tự nhiên. Khác với ngôn ngữ tự nhiên, ngôn ngữ lập trình không có chức năng biểu đạt thế giới quan, cảm xúc, mong muốn hay cách ta nhìn nhận bản thân mình như một 
con người.

Đối với máy tính, “không ném bóng” chỉ có nghĩa duy nhất là trái bóng không được ném đi. Nhưng khi bảo một đứa trẻ không được ném bóng, ta đang dạy chúng nhiều bài học khác nhau về cuộc sống, ví dụ như ném bóng vào mặt người khác là sai trái vì trái bóng ném đi có thể gây đau đớn cho đối phương.

“Những dòng lệnh máy tính không hoạt động theo cách đó – So đúc kết – Bạn không thể ra lệnh cho trẻ bằng ngôn ngữ C++ và hi vọng chúng trả về kết quả như ý”. Theo So, lập trình là một kỹ năng cần thiết và hữu ích, nhưng hoàn toàn có thể học khi trẻ đủ lớn thay vì cố gắng nhồi nhét từ tấm bé trước khi chúng kịp hoàn thiện kỹ năng ngôn ngữ tự nhiên.

Nhà phát triển phần mềm Jeff Atwood – người đồng sáng lập diễn đàn hỏi đáp về lập trình nổi tiếng Stack Overflow – từng nhận xét trên trang blog cá nhân năm 2012 rằng lập trình, như mọi kỹ năng khác, chỉ thật sự phát huy tầm quan trọng khi đúng người, hợp cảnh.■

Thị trường giáo dục lập trình ở Trung Quốc được định giá 7,5 tỉ nhân dân tệ (gần 25.000 tỉ đồng) năm 2017, được dự báo tăng trưởng lên mức 37,7 tỉ nhân dân tệ (hơn 125.000 tỉ đồng) vào năm 2020, theo số liệu của Công ty nghiên cứu thị trường Analysys. Tại một cơ sở đào tạo lập trình tư nhân ở thủ đô Bắc Kinh, học viên nhỏ tuổi nhất mới chỉ… lên 3.

Đối với các học viên dưới 6 tuổi, trung tâm cung cấp những khóa học được thiết kế đặc biệt để các em luyện tư duy lập trình thông qua các hoạt động nhẹ nhàng như lắp ghép mô hình đồ chơi Lego. Theo Pan Gongbo – giám đốc trung tâm, trẻ 6-7 tuổi đã có đầy đủ năng lực để học lập trình song song với phát triển nhận thức. “Đừng đánh giá thấp tốc độ học hỏi của trẻ nhỏ. Trong một số khóa học, trẻ em thậm chí còn tiếp thu nhanh hơn người lớn” – Pan cho biết.