Skip to content

Học Khoa học và Công nghệ

Tôi đã nhận được nhiều emails từ học sinh hỏi về lời khuyên học khoa học và công nghệ. Nhiều người không chắc chắn liệu họ có thể học tốt trong các khu vực STEM không. Một vài học sinh viết: “Thầy có nghĩ em có thể học được lập trình máy tính cho dù em không giỏi toán không?” “Em không phải là học sinh giỏi ở trường trung học, em cần cái gì để thành công trong STEM?”

 

Tôi muốn trả lời cho mọi học sinh người vẫn đang hoài nghi về khả năng học tập của họ: “Nếu các em muốn theo đuổi nghề nghiệp trong STEM (khoa học, công nghệ, kĩ nghệ và toán học), thì tiến lên và học các lớp này. Không sợ hãi, chỉ đặt nỗ lực cao nhất của em vào và em sẽ học tốt. Điều đã xảy ra trong trường trung học đã qua rồi, và bây giờ em có cơ hội để bắt đầu một chương mới của cuộc đời em trong đại học. Đừng nhìn lại và đừng sợ. Nếu em đưa nỗ lực vào học tập, em sẽ có tương lai sáng sủa phía trước.”

Tôi không biết tại sao học sinh sợ khoa học và công nghệ? Hay lo nghĩ về các lớp lập trình? Dường như là có cái nhìn chung rằng chỉ người thông minh nhất mới có thể học khoa học và công nghệ và các lớp lập trình là khó. Tôi đã dạy lập trình trong nhiều năm và có những học sinh đã sợ học các lớp này. Nhưng đến cuối, tất cả họ đều đã học tốt và làm chủ các ngôn ngữ lập trình, dù đó là Pascal, C, C++, hay Java, Python, và Ruby. Từ kinh nghiệm dạy của mình, tôi có thể nói rằng học lập trình máy tính là tương tự với học ngoại ngữ. Nếu họ có thể học được tiếng Anh hay tiếng Pháp, hay tiếng Trung Quốc, v.v thì họ có thể học được lập trình máy tính.

Tôi thường khuyên học sinh: “Khi bắt đầu, mọi người đều phạm sai lầm, nhiều sai lầm. Nhưng các em sẽ học từ những sai lầm này và khá lên theo thời gian. Các em không cần giỏi như ai đó mà các em biết vì mọi người đều học với nhịp độ khác nhau, một số người học nhanh hơn những người khác, nhưng phải chắc các em để thời gian cho việc học. Không ai có thể học lập trình trong vài tuần cho nên các em phải có kiên nhẫn và vẫn còn tin tưởng rằng các em có thể học được nó. Thầy nghĩ tin tưởng là yếu tố quan trọng nhất trong việc học bất kì cái gì. Nếu các em nghĩ các em không thể học được nó, thì các em sẽ từ bỏ khi đối diện với vấn đề. Trong lập trình, các em sẽ lâm vào nhiều vấn đề, nhưng chừng nào các em còn đưa nỗ lực vào với niềm tin rằng các em có thể làm được nó, các em sẽ học tốt.”

Trong học khoa học và công nghệ, những nền tảng là quan trọng nhất và bạn càng hiểu chúng rõ hơn, càng dễ học nhiều khái niệm chuyên sâu hơn. Những học sinh không xây dựng nền tảng tốt thường gặp vấn đề khi lớp đi vào các tài liệu chuyên sâu. Điều quan trọng với học sinh là dành thời gian phụ thêm để học tài liệu nền tảng trong vài lớp đầu tiên. Tôi bảo học sinh đừng nhảy qua bất kì cái gì hay vội vàng đi vào trong bất kì cái gì mà phải chắc rằng họ hiểu các khái niệm cơ bản cho rõ cho dù phải mất thời gian.

Lập trình máy tính là học qua hành. Không ai có thể học chỉ bằng đọc sách, mà học sinh tự mình phải viết mã. Họ càng viết nhiều mã, họ sẽ càng học tốt hơn. Để phát triển kĩ năng lập trình tốt, học sinh cần viết nhiều mã rồi sửa chúng cho tới khi mọi thứ làm việc. Với một số học sinh, quá trình học lập trình có thể quá nhiều gây ra lo âu, không chắc chắn, và thậm chí còn sợ hãi. Biết điều này, trong vài bài tập đầu tiên trong lớp lập trình khi học sinh bắt đầu viết những dòng mã đầu tiên, tôi bao giờ cũng bước quanh lớp để trả lời những câu hỏi làm dịu đi thất vọng của họ. Việc khuyến khích xảy ra trong vài lớp đầu tiên có thể giải quyết nỗi sợ của học sinh, cung cấp cơ hội cho họ học, và hỗ trợ họ ngay cả khi họ phạm sai lầm. Qua thử, sai và phản hồi ngay lâp tức, phần lớn học sinh cảm thấy tự tin để học lập trình.

