
專業(yè)指南丨計(jì)算機(jī)科學(xué)和軟件工程,哪個(gè)更適合你
2018年高考已落下帷幕,選擇什么大學(xué)、報(bào)考什么專業(yè)又將成為考生和家長(zhǎng)要面對(duì)的難題。對(duì)于之后想成為軟件工程師的考生而言,計(jì)算機(jī)科學(xué)和軟件工程專業(yè)哪個(gè)更適合自己呢?前谷歌的軟件開發(fā)人員YK在本文中給出了自己的見解。
大家好!我叫YK,目前我正在運(yùn)營(yíng)一個(gè)YouTube的編程教育頻道,擁有20萬的訂閱量。我以前是一名Google的軟件開發(fā)人員。
聽眾經(jīng)常會(huì)問我這兩個(gè)問題:
“計(jì)算科學(xué)專業(yè)和軟件工程專業(yè)有什么區(qū)別?”
“如果我想成為軟件工程師,我應(yīng)該選擇計(jì)算機(jī)科學(xué)還是軟件工程?”
在本文中,我會(huì)回答這兩個(gè)問題,針對(duì)這兩個(gè)專業(yè)給出我的分析和建議。
專業(yè)概述
· 計(jì)算機(jī)科學(xué)是探究計(jì)算機(jī)運(yùn)行原理的學(xué)科,主要從理論和數(shù)學(xué)的角度出發(fā)。
如果你喜歡數(shù)學(xué)、邏輯學(xué),或者你想進(jìn)入計(jì)算機(jī)科學(xué)的專業(yè)領(lǐng)域,例如人工智能、機(jī)器學(xué)習(xí)、安全或圖形,那么你應(yīng)該選擇計(jì)算機(jī)科學(xué)專業(yè)。
· 軟件工程是研究軟件系統(tǒng)如何構(gòu)建的學(xué)科,包括項(xiàng)目管理、質(zhì)量保證和軟件測(cè)試等內(nèi)容。
如果你對(duì)實(shí)際操作方法更感興趣,并且想了解軟件構(gòu)建和維護(hù)的整個(gè)過程,那么你應(yīng)該選擇軟件工程專業(yè)。
計(jì)算機(jī)科學(xué)和軟件工程都包括編程和計(jì)算機(jī)科學(xué)的基礎(chǔ)知識(shí),因此選其中任何一個(gè)專業(yè)都能成為軟件開發(fā)人員。
為了明白計(jì)算機(jī)科學(xué)與軟件工程專業(yè)之間的區(qū)別,讓我們以加拿大滑鐵盧大學(xué)為例,具體看這兩個(gè)專業(yè)各自包含的課程。
之所以選擇滑鐵盧大學(xué)是因?yàn)樗哂斜泵理敿獾挠?jì)算機(jī)科學(xué)課程。
工作前景
我們首先比較一下選擇這兩個(gè)專業(yè)能找哪些工作。
以下是滑鐵盧大學(xué)關(guān)于計(jì)算機(jī)科學(xué)與軟件工程專業(yè)的畢業(yè)生所從事的工作列表:(職位,公司)
計(jì)算機(jī)科學(xué)
Web開發(fā)人員/架構(gòu)師,The Steele Group
程序員,Harry Rosen Inc.
移動(dòng)端/云開發(fā)人員,Clearbridge Associates Limited
軟件工程,General Dynamics Canada
軟件開發(fā)工程, Microsoft
Agile工程師,Pivotal Labs
業(yè)務(wù)分析師,Canadian Tire Corporation
開發(fā)者倡導(dǎo)者,Google
產(chǎn)品經(jīng)理,Dropbox
軟件工程
軟件開發(fā)人員,Tagged
軟件開發(fā)人員,IBM Canada
軟件經(jīng)理,Arius Software Corporation
軟件工程師,VistaPrint USA
軟件工程師,Harris Corporation
軟件開發(fā)人員,Accenture Inc.
技術(shù)產(chǎn)品經(jīng)理,軟件設(shè)計(jì)與開發(fā),NexJ Systems Inc
顧問,PureFacts Financial Solutions
實(shí)施顧問,Desire2Learn
可以看到,無論選擇兩者間哪個(gè)專業(yè),之后所找的工作區(qū)別并不大。
計(jì)算機(jī)科學(xué)和軟件工程專業(yè)的畢業(yè)生中,最常見的工作是軟件開發(fā)人員或軟件工程師。
還有其他相關(guān)工作,比如產(chǎn)品經(jīng)理,質(zhì)量保證分析師和技術(shù)顧問。你所從事的工作取決于你掌握的專業(yè)技能。
第一年的課程
現(xiàn)在,我們來看看每個(gè)專業(yè)的必修課程。首先比較一下第一年需要學(xué)習(xí)的課程,以滑鐵盧大學(xué)為例。
計(jì)算機(jī)科學(xué)
CS 135 - 設(shè)計(jì)功能程序
CS 136 - 算法設(shè)計(jì)和數(shù)據(jù)抽象
MATH 135 - 代數(shù)
MATH 136 - 線性代數(shù)1
MATH 137 - 微積分1
MATH 138 - 微積分2
另外還有一些選修課。
軟件工程
CS 137 - 編程原理
CS 138 - 數(shù)據(jù)抽象和實(shí)現(xiàn)
MATH 115 - 工程線性代數(shù)
MATH 117 - 工程微積分1
MATH 119 - 工程微積分2
MATH135 - 數(shù)學(xué)系代數(shù)
ECE 105 - 電氣工程物理1
ECE 106 - 電磁學(xué)
ECE 124 - 數(shù)字電路和系統(tǒng)
ECE 140 - 線性電路
SE 101 - 軟件工程方法
注:
CS:計(jì)算機(jī)科學(xué)
MATH:數(shù)學(xué)
ECE:電子與計(jì)算機(jī)工程
SE:系統(tǒng)工程
可以看到,第一年的課程也很相似。兩個(gè)專業(yè)都涵蓋了基礎(chǔ)的計(jì)算機(jī)科學(xué)課程,以及一些線性代數(shù)和微積分的數(shù)學(xué)課程。
唯一的主要區(qū)別是,軟件工程有更多的物理和電子工程課程,而計(jì)算機(jī)科學(xué)有更多的選修課。
之后的課程
那么第一年之后有哪些必修課和選修課程呢?讓我們看幾個(gè)例子:
計(jì)算機(jī)科學(xué)
MATH 239 組合學(xué)概論
STAT 230 概率
STAT 231 統(tǒng)計(jì)
CS 240 數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)管理
CS 241 序列程序基礎(chǔ)
CS 245 邏輯和計(jì)算
CS 246 面向?qū)ο筌浖_發(fā)(軟件工程專業(yè)不需要)
CS 251 計(jì)算機(jī)組織與設(shè)計(jì)
CS 341 算法
CS 350 操作系統(tǒng)
此外還有一些計(jì)算機(jī)科學(xué)選修課。
軟件工程
CHE 102 工程師化學(xué)
ECE 222 數(shù)字計(jì)算機(jī)(包含匯編語言)
ECE 358 計(jì)算機(jī)網(wǎng)絡(luò)
MATH 213 軟件工程師高等數(shù)學(xué)
MATH 239 組合學(xué)概論
STAT 206 軟件工程統(tǒng)計(jì)
MSCI 261 工程經(jīng)濟(jì)學(xué):工程師財(cái)務(wù)管理
CS 241 序列程序基礎(chǔ)
CS 240 數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)管理
CS 247 軟件工程原理 (計(jì)算機(jī)科學(xué)專業(yè)不需要)
CS 341 算法
CS 349 用戶界面(計(jì)算機(jī)科學(xué)專業(yè)不需要)
CS 343 并行和并行編程(計(jì)算機(jī)科學(xué)專業(yè)不需要)
CS 348 數(shù)據(jù)庫(kù)管理概論
SE 212 邏輯和計(jì)算
SE 350 操作系統(tǒng)
SE 465 軟件測(cè)試和質(zhì)量保證
SE 464 軟件設(shè)計(jì)和結(jié)構(gòu)
SE 463 軟件需求規(guī)格和分析
SE 490 設(shè)計(jì)項(xiàng)目
此外,還有一些計(jì)算機(jī)科學(xué)和電子工程選修課。
總結(jié)
這兩個(gè)專業(yè)對(duì)于數(shù)學(xué)和統(tǒng)計(jì)方面的要求幾乎相同,兩者都包括組合學(xué),概率和統(tǒng)計(jì)的知識(shí)。
關(guān)于計(jì)算機(jī)科學(xué)的核心知識(shí)需求也相似,包括算法,數(shù)據(jù)結(jié)構(gòu)和操作系統(tǒng)。
關(guān)鍵區(qū)別在于:
軟件工程專業(yè)在電氣工程和軟件工程基礎(chǔ)方面有更多的要求,例如軟件測(cè)試,設(shè)計(jì)和軟件需求規(guī)范。
計(jì)算機(jī)科學(xué)則能選擇更高級(jí)的計(jì)算機(jī)科學(xué)課程。你可以在大量的選修課中進(jìn)行選擇,例如安全性、軟件工程基礎(chǔ)知識(shí)、計(jì)算機(jī)視覺、機(jī)器學(xué)習(xí)和數(shù)據(jù)庫(kù)管理。
應(yīng)該選擇哪個(gè)專業(yè)?
選擇哪個(gè)專業(yè)主要取決于你的喜好。
簡(jiǎn)而言之:
如果你喜歡數(shù)學(xué)、邏輯學(xué),或者如果你想進(jìn)入計(jì)算機(jī)科學(xué)的專業(yè)領(lǐng)域,比如人工智能,機(jī)器學(xué)習(xí),安全或圖形,那你應(yīng)該選擇計(jì)算機(jī)科學(xué)。
如果你對(duì)實(shí)際操作更感興趣,并且想要了解軟件構(gòu)建和維護(hù)的整個(gè)過程,則那你應(yīng)該選擇軟件工程。
如果想成為軟件工程師,哪個(gè)專業(yè)更好?
根據(jù)滑鐵盧大學(xué)具體的課程要求來看,如果你想成為一名軟件工程師,那么計(jì)算機(jī)科學(xué)是更好的選擇。
假設(shè)你想在美國(guó)從事高薪(每年約10萬美元)的軟件工程師工作,這些工作通常在大型軟件公司(例如微軟,谷歌,亞馬遜等)或中型、高增長(zhǎng)企業(yè)(例如Dropbox,Lyft,Snapchat,Pinterest等)。
通常,這些公司希望軟件工程師能夠編寫可靠的代碼并構(gòu)建有趣的項(xiàng)目,并且熟練掌握數(shù)據(jù)結(jié)構(gòu)和算法等計(jì)算機(jī)科學(xué)基礎(chǔ)知識(shí)。
我認(rèn)為培養(yǎng)這些技能的最好方法是,快速學(xué)習(xí)計(jì)算機(jī)科學(xué)基礎(chǔ)知識(shí),花時(shí)間練習(xí)解決問題和編寫代碼。
我認(rèn)為根據(jù)軟件工程的課程,以及該專業(yè)課業(yè)的繁重程度,比起計(jì)算機(jī)科學(xué)專業(yè),軟件工程專業(yè)能夠支配的時(shí)間和精力更少。
計(jì)算機(jī)科學(xué)專業(yè)的另一個(gè)好處是能夠選擇更多的選修課。這很好,因?yàn)槟憧梢愿鶕?jù)就業(yè)市場(chǎng)的需求調(diào)整課程。例如,如果移動(dòng)應(yīng)用程序開發(fā)需求很多,你就可以針對(duì)這方面進(jìn)行學(xué)習(xí)。如果并行計(jì)算的需求多,你則可以學(xué)習(xí)這方面。
當(dāng)然學(xué)習(xí)軟件工程基礎(chǔ)知識(shí)(項(xiàng)目管理、設(shè)計(jì)、測(cè)試等)也很有幫助。但我更希望有更多的時(shí)間學(xué)習(xí)特定的技能。這就是為什么我認(rèn)為要成為軟件工程師,計(jì)算機(jī)科學(xué)是更好的專業(yè)選擇。
但這只是我的個(gè)人看法,如果你有不同的看法,或有計(jì)算機(jī)科學(xué)、軟件工程專業(yè)的學(xué)習(xí)經(jīng)歷,請(qǐng)給我留言。
注意
· 不同的大學(xué)對(duì)這兩個(gè)專業(yè)有不同的要求。你應(yīng)該根據(jù)具體學(xué)校的課程進(jìn)行選擇。
· 一些大學(xué)沒有軟件工程專業(yè)。例如,溫哥華的不列顛哥倫比亞大學(xué)有計(jì)算機(jī)科學(xué)和計(jì)算機(jī)工程學(xué)位,沒有軟件工程專業(yè)。但是計(jì)算機(jī)科學(xué)專業(yè)和計(jì)算機(jī)工程專業(yè)都有軟件工程課程。
如果你感興趣的大學(xué)沒有軟件工程專業(yè),而且你想成為軟件開發(fā)人員,那么我建議選擇計(jì)算機(jī)科學(xué)專業(yè)。與計(jì)算機(jī)科學(xué)或軟件工程相比,計(jì)算機(jī)工程更側(cè)重于硬件,因此與一般的軟件開發(fā)人員的工作相關(guān)性較小。
參考來源
滑鐵盧大學(xué)計(jì)算機(jī)科學(xué)
https://uwaterloo.ca/future-students/programs/computer-science
滑鐵盧大學(xué)軟件工程
https://uwaterloo.ca/future-students/programs/software-engineering
感謝您的閱讀,祝愿您選到心儀的大學(xué)和專業(yè)!
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長(zhǎng)度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長(zhǎng)序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠(chéng)摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡(jiǎn)稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測(cè)分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢(shì)預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測(cè)分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭(zhēng)搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢(shì)性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢(shì)性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢(shì)與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢(shì)變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國(guó)內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場(chǎng)調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場(chǎng)調(diào)研是企業(yè)洞察市場(chǎng)動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場(chǎng)調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03