Phần mềm và toán học

Một sinh viên viết cho tôi: “Là sinh viên năm thứ nhất về kĩ nghệ phần mềm em lo lắng vì em không giỏi toán. Một số người bảo em rằng em phải biết nhiều về toán để học kĩ nghệ phần mềm nhưng một giáo sư ở trường em nói rằng điều đó không đúng. Em vẫn còn lo và lẫn lộn. Xin thầy lời khuyên.”

 

Đáp: Toán học là quan trọng trong việc giúp bạn nghĩ một cách logic để cho bạn có thể giải quyết được vấn đề. Bạn cần biết toán học mức nào đó để học khoa học, bất kì khoa học nào không chỉ kĩ nghệ phần mềm. Toán học được cần tới trong điện tử, kĩ nghệ dân sự, hoá học và vật lí nữa. Tôi chắc rằng bạn biết số học, đại số, đại số tuyến tính và tính toán vì những môn này được dạy ở trường phổ thông. Bạn có thể cần biết một số căn bản về phương trình vi phân, xác suất, thống kê, giải tích số và toán học rời rạc vì chúng sẽ giúp cho bạn đi sâu trong nghề nghiệp của bạn, đặc biệt nếu bạn muốn theo đuổi bằng cấp chuyên sâu (thạc sĩ hay tiến sĩ). Nhiều sinh viên sợ toán vì họ có thể thiếu nền tảng cơ sở. Nếu bạn dành thời gian ôn tập lại những khái niệm cơ sở và làm bài tập toán học thì bạn sẽ thấy rằng nó không khó. Cho dù bạn cần hiểu một số khái niệm toán học nào đó nhưng bạn không cần phải xuất sắc về toán để học kĩ nghệ phần mềm.

Trong thực tế, khi tôi còn trẻ, tôi sợ toán còn hơn sợ ma. Tôi học rất kém trong mọi lớp toán từ phổ thông cơ sở cho tới trung học. Mọi lúc tôi thấy con số tôi đều bị đau đầu. Khi tôi vào lớp, một cô giáo hiểu nỗi sợ của tôi và sẵn lòng giúp tôi. Cô ấy bảo tôi: “Lí do em không thích toán vì em không có đủ tự tin. Vấn đề có lẽ là vì em né tránh toán ở các lớp dưới hay đã không học đủ cơ sở cho tốt cho nên em mất khả năng xây dựng kĩ năng toán học. Điều em cần là xây dựng lại cơ sở rồi em sẽ học tốt.” Mỗi ngày, cô lại cho tôi mười bài tập ngắn mà tôi phải hoàn thành trước khi rời khỏi trường. Phần lớn chúng đều là toán học cơ sở mà tôi đã không học tốt trước đây. Trong vài tháng, tôi đã cải tiến và đã có khả năng theo kịp các học sinh khác trong trường. Mặc dù năm mươi năm đã trôi qua rồi, tôi vẫn còn nhớ như in lời khuyên quí giá của cô.

Kĩ nghệ phần mềm và toán học là không khó, nó yêu cầu quyết tâm và thực hành. Chừng nào bạn sẵn lòng dành thời gian cho học tập, dành thời gian để làm bài tập, bạn sẽ học tốt.

 

—-English version—-

 

Software and Mathematic​s

A student wrote to me: “As a first year student in software engineering I am worry because I am not good in mathematics. Some people told me that I must know a lot of mathematics to study software engineering but a professor in my school said that it is not correct. I am still worry and confused. Please advise.”

Answer: “Mathematics is important in helping you to think logically so you can solve problems. You need to know some mathematics to study science, any science not just software engineering. Math is needed in electronics, civil engineering, chemistry, and physics too. I am sure that you know Arithmetic, Algebra, Linear Algebra, and Calculus because these are taught in high school. You may need to know some basics of Differential  Equations, Probability, Statistics, Numerical analysis, and Discrete Mathematics as they will help you to advance your career, especially if you want to pursue advanced degrees (Master or PhD). Many students afraid of mathematics because they may lack the basic foundations. If you spend time to review some basic concepts and do some math exercises then you will find that it is not difficult. Even you do need to understand some math concepts but you do not have to be excellent at math to study software engineering.

As a matter of fact, when I was young, I was afraid of math more than afraid of ghost. I did very poorly in all of my math classes from elementary to high school. Every time I saw numbers then I had a headache. When I was in 9th grade, a teacher understood my fear and willing to help me. She told me: “The reason you do not like math because you do not have enough confidence. The problem is probably you avoid math in lower grades or did not learn enough basics well so you lost the ability to build up your math skills. What you need is to rebuild your basics then you will do well.” Each day, she gave me ten short exercises that I must finish before leaving school. Most are the basics math that I did not learn well previously. Within few months, I improved and was able to catch up with other students in school. Even fifty years later, I still remember her precious advice.

Software engineering and mathematics are not difficult, it requires commitment and practices. As long as you are willing to spend time to study, spend time to do exercises, spend time to practice, you will do well.