計算機科學與技術專業和軟體工程專業,選哪個?

蘆方文


計算機科學與技術:簡稱計科(CS)。一般來說CS的學習偏重學習計算機的原理。學習偏理論,學習內容涉及軟件也涉及硬件,還有兩種相結合,一般來說CS兩者的比重是1:1,按學校的不同可能會出現不同情況。

軟件工程:簡稱軟件(SE)。SE的學習主要是圍繞著軟件的應用、設計、開發、維護架構這幾個模塊等。偏應用、工程、實踐。學習內容涉及一些基本的硬件,但更多是工程的理論和大量的軟件實踐知識。


全國共有168所開設計算機專業的大學參與了計算機專業大學排名,其中排名前4的大學是北京大學、清華大學、浙江大學、國防科技大學,這是國內目前計算機專業排名第一梯隊,能力不相上下,以下具體榜單,還比較權威,供大家參考:


學科情況

計算機科學與技術這個一級學科是中國特有的,國際上通常只有計算機科學。大部分學校的計算機科學主要來源於數學學科,而軟件工程學科是源於計算機科學的(可以類比材料科學源於物理學),一直是計算機科學的一個二級子學科。從國際學科發展看,2001年IEEE提出了“計算學科”的概念,來替代原有的計算機科學學科,計算學科包括了計算機科學、計算機工程、軟件工程、信息系統、信息技術五個子學科。但就我的感覺,現在絕大部分國外大學基本還是以計算機科學為主。在中國,2011年開始,軟件工程開始和計算機科學與技術並列為一級學科。

由於中國大學科研和學位授予和國家的學科劃分以及教育政策緊密相關,所以各大學才會有計算機科學與技術以及軟件工程的分別招生。

軟件工程這個詞是1968年才出現的,當前對其定義和內涵還有不小的爭議。一般使用的軟件工程定義是IEEE的一個標準“使用系統、規範、可度量的方法進行軟件開發、運行和維護。”,但這個定義當前仍然有爭議。


就業前景

近幾年的CS和SE的就業情況相當不錯。如果題主經常去了解就業市場的話(可以上一些招聘網站看看),你會發現,公司無論大小,招人上,除了技能的要求,對於專業的要求一般是“計算機相關”,幾乎沒有見過有公司點明必須是SE或者是CS,也就是說無論是SE還是CS其實HR都不太關注,更關注應聘者的專業技能。所以如果從就業方面來說的話,CS和SE的差別其實很小。

但另外一個問題是,由於兩者在專業學習上的側重點是不同的。CS學習了更多的理論,而且軟硬結合,知識面更廣,如果在大學四年內沒有好好拓展自己的動手實踐和工程能力的話,就業上是會有些許吃虧的。我曾經認識不少的CS朋友,他們都在吐槽CS學習得太泛,反而影響了就業。反觀SE,由於更注重培養工程能力,而且課程中一般有大量的課程設計,所以更適合企業。

但其實這個更看個人,在 學習專業知識的同時,如果注意去拓展自己,在就業上基本不會有太大的差別,因為大家的基礎都差不多的。

找工作的容易度上,計算機科學與技術適應面會稍廣。在初入職場的薪資上,軟件工程專業的會更高一些。在職業的發展性和延續性上,計算機管理類崗位能走得更遠。但是有一點,想要在管理類崗位做到高端,一定的編程基礎是少不了的。如果你想在畢業後就業,想做工程師,偏向編程技術、軟件開發,可以把專業選擇偏向軟件工程。如果你想就業範圍廣一點,或者想考研或出國,專業選擇可以偏向計算機一點。

考研:

如果打算考研,CS更有優勢。一般學校都會有CS和SE的碩士點。如果有興趣去查的話,你可以發現,大多數學校CS和SE的考研科目都是數據結構、計算機組成原理、計算機網絡、操作系統等等。這些科目都是偏向理論,而且要求基本功紮實。

CS學生的計算機理論基礎紮實,軟硬結合,知識面廣,所以無論日後選擇考CS碩士還是SE碩士,都比較有優勢。

SE的學生由於更注重工程和實踐,所以這個時候想考研要花比CS更多的實踐去補理論基礎。

建議:

1、同等學校計算機科學與技術學費低,難考一些;軟件學院學費高,通常好考一些。

2、計算機科學與技術的理論基礎通常更紮實一些。軟件學院不管教學內容體系如何,通常更加重視實踐,學生實踐能力更好一些。(各個學校差異性非常大,建議報考前認真諮詢一下。)

3、就業:差距很小,想以後就業方面更輕鬆點,或者本身更偏向動手和實踐的,可以考慮SE

4、如果對計算機感興趣或者打算考研的,選CS好。


分享到:


相關文章: