Ngôn ngữ máy tính cho mọi lứa tuổi

Một người mẹ viết cho tôi: “Chúng tôi có ba con tuổi 4, 6, và 8. Chúng tôi muốn chúng học ngôn ngữ máy tính nhưng không biết ngôn ngữ nào là tốt nhất cho trẻ em? Bạn tôi nói rằng còn quá sớm cho trẻ nhỏ học ngôn ngữ máy tính. Với chúng tốt hơn cả là học âm nhạc hay ngoại ngữ như tiếng Anh hay tiếng Trung. Xin thầy lời khuyên.”

 

Đáp: “Ngày nay Đọc, Viết và Số học là KHÔNG đủ. Trẻ em cần học ngôn ngữ máy tính vì chúng cần kĩ năng này ở trường và ở việc làm tương lai. Có những ngôn ngữ khớp với trẻ em ở những độ tuổi nào đó (như, hoạt hình, trò chơi, vẽ, v.v.) và có những ngôn ngữ được thiết kế để làm những thứ phức tạp hơn khi chúng lớn lên. Điều quan trọng với bố mẹ là đối xử với việc học ngôn ngữ máy tính như “trò vui” và là các hoạt động liên tục, không phải là cái gì đó bị áp đặt lên chúng. Nếu con bạn quan tâm tới học cách viết mã, cứ để cho chúng bắt đầu.

Theo ý kiến của tôi, với trẻ nhỏ 4 tới 6 tuổi, bạn có thể bắt đầu bằng Scratch hay các ngôn ngữ lập trình trực quan. Đây có lẽ là ngôn ngữ lập trình dễ nhất để học vì nó dạy các khái niệm cơ bản, như giải quyết vấn đề và tư duy phương án. Đứa trẻ có thể kéo và thả các khối mã để làm hoạt hình các nhân vật, tạo ra trò chơi, và xây dựng apps. Scratch không dạy cú pháp như các ngôn ngữ khác nhưng cung cấp một nền tảng vững chắc về các nguyên lí lập trình. Scratch là đơn giản, dễ học, có thể làm cho trẻ nhỏ háo hức học cách viết mã. Trẻ em có thể chơi với Scratch trong thời gian lâu khi chúng tạo ra các câu chuyện, trò chơi và vẽ hoạt hình mà chúng có thể chia sẻ với bạn bè.

Với trẻ em lớn hơn, độ tuổi 8 tới 12 JavaScript có thể là ngôn ngữ lập trình nền tảng tốt để học. Nếu chúng đã biết Scratch, rất dễ học JavaScript. Vì nó là ngôn ngữ hướng đối tượng, trẻ em sẽ học nhiều hơn về cú pháp và qui tắc thiết kế để tạo ra các ứng dụng web mặt tiền. Đây là chỗ tính sáng tạo bắt đầu bước vào khi trẻ em có thể thiết kế ra website đẹp với hình ảnh và hoạt hình trong vài ngày. Ngôn ngữ này là rất phổ biến trong những người trẻ khắp thế giới và nó có thể giúp mở ra nhiều cơ hội nghề nghiệp trong tương lai.

Đến lúc trẻ nhỏ vào trường trung học, chúng nên học Java. Đây là một trong những ngôn ngữ lập trình được dùng rộng rãi nhất trên thế giới. Phần lớn việc làm trong công nghiệp công nghệ đều đang dùng Java cho nên điều quan trọng với học sinh là học và làm chủ ngôn ngữ này trước lúc họ vào đại học. Java cho học sinh nhiều qui tắc về các khái niệm lập trình cần tuân theo. Chẳng hạn, họ phải xác định kiểu biến để cho mã của họ là ổn định, đổi qui mô được và bảo trì được.

Nếu học sinh có kĩ năng tốt trong ngôn ngữ lập trình Java, họ có thể học Python dễ dàng vì có nhiều tương tự giữa hai ngôn ngữ này. Các công ti như Google, Facebook, Microsoft phần lớn dùng Python trong các ứng dụng khoa học của họ. Python có nhiều ứng dụng và đủ phức tạp trong việc tạo ra những trò chơi video phức tạp, học máy, trí tuệ nhân tạo, và các dự án khoa học và tính toán số.

