22 Apr, 2021
Các môn quan trọng
Một sinh viên khoa học máy tính năm thứ nhất viết cho tôi: “Có nhiều môn thế trong chương trình Khoa học máy tính và em không biết môn nào là quan trọng hơn? Em có cần học mọi thứ không? Xin thầy lời khuyên.”
Đáp: Đại học KHÔNG phải là cái chợ mà bạn có thể chọn ĐIỀU bạn muốn. Có các môn bắt buộc mà bạn phải học và các môn lựa chọn mà bạn có thể chọn trong số nhiều môn được cung cấp. Từng trường đều có đào tạo và yêu cầu riêng và vì tôi không quen thuộc với chương trình của trường bạn cho nên tôi không thể nói cụ thể được. Tuy nhiên sinh viên Khoa học máy tính phải học các ngôn ngữ lập trình và ngày nay ngôn ngữ hướng đối tượng như Java hay C++ là rất phổ biến và được dùng ở nhiều chỗ. Nếu bạn học những ngôn ngữ này tốt, bạn sẽ dễ dàng tìm được việc trong công nghiệp công nghệ thông tin. Cũng có hai môn nữa mà tôi coi là quan trọng vì chúng là nền tảng của khoa học máy tính: môn Cấu trúc dữ liệu và môn Thuật toán. Về căn bản, các thuật toán là tuyển tập các lệnh theo từng bước để làm cái gì đó. Một chương trình máy tính được xây dựng từ tổ hợp của các thuật toán hay các bước logic để cung cấp cái ra. Nếu bạn đưa nhiều nỗ lực vào học hai môn này tốt, bạn sẽ tiến xa hơn trong nghề nghiệp của bạn bởi vì mọi công ti phần mềm đều cần những người có tri thức vững về thuật toán. Trong hầu hết các cuộc phỏng vấn việc làm phần mềm, bao giờ cũng có nhiều câu hỏi về thuật toán và cấu trúc dữ liệu. Tri thức của bạn trong hai khu vực này, đặc biệt trong thuật toán sẽ làm bạn khác biệt với các ứng cử viên khác người chỉ biết cách viết mã.
—-English version—-
Important courses
A first-year Computer Science student wrote to me: “There are so many courses in Computer Science program and I do not know which one is more important? Do I need to learn everything? Please advice.”
Answer: The University is NOT a market where you can select WHAT you want. There are required courses that you must take and elective courses where you can choose among several courses offered. Each school has its own training and requirements and since I am not familiar with your school’s program so I cannot be specific. However Computer Science student must learn programming languages and today object oriented languages such as Java or C++ are very popular and being used in many places. If you learn these languages well, you will easily find work in the information technology industry. There are also two courses that I consider important because they are the foundations of the Computer Science: Data Structures course and Algorithms course. Basically, algorithms are a collection of step by step instructions to do something. A computer program is built from a combination of algorithms or logical steps to provide an output. If you put more efforts into studying these two courses well, you will advance further in your career because all software companies want people with strong knowledge of algorithms. In most software job interviews, there are always several questions about algorithms and data structures. Your knowledge in these two areas, especially in algorithms will set you apart from other candidates who only know how to write code.