30/09/2018, 17:40

Khoa học máy tính và kỹ thuật phần mềm khác nhau ở chỗ nào?

mọi người cho em hỏi khoa hoc máy tinh và kỹ thuật phần mềm khác nhau ở chỗ nào ạ nếu học cái nào cũng được đúng ko @ltd em xin cảm ơn em

*grab popcorn* viết 19:50 ngày 30/09/2018

Khoa học máy tính thì học về nhiều cái của máy tính như thuật toán, nhận diện hình ảnh, trí tuệ nhân tạo v.v
Còn phần mềm thì chỉ chuyên sâu vào cách làm phần mềm.

Jobs Apple Steve viết 19:54 ngày 30/09/2018

thế anh bảo học cái nào thì hay hơn hả anh @drgnz

Sent Fake viết 19:48 ngày 30/09/2018

Khoa học máy tính hay hơn, siêu hơn, bao quát hơn Kĩ thuật phần mềm…

Tran Van An viết 19:52 ngày 30/09/2018

Khoa học máy tính thì đào tạo một cách chuyên sâu, thường thiên về học thuật. Học về thuật toán, trí tuệ nhân tạo, …
Kỹ thuật phần mềm thì nó học về các cấu trúc, tạo, viết, … phần mềm.

Khoa học máy tính thì hay hơn và khó hơn. Tùy vào nhu cầu mình hướng tới mà học thôi. Và cũng phải xem tư chất của mình nữa.

viết 19:46 ngày 30/09/2018

học cái nào cũng được. Thích giải toán thì chọn khoa học máy tính. Thích chế tạo lắp ráp thì chọn kỹ thuật phần mềm.

Itachi Citus viết 19:50 ngày 30/09/2018

Mình học cả Khoa học máy tính và cả Công nghệ phần mềm nè. Nói Khoa học máy tính khó hơn công nghệ phần mềm là không được chuẩn xác lắm, mỗi cái nó có điểm khó riêng của nó, xét trong việc học.

Tùy trường nhưng thông thường khối lượng công việc của công nghệ phần mềm lớn hơn rất nhiều so với khoa học máy tính. Bạn phải tự tìm hiểu nhiều, viết nhiều code, viết nhiều văn bản kỹ thuật. Học một hai môn công nghệ là bạn đủ đuối nếu nhóm bạn không làm tốt.

Khoa học máy tính thì kiến thức trừu tượng nên tùy người mà nó sẽ dễ hiểu hay khó hiểu. Bạn sẽ không code nhiều như bên công nghệ phần mềm, nhưng ngược lại để code ra được đám đó bạn phải tốn thời gian để hiểu khá nhiều. Thông thường bạn còn phải đọc các bài báo khoa học.

Cơ hội việc làm của CNPM rất nhiều, ngược lại KHMT rất ít. Phần lớn theo KHMT là định hướng nghiên cứu và ở lại trường. Mỗi cái đều có một cái hay riêng, học CNPM bạn biết cách làm được một phần mềm chuyên nghiệp, có thể xây dựng sản phẩm để ra kinh doanh riêng hoặc freelance; học KHTM bạn biết được những thứ trên trời dưới đất, những nền tảng khoa học ở phía sau google, siri, trí tuệ nhân tạo, máy học, nhận dạng, phân lớp, xử lý tiếng nói, ngôn ngữ, xử lý hình ảnh, mã hóa, giải thuật, máy tính… Lựa chọn thế nào là do sở thích và điều kiện của bạn nhiều hơn.

p/s: Bạn nào nói CNPM dễ hơn là bạn đó chưa đụng đến các vấn đề tối ưu hệ thống, tối ưu csdl, bảo mật, quản lý dự án, thiết kế, quản lý… Mỗi cái đều có cái khó riêng của nó

Sent Fake viết 19:41 ngày 30/09/2018

Mình học cả Khoa học máy tính và cả Công nghệ phần mềm nè.

Cho phép học cả hai chuyên ngành à? Thế học 3 chuyên ngành được không??

Itachi Citus viết 19:55 ngày 30/09/2018

Thế học 3 chuyên ngành được không

Mỗi người chỉ nên chọn một ngành thôi… Lựa chọn hai ngành trở lên là sai lầm, không ai đủ khả năng và thời gian để đào sâu vào hai chuyên ngành trở lên, một chuyên ngành đã khó để đi sâu rồi.

Sent Fake viết 19:49 ngày 30/09/2018

Nếu mình là thiên tài máy tính thì sao??

Itachi Citus viết 19:51 ngày 30/09/2018

Ờ… Mình không biết bạn thiên tài cỡ nào, nhưng một tiếng chỉ có hai bốn giờ thôi. Bạn có bốn năm để chuẩn bị trước khi ra trường, nếu bạn tính trong khoảng thời gian đó theo sâu được ba chuyên ngành, học tiếng anh, rèn luyên kỹ năng, tham gia được các hoạt động bên ngoài, giải trí và yêu được ai đó nữa thì cứ thoải mái.

Sent Fake viết 19:42 ngày 30/09/2018