Tôi tin mọi sinh viên đại học, bất kể lĩnh vực học tập họ chọn, đều phải biết cả Java và Python vào lúc họ tốt nghiệp. Ngày nay hai ngôn ngữ này đang được dùng trong hầu hết mọi lĩnh vực, mọi việc làm và chúng sẽ là yêu cầu cho nhiều việc làm tương lai.

Không có gì sai trong học ngôn ngữ lập trình máy tính tại lứa tuổi sớm. Tuy nhiên, các bố mẹ nên để con họ chọn điều chúng thích thú. Nếu chúng thích âm nhạc, để chúng học âm nhạc. Nếu chúng thích ngoại ngử, để chúng học tiếng Anh hay tiếng Pháp và nếu chúng thích lập trình máy tính, để chúng học Scratch hay JavaScript. Điều quan trọng với các bố mẹ là khuyến khích, hỗ trợ và để con cái họ tìm ra mối quan tâm riêng của chúng. Bằng việc ép buộc chúng học cái gì đó chúng không thích sẽ tạo ra sợ môn học đó và điều đó sẽ gây ra nhiều hại hơn là tốt.

 

—English version—

 

Computer Languages for all ages

A mother wrote to me: “We have three children aged 4, 6, and 8. We want them to learn a computer language but do not know which one is the best for children? My friends said that it is too early for young children to learn a computer language. It is better for them to learn music or foreign languages such as English or Chinese. Please advise.”

 

Answer: “Today Reading, Writing, and Arithmetic are NOT enough. Children need to learn a computer language because they will need this skill in school and future jobs. There are languages that fit children at certain ages (i.e., Animation, games, drawing etc.) and there are languages designed to do more complex things as they are growing up. It is important for parents to treat learning computer languages as a “Fun” and continuous activities, not something to be forced on them. If your children are interested in learning how to code, just let them started.

In my opinion, for a young child at age 4 to 6, you may start with Scratch or other visual programming languages. This is probably the easiest programming language to learn because it teaches basic concepts, like problem-solving and alternative thinking. A child can drag and drop code blocks to animate characters, create games, and build apps. Scratch does not teach the syntax like other languages but it provides a solid foundation of programming principles. Scratch is simple, easy to learn, can get young children to get excited about learning how to code. Children can play with Scratch for a long time as they create stories, games and draw animations which they can share with friends.

For older children, age 8 to 12 JavaScript may be a good fundamental programming language to learn. If they already know Scratch, it is very easy to learn JavaScript. Since it is an object-oriented language, children will learn more about syntax and design rules to create front-end web applications. This is where creativity begins to come in as children can design a beautiful website with pictures and animation within a few days. This language is very popular among young people all over the world and it could help open more job opportunities in the future.

By the time young children go to high school, they should learn Java. This is one of the most widely used programming languages in the world. Most jobs in the technology industry are using Java so it is important for students to learn and master this language by the time they go to college. Java gives students more rules on programming concepts to follow. For example, they must specify a variable type so their code is stable, scalable and maintainable.

If students have strong skills in Java Programming language, they can learn Python easily because there are several similarities between these two languages. Companies like Google, Facebook, Microsoft use Python mostly in their scientific applications. Python has many applications and sophisticated enough to be used in the creation of complex video games, machine learning, artificial intelligence, and scientific and numeric computing projects.

I believe every college student, regardless of which field of study they choose,  must know both Java and Python by the time they graduate. Today these two languages are being used in almost every fields, every job and they will be  requirements for many future jobs.

There is nothing wrong to learn a computer programming language at an early age. However, parents should let their children choose what they are interested in. If they like music, let them learn music. If they like a foreign language, let them learn English or French and if they like computer programming, let them learn Scratch or JavaScript. It is important for parents to encourage, support and let their children find their own interest. By forcing them to learn something they do not like will create a fear of that subject and it will cause more harm than good.