Với nhiều học sinh, việc học không phải là ngay lập tức. Một số người học nhanh nhưng những người khác học chậm hơn nhiều cho nên nhịp độ trong không nên cứng nhắc. Trong lớp lập trình, vài bài tập đầu tiên bao giờ cũng dường như khó, và học sinh sẽ nhìn vào những lỗi này và hoảng sợ, cứ tưởng họ không thể học tốt được. Điều đó có thể thay đổi tin tưởng của họ vào khả năng học của họ. Thầy giáo giỏi phải biết điều này, và thay vì phạt họ vì sai lầm của họ, các thầy giáo nên lấy cách tiếp cận khác bằng việc cho phép họ làm lại bài tập cho tới khi họ học được từ sai lầm của họ. Học sinh cảm thấy thoải mái hơn khi họ nhận được sự thừa nhận nào đó về việc làm tốt, cho dù đó là lời khen nhỏ từ thầy giáo cũng có thể cải tiến sự tự tin của họ vào việc học.

 

—English version—

 

Studying Science and Technology

I have received several emails from students asking for advice on studying science and technology. Many are not sure if they can do well in STEM areas. Several students wrote: “Do you think I can study computer programming even if I am not good at math?” “I am not a good student in high school, what do I need to succeed in STEM?”

 

I want to answer to all students who are still doubting their learning ability: “If you want to pursue a career in STEM (science, technology, Engineering, and Math), then go ahead and take these classes. Do not afraid, just put in your best efforts and you will do well. What happened in high school is gone, and now you have a chance to starting a new chapter of your lives in college. Do not look back and do not be afraid. If you put in the effort to study, you will have a bright future ahead.”

I do not know why students are afraid of science and technology? Or worry about programming classes? It seemed that there is a common view that only the smartest can learn science and technology and programming classes are difficult. I have taught programming for many years and had students who were afraid to take these classes. But in the end, all of them were doing well and master the programming language, whether it was Pascal, C, C++, or Java, Python, and Ruby. From my teaching experience, I can say that learning computer programming is similar to learning a foreign language. If they can learn English or French, or Chinese, etc. then they can learn computer programming.

I often advised students: “When starting out, everyone makes mistakes, a lot of mistakes. But you will learn from these mistakes and get better with time. You do not need to be good like somebody that you know because everybody is learning at a different pace, some faster than others, but make sure you take the time to learn. No one can learn to program in a few weeks so you must have patience and remain confident that you can do it. I think confidence is the most important factor in learning anything. If you do not think you can do it, then you will give up when facing a problem. In programming, you will run into many problems, but as long as you put in the effort with the belief that you can do it, you will do well.”

In learning science and technology, the fundamentals are the most important and the better you understand them, the easier it is to learn more advanced concepts. Students who do not build a good foundation, are often having a problem when the class goes into advanced materials. It is important for students to spend extra time to learn the fundamental materials in the first few classes. I told students not to skip anything or hurry into anything but make sure that they understand the fundamental concepts well even if it takes time.

Computer programming is learning by doing. No one can learn just by reading books, but students must write the codes themselves. The more they write code, the better they will learn. To develop good programming skills, students need to write more code then modify them until everything works. For some students, the process of learning programming can be overwhelming causing anxiety, uncertainty, and even fear. Knowing this, during the first few exercises in programming class when students begin to write the first few lines of code, I always walk around the class to answer questions to ease their frustration. The encouragement that takes place in the first few classes can settle the students’ fear, provides an opportunity for them to learn, and support them even when they make mistakes. Through trial, error and immediate feedback, most students feel confident to learn to program.

For many students, learning is not immediate. Some learn fast but others much slower so the tempo in class should not be rigid. In programming class, the first few exercises always seem hard, and students will look at these errors and panic, thinking they cannot do well. That can change their confidence in their ability to learn. Good teachers should know this, and instead of punishing them for their mistakes, they should take a different approach by allowing them to redo the exercises until they learn from their mistakes. Students feel better when they receive some recognition for a good job, even a small compliment from teachers can improve their confidence in learning.