作為一名計算機專業的教育工作者,我來回答一下這個問題。

首先,從知識結構上來看,計算機科學與技術專業的知識面比較廣,既包括軟體知識也包括硬體知識,本科階段還需要學習大量的基礎學科,包括數學和物理知識等等,所以如果有明確的考研計劃,選擇計算機科學與技術專業是不錯的選擇,未來在讀研時也會有更大的選擇空間。

軟體工程專業在知識體系結構上更偏向於軟體,不僅涉及到軟體研發的相關知識,還涉及到軟體管理等知識,由於近些年來軟體崗位的人才需求量比較大,所以軟體工程專業的就業情況一直有不錯的表現,如果本科結束之後就想參加工作,那麼選擇軟體工程專業是不錯的選擇。

選擇計算機科學與技術專業,還是選擇軟體工程專業,要結合自身的能力特點、興趣愛好和發展方向來決定。從當前IT互聯網行業的發展趨勢來看,未來以平臺為基礎的行業創新將需要大量的技術人才,這既包括軟體人才也包括硬體人才,從大的發展趨勢來看,二者的人才需求量都會比較大。

在5G通信的推動下,未來物聯網將獲得更多的發展機會,由於物聯網本身的技術承載能力比較強,所以物聯網也會促進大數據、人工智慧等技術的發展,而要想從事物聯網相關領域的崗位,除了選擇物聯網工程專業之外,還可以重點考慮一下計算機科學與技術專業,在讀研時可以選擇物聯網相關的細分方向。

最後,對於一部分對程序設計比較感興趣的同學來說,選擇軟體工程專業要更適合一些,但是要想在軟體開發領域走得更遠,一方面要重視新技術的學習,另一方面還需要重視完善自身的知識結構。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智慧領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網、大數據、人工智慧等方面的問題,或者是考研方面的問題,都可以在評論區留言,或者私信我!


看你想要什麼?讀碩士還是本科畢業立刻工作?

(腦子非常好使,精力夠用,身體夠好的,選軟體工程)

計算機科學跟軟體工程各有側重點。

計算機科學側重於科學知識基礎。本科期間基本,網路上從最新技術到基層數據傳輸編碼,硬體從Raid系統到CPU架構模式無所不包,都會講但是都不精,主要用途是給學生搭建一個對計算機的系統認識,以及給未來的其他高等課程打好基礎。學了這門專業的學生,知曉如何做計算機相關的實驗,如何進行相關的研究分析。

軟體工程側重於工程項目解決方案。本科期間學生學習的是代碼知識,如何編寫軟體,如何做項目。一個項目過來如何拆分,如何把控風險,做預估。專精於軟體,將軟體工程師的工作內容透徹分析一下。學了這門專業的學生,畢業後直接就可以開始寫代碼做軟體,當各種軟體相關的開發,運維,測試初級工程師。

第一個專業的學生在碩士會選擇自己的專精方向。他們會進階成為比如演算法工程師,軟硬體架構師,data scientist等等的計算機領域的高端職業。因為在碩士期間他們就已經開始接收各種項目。他們的理論知識強大,但是項目經驗上肯定不如軟工出身的人。

第二個專業的學生在本科畢業後就直接工作了。一般工科生選擇在職研的會比較多。從工程系來說,腦子最好使的時候用來搞工程同時還學習,他們的知識進展速度會非常快(因為是跟著現實的項目走的,同時本人的資源也會非常豐富)。工科專業最後也會走向那些高端職業,不過他們的選擇範圍非常廣,直接跟本人能力掛鉤。

兩個專業的人各有各的煩惱。

科學專業的糾結於自己跟現實脫節,接手的項目要麼特別高端市場上就那麼幾家公司能做,要麼特別冷門幾乎沒人做,要麼特別熱門但是隻適合於發paper沒什麼實際價值。

工程專業的主要糾結:頭髮,越來越少了啊....工科專業只要別累死在半路上,最後的結局都會比選擇科學專業的要好。畢竟這是華夏不是美帝。

以上。


首先,作為計算機科學與技術專業的畢業生,我會毫不猶豫的告訴題主,計算機科學與技術專業真的不錯。

雖然在同屆畢業生裡面算是混得非常非常失敗,但自己從來沒有後悔選擇這個專業,也非常慶幸能夠在大學4年的學業中學到了一些些有用的知識和技能。

然後,作為計算機相關領域的大學老師,感覺也很難回答題主這個問題,專業之間本來沒有高下,何況是這麼兩個課程設置有不少重合的專業。

上大學,選專業,個人認為主要就是兩個目的。一個是學習知識,一個是之後的發展。由於我不是軟體工程的老師,也不是軟體工程專業畢業的學生,只能從計算機科學與技術專業來談這兩個問題。

