Computer Engineering
Software Engineering
區別是什麽(me) ?該如何選擇?
CS CE SE 前言
近幾年計算機行業(ye) 發展迅猛,畢業(ye) 生薪資不斷刷新記錄,也使計算機專(zhuan) 業(ye) 變成國內(nei) 外最熾手可熱的一個(ge) 專(zhuan) 業(ye) 選擇。很多學生選擇計算機行業(ye) 是衝(chong) 著這個(ge) 行業(ye) 的未來發展和高薪,但是計算機行業(ye) 的不同工種有著不一樣的工作內(nei) 容,相對應的本科計算機專(zhuan) 業(ye) 也有不同的學習(xi) 內(nei) 容和要求,為(wei) 了能更好地結合自己的專(zhuan) 業(ye) 特長和未來職業(ye) 發展願景,選對本科專(zhuan) 業(ye) 是非常重要的。而計算機專(zhuan) 業(ye) 的申請是非常高難度的,我們(men) 也建議學生一定要盡早了解不同的計算機專(zhuan) 業(ye) 的學習(xi) 內(nei) 容,從(cong) 而盡早確定適合自己發展的計算機專(zhuan) 業(ye) ,盡早根據專(zhuan) 業(ye) 要求做好相應的規劃準備。
今天,我們(men) 就來介紹下,當下最熱門的計算機專(zhuan) 業(ye) :計算機科學-Computer Science, 計算機工程-Computer Engineering, 軟件工程-Software Engineering。
01 計算機科學
· 什麽(me) 是計算機科學?
計算機科學(computer science,縮寫(xie) CS)是係統性研究信息與(yu) 計算的理論基礎,以及它們(men) 在計算機係統中如何實現與(yu) 應用的學科。計算機科學主要研究的部分是計算機係統,研究的是整個(ge) 係統和程序通過什麽(me) 樣的技術,能夠將信息和數據完整的展現出來。
計算機科學包含很多分支領域,有些強調特定結果的計算,有些是探討計算問題的性質,有些領域專(zhuan) 注怎麽(me) 樣實現計算:比如編程語言理論是研究描述計算的方法,而程序設計是應用特定的編程語言解決(jue) 特定的計算問題,人機交互領域專(zhuan) 注於(yu) 怎麽(me) 樣使計算機和計算變的有用好用以及隨時隨地為(wei) 人所用。所以計算機科學的研究內(nei) 容大體(ti) 可以分成以下幾個(ge) 大領域:
• 可計算性—— 研究計算機程序能做什麽(me) 和不能做什麽(me)
• 算法和複雜性理論—— 研究如何使程序更高效的執行特定任務
• 數據結構和數據庫—— 研究程序如何存取不同類型的數據並整理展示,提高工作效率
• 人工智能—— 研究程序如何顯得更具有智慧,提高效率,改進運作方式
• 人機互動—— 研究人類如何與(yu) 程序溝通,如何與(yu) 計算機對話
有很多人會(hui) 誤以為(wei) 計算機科學就是解決(jue) 計算機問題的事業(ye) ,比如信息技術,或者隻是使用計算機的經驗有關(guan) 。其實計算機科學所關(guan) 注的,不僅(jin) 僅(jin) 是理解實現類似遊戲瀏覽器這些軟件和程序的性質,而是如何用新的知識創造新的軟件或者改進現有的軟件。
在北美,大部分計算機專(zhuan) 業(ye) 是位於(yu) 科學係Faculty of Science旗下的。計算機科學專(zhuan) 業(ye) 比較適合擅長用邏輯和批判性思維來解決(jue) 問題的學生,計算機科學專(zhuan) 業(ye) 的學生首先要了解編程語言,算法,和操作係統。計算機科學通常需要學習(xi) 統計學,微積分和高級代數等數學課程,以及涵蓋了抽象數據和算法等內(nei) 容的計算機課程,從(cong) 而進入高階的專(zhuan) 業(ye) 課程的學習(xi) 。需要注意的是,與(yu) 工科專(zhuan) 業(ye) 不同的是,計算機科學會(hui) 學習(xi) 大量理論知識,目的是讓學生在了解如何運用所學知識的時候要理解為(wei) 什麽(me) 這樣做。
02 計算機工程
· 什麽(me) 是計算機工程?
計算機工程(Computer Engineering, 簡稱CE),是從(cong) 計算機的工程設計的角度,研究電路、電子、VLSI設計等等,是一門偏應用的學科,性質是工科。計算機工程是計算機科學和電子工程的交叉學科專(zhuan) 業(ye) 。計算機工程更關(guan) 注微處理器如何工作、設計以及優(you) 化,需要考慮如何在電子元件之間實現有效傳(chuan) 輸數據;如何設計電子元件的綜合係統、如何處理軟件內(nei) 指令以及如何針對特定的硬件平台編寫(xie) 、編譯和優(you) 化軟件。
所以在北美我們(men) 可以看到計算機工程CE是開設在工程科係旗下Faculty of Engineering, 性質是工科。很多院校開設的計算機工程專(zhuan) 業(ye) ,其實是和電子電氣工程相結合的叫做Electronic and Computer Engineering,ECE。比如加拿的多倫(lun) 多大學和UBC大學,以及美國的MIT都是這樣開設的。在其他有的院校雖然電氣工程和計算機工程是分開的,但是計算機工程的學習(xi) 內(nei) 容裏麵還是會(hui) 包含很多電氣工程的基礎課程。
與(yu) 計算機科學不同的是,ECE的學生在大一大二的基礎課都是電子電氣課程,計算機科學課程,物理課,電子電路等課程,學生可以在高年級的時候再選擇不同的側(ce) 重分支,比如是側(ce) 重在電子電路方麵,還是計算機硬件方麵,還是研究軟件對計算機硬件處理等方麵。從(cong) 這個(ge) 角度來看,CE也可以看作是計算機科學CS與(yu) 電子電氣工程EE專(zhuan) 業(ye) 的結合。
· 計算機科學和計算機工程的區別?
計算機科學CS更專(zhuan) 注在軟件層麵,計算機工程CE會(hui) 軟件和硬件方麵都會(hui) 涉及還會(hui) 鏈接到電氣電路方麵的內(nei) 容。
CS會(hui) 比CE少學一些電子工程方麵的課程,而多學一些數學統計和計算機編程等軟件方麵的課程,CS也會(hui) 更多學一些理論課程,不僅(jin) 是知道如何做,而是為(wei) 什麽(me) 這樣做。
CE的學生擁有對電路、電子學和VLSI設計的非常深厚的認知,而這些都是現代計算機實際結構中至關(guan) 重要的;CS的學生更多學習(xi) 的是代數、計算和編程語言,這些構成了程序設計和程序計算的基礎。
圖片來源 | Thinkful
03 軟件工程
· 什麽(me) 是軟件工程?
軟件工程(Software Engineering, 簡稱SE)是一門研究用工程化方法構建和維護有效的,實用的,和高質量的軟件的學科。軟件工程專(zhuan) 業(ye) 涉及到程序設計語言,數據庫,軟件開發工具,軟件係統評標,軟件係統標準,軟件係統設計模式等方麵。
總的來說,軟件工程是“生產(chan) 一個(ge) 最終滿足需求且達到工程目標的軟件產(chan) 品的過程”。一個(ge) 軟件產(chan) 品的產(chan) 生,是需要從(cong) 前期的設計和分析,到係統的架構,到具體(ti) 寫(xie) 代碼運行,以及進行測試等等。所以一個(ge) 軟件產(chan) 品有不同的領域的人才來共同完成。所以軟件工程師,根據所處領域的不同可以分為(wei) :係統分析員,軟件設計師,係統架構,程序員,測試員等等。人們(men) 常常用程序員來廣泛指各種軟件工程師。
· 計算機科學和軟件工程的區別?都會(hui) 學習(xi) 軟件,那區別是什麽(me) ?
計算機科學主要從(cong) 理論和數學的角度研究計算機如何工作。如果你喜歡數學,邏輯學,或者你想進入CS的某個(ge) 專(zhuan) 業(ye) 領域,例如人工智能,機器學習(xi) ,計算機網絡安全或圖形,或者你想以後繼續深造,進行更高級別的計算機軟件方麵的研究,計算機科學的理論和基礎訓練會(hui) 更幫助到你。
軟件工程研究如何構建軟件係統,包括諸如項目管理,質量保證和軟件測試等。如果你對實際操作方法更感興(xing) 趣,並且想要了解軟件構建和維護的整個(ge) 生命周期以及軟件構建的整個(ge) 設計運行,那軟件工程會(hui) 更加適合你的選擇。
計算機科學和軟件工程都是學習(xi) 編程和計算機科學的基礎知識,因此如果隻是為(wei) 了成為(wei) 軟件開發員,做程序員,做碼農(nong) ,進入行業(ye) 工作,那你可以任選其一。
圖片來源 | Thinkful
總 結
大家如果對計算機科學,計算機工程,以及軟件工程的想要了解更深入,我們(men) 非常建議學生們(men) 可以到目標大學的網站上去看具體(ti) 計算機科學,計算機工程,和軟件工程專(zhuan) 業(ye) 在大一至大四都有要求什麽(me) 具體(ti) 的專(zhuan) 業(ye) 課,從(cong) 而看到你的目標院校在計算機專(zhuan) 業(ye) 方麵的側(ce) 重點,是否與(yu) 你未來的職業(ye) 目標更相符。
在選擇具體(ti) 的計算機專(zhuan) 業(ye) 的時候,我們(men) 建議學生一定要對自己的能力,興(xing) 趣,和未來職業(ye) 發展願景出發,來找到最適合自己的計算機專(zhuan) 業(ye) 。比如計算機科學會(hui) 學習(xi) 很多高等數學,統計,編程,算法等課程, 要求學生需要具備很好的邏輯思維能力和數學能力。計算機工程會(hui) 學到物理和電子電路等方麵的知識,會(hui) 要求學生除了基本的數學能力以外,物理等科學課程也要有良好基礎。而軟件工程會(hui) 在本科期間學到更多軟件工程,軟件設計,構建,運行等一係列課程,更符合畢業(ye) 後想做軟件工程師的同學們(men) 。
所以我們(men) 建議大家在選擇計算機專(zhuan) 業(ye) 的時候,一定要清晰了解自己擅長什麽(me) ,未來的目標是想做什麽(me) ,從(cong) 而在高中階段做好相應規劃準備!
評論已經被關(guan) 閉。