Cs là gì trong tin học

Xin chào mọi người! Tên tôi là YK, hiện đang quản lí CS Dojo, một kênh YouTube giáo dục lập trình với hơn 200.000 người đăng ký. Tôi cũng từng là một nhà phát triển phần mềm tại Google.

Trong quá trình làm ra các video, tôi thường được hỏi hai câu hỏi phổ biến:

Sự khác biệt giữa khoa học máy tính và phần mềm kỹ thuật phần mềm là gì?

Tôi có nên chọn khoa học máy tính hay kỹ thuật phần mềm để trở thành một kỹ sư phần mềm?

Trong bài viết này, tôi sẽ trả lời các câu hỏi trên và đưa cho bạn phân tích nhanh về những chuyên ngành này.

Tổng quan nhanh về hai chuyên ngành này

Khoa học máy tính là nghiên cứu về cách các máy tính hoạt động, chủ yếu từ quan điểm lý thuyết và toán học.

Bạn nên chọn Khoa học máy tính nếu bạn thích toán học, logic hoặc nếu bạn muốn tham gia vào một lĩnh vực chuyên biệt trong CS chẳng hạn như trí tuệ nhân tạo, học máy, an ninh, hoặc đồ họa.

Kỹ thuật phần mềm là nghiên cứu về cách thức các hệ thống phần mềm được xây dựng, bao gồm các chủ đề như quản lý dự án, đảm bảo chất lượng và kiểm tra phần mềm.

Bạn nên chọn kỹ thuật phần mềm nếu bạn quan tâm nhiều hơn đến cách thực hành và nếu bạn muốn tìm hiểu chu kỳ sống chung của phần mềm được xây dựng và duy trì như thế nào.

Cả Khoa học máy tính và kỹ thuật phần mềm đều dạy các nguyên tắc cơ bản của lập trình và khoa học máy tính, vì vậy bạn vẫn có thể chọn một trong hai để trở thành một nhà phát triển phần mềm.

Để hiểu được sự khác biệt giữa khoa học máy tính và kỹ thuật phần mềm, chúng ta hãy cùng xem chương trình giảng dạy của họ tại Đại học Waterloo ở Canada.

Tôi đã chọn Đại học Waterloo vì nó có một trong những chương trình khoa học máy tính tốt nhất ở Bắc Mỹ

Cách tiếp cận công nghệ và ngôn ngữ mới cho những lập trình viên non trẻ

10 thói quen xấu mà developer cần tránh để ảnh hưởng đến code

Triển vọng nghề nghiệp

Đầu tiên chúng ta hãy so sánh các loại công việc và thực tập mà bạn có thể có được thông qua mỗi chương trình.

Rất may, trang web của Đại học Waterloo có cung cấp một số ví dụ cụ thể.

Khoa học máy tính

  • Nhà phát triển Web / Kiến trúc sư Desinger
  • Lập trình viên
  • Nhà phát triển điện thoại di động Moblie / đám mây Cloud
  • Kỹ thuật Phần mềm
  • Kỹ thuật phát triển phần mềm
  • Kỹ sư Agile
  • Chuyên viên Phân tích Kinh doanh
  • Quản lý sản phẩm
  • Hỗ trợ công nghệ IT Support
  • Nhà phát triển phần mềm
  • Quản lý Phần mềm
  • Kỹ sư phần mềm
  • Quản lý Sản phẩm Kỹ thuật
  • Tư vấn, Giải pháp Tài chính
  • Tư vấn thực hiện

Như bạn thấy, không có sự khác biệt lớn giữa các loại công việc mà bạn có thể có được.

Đa phần các sinh viên sau khi tốt nghiệp đều làm Software Developer hoặc Software Engineer

Cũng có những lựa chọn liên quan khác như quản lý sản phẩm, nhà phân tích QA và tư vấn công nghệ. Nó hoàn toàn tùy thuộc vào khả năng của bạn.

Các khóa học năm thứ nhất:

Bây giờ, chúng ta hãy xem các khóa học bắt buộc của mỗi chương trình. Trước tiên chúng ta hãy so sánh một số các khóa học bạn cần phải thực hiện trong năm đầu tiên của bạn.

  • Khoa học máy tính

CS 135 Thiết kế các chương trình chức năng

CS 136 Thuật toán và khai thác dữ liệu

MATH 135 Đại số

MATH 136 Đại số tuyến tính 1

MATH 137 Calculus 1

MATH 138 Calculus 2

Cộng thêm một vài môn phụ

  • Kỹ thuật phần mềm

CS 137 Nguyên tắc lập trình

CS 138 Thu thập và thực hiện dữ liệu

MATH 115 Đại số tuyến tính cho kỹ thuật

MATH 117 Calculus 1 cho Kỹ thuật

MATH 119 Calculus 2 cho Kỹ thuật

ECE 105 Vật lý Kỹ thuật Điện 1

ECE 106 Điện và Từ

ECE 124 Các mạch và hệ thống số

ECE 140 Mạch tuyến tính

SE 101 Phương pháp kỹ thuật Phần mềm

Như bạn thấy, các khóa học năm đầu cũng tương tự như vậy. Cả hai đều bao gồm một vài khóa học về khoa học máy tính cơ bản, và một vài môn toán trong đại số tuyến tính và tính toán.

Sự khác biệt lớn duy nhất là phần mềm Kỹ thuật có thêm vật lý và các thành phần kỹ thuật điện, trong khi Khoa học Máy tính có thêm một số môn tự chọn.

Các khoá học sau năm đầu tiên:

Các khóa học bắt buộc và tự chọn sau năm đầu tiên như thế nào? Chúng ta hãy xem xét một số ví dụ ở đây:

  • Khoa học máy tính:

MATH 239 Giới thiệu tổng hợp

STAT 230 Xác suất

STAT 231 Thống kê

CS 240 Cấu trúc dữ liệu và Quản lý dữ liệu

CS 241 Các cơ sở của các chương trình tuần tự

CS 245 Logic và Tính toán

CS 246 Phát triển phần mềm hướng đối tượng

Chủ Đề