事實上,大學課程裡面能學到的知識,主要包括通識知識和專業知識兩種,也就對應了基礎課程和專業課程,對於大部分工學專業來說,基礎課程都是相差不大的,主要是數學,物理,英語還有思想政治之類的,這部分課程,題主只要選工學專業就得學習。如果是理學或者其他類別,在數學課程的設置上還有一些不同。

所以,專業課程的設置纔是大學專業的精髓。不過,現在的專業課程裡面,有很多是幾個專業間共享或者相同的,整個信息大類,包括計算機,電信,電子甚至自動化,都會設置同樣的課程。軟體工程專業相對來說,這樣的課程會比較少,比如中國科技大學軟體工程學院的培養計劃就只有電子線路基礎以及實驗兩門課。

https://www.teach.ustc.edu.cn/wp-content/uploads/legacy/documents/edu_plan/06/091.pdf?

www.teach.ustc.edu.cn

之後纔是真正的專業課程,會發現這兩個專業其實區別也很小,但軟體工程有幾門軟體工程的特色課程,包括知識產權,組織行為學,軟體開發案例分析之類一定不會在計算機科學與技術專業學到的課程,而計算機專業的課程基本上都在軟體工程專業裡面開設了。

大學四年時間是有限的,每個學生能夠選的課程是有限的,有些計算機的課程在軟體工程專業就簡化了,比如數據結構和演算法合成一門課,比如沒有計算機體系結構這門課。工作我不太清楚,但如果從事研究的話,這些減少或者沒有的課程可能需要繼續學習。

總而言之,這兩個專業在學習知識這個方面沒有本質的區別,軟體工程專業畢業的學生可能會知道更多軟體開發方面的知識,而計算機專業的學生計算機方面的知識會更紮實一些。

至於畢業之後的發展,兩個專業在本科畢業的時候,其實就業是基本重合的,我個人認為沒有什麼區別。甚至在若干年前,軟體工程專業畢業的學生因為有更多的實習機會以及軟體開發行業十分景氣,就業會比計算機科學技術專業更好。至於上研究生,保研區別不太大,考研就更加沒什麼區別。而且研究生專業裡面,計算機科學與技術已經分成了計算機體系結構,軟體與理論以及計算機應用三個專業,這個問題已經不存在了。

結論就是,軟體工程專業學費貴不少,但兩個專業又差不多,要省錢就選計算機科學與技術吧。


沒啥好不好的,到了大三進實驗室都搞ai。

不如這樣,你如果打算讀研就選個好保研的(同一學校的gpa要求應該一致,但由於院系人數不同,難度就不同),如果打算工作,就選個校企關係密切的。


這是一個老生常談的知乎日經問題了。。。。。。

首先,我們要搞清楚這兩個專業所對應的研究領域。

軟體工程(SE,Software Engineering),強調軟體開發的工程性,使學生在掌握計算知識和技能的基礎上熟練掌握從事軟體需求分析、軟體設計、軟體測試、軟體維護和軟體項目管理等工作所必需的基礎知識

計算機科學(CS,Computer Science),是系統性研究信息與計算的理論基礎以及它們在計算機系統中如何實現與應用的實用技術的學科。看上去很繞,我個人理解即研究如何用計算機處理信息和數據。

一般來說,基本的編程語言,數據結構與演算法,離散數學,OS,計算機網路,資料庫等基礎課這兩個專業都要學。

在這些基礎課程之上,CS會開設許多理論方向課,除了偏理論的計算理論,程序設計語言理論,編譯原理,人工智慧,計算機圖形學等課程之外,也會開設置Distributed System,ParallelComputing等軟體系統拓展課程。但總體而言我們可以發現,CS課程的核心以及主要的研究方向仍然是演算法和理論。

而軟工會開設軟體需求分析、軟體設計、軟體測試、軟體維護和軟體項目管理等課程以滿足學生的工作技能需求,偏向於工程思維的構建,也就是便於學生就業,區別於計科面向科研。

值得一提的是,國內CS教學其實更像國外的CE(Computer Engineering)教學模式,主張軟體和硬體並重,會教很多電路和Architecture的東西,然後很多人誤認為計科和軟工的區別在於學不學硬體,這是不對的,我覺得二者的劃分其實很直接,顧名思義,一個科學思維,側重演算法和理論,一個工程思維,側重實踐和應用。

至於應屆生就業,這兩個專業沒什麼區別,一般要收計科的崗位肯定也會收軟工,反之亦然,因為這兩個專業的基礎課程都是一樣的,故不存在計科的軟體專業性不強這一說。只不過軟工確實會多一些就業實訓課程,但也不能說計科的就業技能就一定不如軟工。二者的區別在於考研,一般而言,計科的課程確實會更適合準備搞學術研究的學生就讀。

綜上,我還是建議你選CS,進可科研,退可就業。畢竟基礎打得紮實以後選擇面更寬。


推薦閱讀:
相關文章