học tiếng anh, rèn luyên kỹ năng, tham gia được các hoạt động bên ngoài, giải trí và yêu được ai đó nữa thì cứ thoải mái.

like, very like it!!!

Tung Pham Thanh viết 19:56 ngày 30/09/2018

Các bạn đừng nhầm lẫn 2 chuyên ngành này dựa trên các môn học ở trong trường nhé. Thực tế là mỗi môn học đều có cả 2 phần CNPM và KHMT, chỉ có điều là trong 1 số môn học các GV chỉ có đủ thời gian dạy cho bạn 1 trong 2. Cho nên mới phân thành 2 chuyên ngành.

Công nghệ phần mềm dạy cho bạn cách để đưa ứng dụng công nghệ vào cuộc sống hàng ngày. Giúp bạn trải nghiệm và tìm hiểu những thứ có thể giúp ích cho cuộc sống thật.

Khoa học máy tính dạy cho bạn cách làm những điều kể trên một cách tối ưu nhất về mặt chi phí (máy móc, thời gian, điện nước và con người) bằng cách dạy cho bạn hiểu thấu đáo về những gì bạn code ra và sử dụng lại một cách hiệu quả.

Về mặt công việc sau này thì CNPM là tấm vé gửi xe khi bạn đi xin việc và KHMT là tấm vé giúp bạn thăng tiến và thành công trong sự nghiệp. Như vậy dĩ nhiên bạn cần cả 2 và tự nên biết cái nào cần tốt trước và cái nào cần trau dồi sau rồi nhé :).

Lời khuyên
Cho các bạn theo CNPM: hãy học tất cả những môn khó nhất của CNPM và học ít nhất 3 môn cơ bản của KHMT
Cho các bạn theo KHMT: hãy học tất cả những môn bạn có thể học của KHMT và học ít nhất 3 môn cơ bản của CNPM với các ngôn ngữ lập trình khác nhau

Itachi Citus viết 19:51 ngày 30/09/2018

Khoa học máy tính dạy cho bạn cách làm những điều kể trên một cách tối ưu nhất về mặt chi phí (máy móc, thời gian, điện nước và con người) bằng cách dạy cho bạn hiểu thấu đáo về những gì bạn code ra và sử dụng lại một cách hiệu quả.

Anh cũng nhầm rồi, vấn đề tối ưu và bản chất, nguyên lý của của lập trình chỉ là một nhánh trong KHMT thôi (Theoretical computer science). Ở nước ngoài thông thường Computer science là ngành bao bên ngoài Theoretical CS, Artificial intelligence, Computer Vision, Natural languague processing, Software engineer… Ở Việt nam SE lại được tách ra đặt ngang hàng với CS.

Tung Pham Thanh viết 19:47 ngày 30/09/2018

Thế theo bạn mục đích cuối cùng của cái đống “Theoretical CS, Artificial intelligence, Computer Vision, Natural languague processing, Software engineer…” là để làm gì ?

*grab popcorn* viết 19:48 ngày 30/09/2018

Nếu thích giải toán, nghiên cứu về các vấn đề máy tính thì cứ vô KHMT (CS). Trong CS vẫn được dạy làm phần mềm nhưng có lẻ ko chuyên sâu như bên KTPM.

vũ xuân quân viết 19:52 ngày 30/09/2018

mục đích cuối cùng là dùng máy làm thay công việc của con người.
Dùng máy móc để sản xuất, không cần nhiều người lao động nữa.

Itachi Citus viết 19:41 ngày 30/09/2018

Thế theo bạn mục đích cuối cùng của cái đống “Theoretical CS, Artificial intelligence, Computer Vision, Natural languague processing, Software engineer…” là để làm gì ?

Có bạn trả lời rồi nè .

mục đích cuối cùng là dùng máy làm thay công việc của con người.

Bên CNPM có những lĩnh vực “không liên quan tới máy tính” như quản lý, quy trình; ngược lại bên KHMT cũng có những lĩnh vực chả liên quan tới phần mềm như một nhánh nghiên cứu xã hội học của khoa học web. Nó luôn có phần giao nhau, nhưng về cơ bản nên phân biệt để biết mục tiêu từng lĩnh vực.

À quên còn một cái nữa là Khoa học và kỹ thuật, nghiên cứu và công nghiệp. Nhiều người không phân biệt được các khái niêm này. Nếu anh biết thì anh sẽ không nghĩ hai cái đó là một đâu.

Tung Pham Thanh viết 19:48 ngày 30/09/2018

Khoa học và kỹ thuật, nghiên cứu và công nghiệp

Cái này thì liên quan gì tới topic và câu trả lời của mình hả bạn? Nghe có vẻ nguy hiểm phết nhỉ.

Bạn có vẻ ko nắm rõ câu trả lời của mình và @masoivn. Trong trả lời của mình, mình có nhắc đến từ “chi phí”. Chi phí ở đây ko phải là chi phí lập trình cũng như giảm thiểu nó bằng mấy cái thủ thuật cơ bản là tối ưu code trong “Theoretical computer science” đâu ạ.

