Ngành Computer Science (Khoa học Máy tính) và Computer Engineering (Kỹ thuật Máy tính) khác nhau như thế nào?
Mình cũng từng phải ngồi lọ mọ đọc để hiểu sự khác nhau giữa các ngành Information Technology (CNTT), Software Engineering (Kỹ thuật Phần mềm), Computer Science (Khoa học Máy tính) và Computer Engineering (Kỹ thuật Máy tính). Hôm nay mình thấy có phụ huynh đặt câu hỏi trong nhóm Hội cha mẹ du học sinh VN tại Mỹ và có nhiều người trả lời căn bản, cụ thể, rõ ràng nên mình chép lại ra đây. Nhóm kia là nhóm private nên mình không share bài ra được.
Bạn Phuong L Pham trả lời:
– Computer Science:
Học để viết/làm phần mềm ví dụ ứng dụng web, ứng dụng trên desktop, điện thoại, cloud – đám mây, hệ điều hành, cơ sở dữ liệu
Một nhánh nữa là khoa học dữ liệu
Ngôn ngữ lập trình: Python, C#, Switf, Java, JavaScript, C/C++, Go…
Computer Enginering: một nhánh của ngành điện tử
Có thể hiểu nôm na là học cách sản xuất máy tính. Sản xuất máy tính sẽ cần làm cả phần cứng và phần mềm.
Phần cứng là hệ thống điện tử: CPU, RAM, IO thiết bị ngoại vi, …
Phần mềm thường là các phần mềm nhúng cho các thiết bị đấy. Phần mềm này thường giao tiếp trực tiếp với phần cứng – gọi là phần mềm nhúng – embedded system.
Các công việc liên quan ví dụ phần mềm cho ô tô, tủ lạnh, máy giặt, headphone, mạng máy tính …
Một nhánh nữa là điều khiển tự động, tự động hóa, xử lý tín hiệu số, robotics: nhánh này thuộc ngành điện tử
Ngôn ngữ lập trình thường là C, C++, VHDL, PLC…
Tóm lại hai ngành này phát triển song song với nhau, một bên là lập trình bậc thấp (computer enginering) một bên là bậc cao.
Để làm được cái TV như của LG, Samsung hay điện thoại ngày xưa tỉ lệ compter enginering/điện tử vs computer science (apps) 80-90/ 10-20%, bây giờ chắc TV 50/50, còn điện thoại 10-20/80-90. Ô tô cũng thế.
Bạn Giang Nguyen trả lời:
Computer Engineering = Computer Science + Electrical Engineering.
Computer Engineers có thể làm và nộp cho những vị trí của Computer Science và Electrical Engineering, tùy thuộc chính vào hướng đi khi chọn các lớp electives vào năm cuối.
Computer Engineers có thể trở thành Computer Scientists nhưng không (hoặc khó) có thể ngược lại vì yêu cầu về toán + Lý cao hơn để có thể đủ tín chỉ cho tốt nghiệp.
Computer Engineers hay theo đuổi những pathways sau:
1. Software Engineering (Front end and back end programming).
2. Embedded systems.
3. ASIC Design and Verification +
Computer Architecture (Or any semiconductor design positions).
4. Machine Learning/AI và Data Analytics.
5. Electrical Engineering roles (phụ thuộc vào sở thích và hướng muốn theo đuổi).
Nhiều Computer Engineers mới tốt nghiệp undergrad chọn theo đuổi 100% software khi vừa ra trường vì compensation cho những vị trí này thường cao hơn.
Computer Engineers có thể tìm thấy ở gần như mọi industries. Ex: Aerospace, automotive, trading…