Chi phí ở đây là chi phí về lực lượng lao động của xã hội. Cái đống mà mình hỏi lại chính là công cụ để giúp bạn giảm bớt cái chi phí khổng lồ chạy bằng cơm này đấy. Nói 1 cách chung chung là tất cả các ngành trong IT đều nhằm 1 mục đích đó mà thôi. Việc chia ra các ngành hoặc chi tiết hơn là các môn học mục đích chính là giúp bạn giới hạn lại các cách định hướng chính hoặc các công đoạn mà bạn muốn tham gia (hay chính xác hơn là cảm thấy yêu thích vì phù hợp với thiên hướng của bản thân) vào trong các nỗ lực ko mệt mỏi của toàn bộ các con người trong thế giới máy tính.

Do chỉ tập trung vào câu hỏi của topic nên mình nói rõ lại là “thông thường” 2 chuyên ngành này tiếp cận vấn đề vào 2 công đoạn khác nhau.
CNPM tập trung vào giai đoạn gần cuối giúp mang công nghệ tiếp cận 1 cách dễ dàng nhất đối với người dùng phổ thông để giảm bớt công việc chân tay răng miệng…
KHMT thì can thiệp chủ yếu vào công đoạn cải tiến và nâng cấp hệ thống mà bên CNPM đang sử dụng, làm cho nó tốt hơn (Theoretical CS), thông minh hơn (Artificial intelligence, Computer Vision, Natural languague processing), hoạt động trơn tru hơn (Software engineer)… và cuối cùng cũng chỉ để giảm chi phí chân tay răng miệng…

P/S: Cho chủ thớt @Jobs_Apple_Steve và @Sent_Fake: cách đây khoảng 6 năm mình đủ điều kiện và tiêu chí để tốt nghiệp cả 3 chuyên ngành CNPM, KHMT và CNTT, có cái bằng TOEIC cùi khoảng 800+ và có ng yêu. Đáng tiếc là trường chỉ cho tốt nghiệp 1 chuyên ngành nên mình đăng ký làm LV KHMT và hên xui cũng dc ra trường đúng hạn

Itachi Citus viết 19:54 ngày 30/09/2018

Cái này thì liên quan gì tới topic và câu trả lời của mình hả bạn? Nghe có vẻ nguy hiểm phết nhỉ.

Có á anh, anh nói

Về mặt công việc sau này thì CNPM là tấm vé gửi xe khi bạn đi xin việc và KHMT là tấm vé giúp bạn thăng tiến và thành công trong sự nghiệp. Như vậy dĩ nhiên bạn cần cả 2 và tự nên biết cái nào cần tốt trước và cái nào cần trau dồi sau rồi nhé :).

Nó không đúng hoàn toàn. Thực tế khoa học máy tính là khoa học, mục tiêu sau khi đào tạo là trở thành nhà khoa học. Công nghê phần mềm là kỹ thuật / công nghệ, mục tiêu sau khi đào tạo là kỹ sư. Một kỹ sư công nghệ phần mềm không thể nộp đơn vào vị trí của KHMT vì họ không được đào tạo các kiến thức sâu của KHMT, cách thức nghiên cứu. Ngược lại, người học KHMT về mặt lý thuyết không được ưu tiên ngang bằng khi nộp đơn vào vị trí của CNPM, vì họ không được đào tạo để trở thành BA, developer, tester. Ở Việt Nam công việc cho bên khoa học không nhiều và chủ yếu là ở các trường đại học, một số vị trí nghiên cứu của công ty lớn / các công ty nước ngoài.

Tung Pham Thanh viết 19:45 ngày 30/09/2018

Một kỹ sư CNPM có thể nộp đơn vào vị trí của KHMT.
Ở Việt Nam công việc cho bên khoa học rất rất nhiều (chỉ là các bạn ra trường thường ko đủ chất và cũng hơi thiếu thông tin về tuyển dụng, có lẽ mình sẽ share trong 1 topic khác)

Nhu cầu KHMT ở VN đang khá khá (tuy là vẫn ít hơn CNPM) và vô cùng thiếu thốn nhân lực chất lượng cao cho nên nhiều nhà tuyển dụng vẫn sẽ tuyển SV CNPM nếu đã từng học qua 1 vài môn cơ bản của KHMT. Vì dù gì thì kiến thức bạn học ở trường cũng chỉ chiếm khoảng 20% mà thôi. Nếu đã học qua vài môn KHMT thì bạn sẽ có tư duy khá hơn trong việc lập trình nên vào cty học thêm lại cũng rất OK

KHMT về mặt lý thuyết không được ưu tiên ngang bằng khi nộp đơn vào vị trí của CNPM nếu bạn chả biết tí gì về CNPM mà lại apply vào các vị trí BA (quá thiếu kinh nghiệm) hay Tester (so boring)
Nhưng sẽ được rất rất ưu tiên nếu bạn chỉ cần học qua vài môn cơ bản của CNPM. Vì hầu hết 99% cty phần mềm sau khi tuyển dụng xong sẽ vác bạn đi training lại về chính CNPM. Bởi vì quy trình phát triển phần mềm trong các cty chả có giống tí gì với những thứ bạn đã học đâu.

Bài liên quan
0